Wednesday 7 February 2018

Forex 알고리즘 예제


알고리즘 트레이딩의 기초 : 개념과 예제.


알고리즘은 작업 또는 프로세스를 수행하기 위해 명확하게 정의 된 지침 집합입니다.


알고리즘 트레이딩 (자동 트레이딩, 블랙 박스 트레이딩, 또는 단순한 알 고 트레이딩)은 a 컴퓨터가 불가능한 속도와 빈도로 이익을 창출하기 위해 거래를하기 위해 정의 된 명령어 세트를 따르도록 프로그래밍 된 컴퓨터를 사용하는 프로세스입니다. 인간 상인. 정의 된 규칙 집합은 타이밍, 가격, 수량 또는 모든 수학적 모델을 기반으로합니다. 상인에 대한 이익 기회와는 별도로, 알 고향 거래는 시장을보다 유동적으로 만들고 무역 활동에 대한 정서적 인적 영향을 배제함으로써보다 체계적인 거래를 만듭니다. (자세한 내용은 올바른 알고리즘 트레이딩 소프트웨어 선택을 확인하십시오.)


거래자가 다음과 같은 간단한 거래 기준을 따랐다 고 가정 해보십시오.


50 일 이동 평균이 200 일 이동 평균보다 커지면 50주의 주식을 매수하십시오. 50 일 이동 평균이 200 일 이동 평균보다 낮아지면 주가는 주식의 주식을 매도합니다.


이 두 가지 간단한 지침 세트를 사용하면 정의 된 조건이 충족 될 때 주가 및 이동 평균 지표를 자동으로 모니터링하고 구매 및 판매 주문을하는 컴퓨터 프로그램을 작성하기 쉽습니다. 상인은 더 이상 실시간 가격 및 그래프를 감시하거나 수동으로 주문할 필요가 없습니다. 알고리즘 거래 시스템은 거래 기회를 정확하게 식별함으로써 자동으로 거래를 수행합니다. 이동 평균에 대한 자세한 내용은 단순 이동 평균을 참조하십시오.


[입증 된 전략과 궁극적으로 알 고리즘 트레이딩 시스템으로 작업 할 수있는 포인트 전략에 대해 자세히 알아 보려면 Investopedia Academy의 Become a Day Trader 코스를 확인하십시오. ]


알고리즘 트레이딩의 이점.


Algo-trading은 다음과 같은 이점을 제공합니다.


가능한 최상의 가격으로 실행되는 거래 신속하고 정확한 거래 주문 배치 (따라서 원하는 수준의 실행 가능성 높음) 중요한 가격 변동을 피하기 위해 정확하고 신속한 거래 시간 단축 거래 비용 절감 (아래의 구현 부족 예 참조) 여러 항목에 대한 동시 자동 점검 시장 조건 거래 배치시 수동 오류 위험 감소 사용 가능한 과거 및 실시간 데이터를 기반으로 알고리즘 백 테스팅 정서적 및 심리적 요인에 기반한 인적 자원 거래자의 실수 가능성 감소.


현재의 고액 거래의 가장 큰 부분은 고주파 거래 (high frequency trading, HFT)입니다. 이 프로그램은 미리 프로그래밍 된 지침에 따라 여러 시장 및 여러 결정 매개 변수에 걸쳐 매우 빠른 속도로 대량 주문을 활용하려고 시도합니다. (고주파 거래에 대한 자세한 내용은 고주파 거래 (HFT) 회사의 전략과 비밀을 참조하십시오.)


Algo-trading은 다음과 같은 다양한 거래 및 투자 활동에 사용됩니다.


주식을 대량 구매하지만 불특정 다수의 투자로 주식 가격에 영향을 미치기를 원하지 않는 중장기 투자자 또는 매수 측면 기업 (연기금, 뮤추얼 펀드, 보험 회사). 단기 거래자 및 매도자 측 참가자 (시장 형성 자, 투기자 및 중개인)는 자동 거래 실행의 혜택을받습니다. 또한, algo-trading은 시장에있는 판매자에게 충분한 유동성을 창출하는 데 도움을줍니다. 체계적인 거래자 (추종자, 쌍 거래자, 헤지 펀드 등)는 거래 규칙을 프로그래밍하고 프로그램이 자동으로 거래되도록하는 것이 훨씬 더 효율적이라는 것을 알게됩니다.


알고리즘 거래는 인간 상인의 직감이나 본능에 기반한 방법보다 적극적인 거래에 대한 체계적인 접근 방식을 제공합니다.


알고리즘 트레이딩 전략.


알고리즘 거래를위한 모든 전략에는 향상된 수익 또는 비용 절감 측면에서 수익성이 확인 된 기회가 필요합니다. 다음은 algo-trading에서 사용되는 일반적인 거래 전략입니다.


가장 일반적인 알고리즘 트레이딩 전략은 이동 평균, 채널 이탈, 가격 수준 이동 및 관련 기술 지표의 추세를 따릅니다. 이러한 전략은 예측이나 가격 예측을하지 않기 때문에 알고리즘 거래를 통해 구현하는 가장 쉽고 간단한 전략입니다. 거래는 바람직한 추세의 발생을 기반으로 시작되며, 이는 예측 분석의 복잡성에 빠지지 않고 알고리즘을 통해 구현하기 쉽고 직관적입니다. 위에서 언급 한 50 일과 200 일 이동 평균의 예는 인기있는 추세 전략입니다. (추세 거래 전략에 대한 자세한 내용은 추세를 활용하는 간단한 전략을 참조하십시오.)


한 시장에서 더 낮은 가격에 이중 상장 주식을 매수하고 다른 시장에서 높은 가격으로 동시에 매각하는 것은 가격 차이를 무위험 수익 또는 차익 거래로 제공합니다. 가격 차이가 수시로 존재하기 때문에 동일한 작업이 주식 대 선물 상품에 대해 복제 될 수 있습니다. 이러한 가격 차이를 식별하고 주문을하는 알고리즘을 구현하면 효율적인 방식으로 수익성있는 기회를 얻을 수 있습니다.


인덱스 펀드는 보유 자산을 각각의 벤치 마크 지수와 동등하게 유지하기 위해 재조정 기간을 정했습니다. 이는 인덱스 펀드 재조정 직전에 인덱스 펀드의 주식 수에 따라 20-80의 베이시스 포인트 이익을 제공하는 예상 거래를 활용하는 알고리즘 트레이더에게 수익성있는 기회를 창출합니다. 이러한 거래는 적시 실행과 최적의 가격을 위해 알고리즘 거래 시스템을 통해 시작됩니다.


델타 중립적 인 거래 전략과 같이 입증 된 많은 수학 모델은 포트폴리오 델타가 0으로 유지되도록 양수 및 음수 델타를 상쇄하기 위해 거래가 이루어지는 옵션과 기본 보안의 조합에 대한 거래를 허용합니다.


평균 회귀 전략은 자산의 고가와 저가가 주기적으로 평균값으로 되돌아가는 일시적인 현상이라는 생각에 기반합니다. 가격 범위를 식별하고 정의하고이를 기반으로 알고리즘을 구현하면 자산 가격이 정의 된 범위를 벗어날 때 거래가 자동으로 배치됩니다.


볼륨 가중 평균 가격 전략은 대량의 주문을 분해하고 주식 관련 과거 볼륨 프로파일을 사용하여 동적으로 결정된 작은 주문 청량을 출시합니다. 목표는 VWAP (Volume Weighted Average Price)에 가까운 주문을 실행하여 평균 가격으로 이익을 얻는 것입니다.


시간 가중 평균 가격 전략은 대량 주문을 해체하고 시작 시간과 종료 시간 사이의 균등하게 나뉘어 진 시간 슬롯을 사용하여 동적으로 결정된 작은 주문 청량을 출시합니다. 목표는 시작 및 종료 시간 사이의 평균 가격에 가까운 주문을 실행하여 시장 영향을 최소화하는 것입니다.


거래 주문이 완전히 채워질 때까지이 알고리즘은 정의 된 참여율과 시장에서 거래되는 거래량에 따라 부분 주문을 계속 전송합니다. 관련 "단계 전략"은 사용자 정의 시장 볼륨 비율로 주문을 보내고 주가가 사용자 정의 수준에 도달하면이 참여율을 높이거나 낮 춥니 다.


구현 부족 전략은 실시간 시장을 거래함으로써 주문의 실행 비용을 최소화함으로써 주문 비용을 절감하고 지연된 실행의 기회 비용으로부터 이익을 얻는 것을 목표로합니다. 이 전략은 주식 가격이 호의적으로 움직일 때 목표로하는 참여율을 높이고, 주가가 반대로 움직일 때 그것을 낮출 것이다.


다른 측면에서 "사건"을 식별하려고 시도하는 몇 가지 특별한 클래스의 알고리즘이 있습니다. 예를 들어 판매 측 시장에서 사용되는 이러한 "스니핑 알고리즘"은 대규모 주문의 구매 측면에서 알고리즘의 존재를 식별 할 수있는 내장 된 인텔리전스를 갖추고 있습니다. 이러한 알고리즘을 통한 탐지는 시장에서 대량 주문 기회를 파악하고 더 높은 가격으로 주문을 작성함으로써 이익을 얻을 수있게 해줍니다. 이것은 때로는 하이테크 전방 주행으로 확인됩니다. (고주파 거래 및 사기 행위에 대한 자세한 내용은 다음을 참조하십시오 : 주식을 온라인으로 구입할 경우 HFT에 관여 함)


알고리즘 거래에 대한 기술적 요구 사항.


컴퓨터 프로그램을 사용하여 알고리즘을 구현하는 것이 마지막 부분으로, 백 테스트가 있습니다. 문제는 식별 된 전략을 주문 거래 계정에 액세스 할 수있는 통합 된 전산 프로세스로 변환하는 것입니다. 다음이 필요합니다.


필요한 거래 전략, 고용 된 프로그래머 또는 미리 만들어진 거래 소프트웨어를 프로그래밍하기위한 컴퓨터 프로그래밍 지식 주문을하기위한 네트워크 연결 및 거래 플랫폼에 대한 액세스 주문을 할 수있는 기회를 알고리즘이 모니터 할 시장 데이터 피드에 액세스 능력 및 인프라 실제 시장에 출시되기 전에 빌드 된 시스템을 백 테스팅하기 알고리즘에서 구현 된 규칙의 복잡성에 따라 백 테스트를위한 사용 가능한 과거 데이터.


다음은 포괄적 인 예입니다 : Royal Dutch Shell (RDS)은 암스테르담 증권 거래소 (AEX)와 런던 증권 거래소 (LSE)에 상장되어 있습니다. 차익 거래 기회를 식별하는 알고리즘을 구축해 보겠습니다. 흥미로운 관찰은 거의 없습니다.


AEX는 유로화로 거래되며, LSE는 스털링 파운드로 거래됩니다. AEX는 1 시간의 시간차로 인해 LSE보다 1 시간 빠르며, 다음 두 시간 동안 동시에 거래가 이루어지며 AEX가 마감되면서 지난 1 시간 동안 LSE에서만 거래됩니다 .


이 두 시장에 상장 된 Royal Dutch Shell 주식에 대해 서로 다른 통화로 차익 거래를 할 수 있는지 알아볼 수 있습니까?


현재 시장 가격을 읽을 수있는 컴퓨터 프로그램 LSE 및 AEX의 가격 피드 GBP-EUR 환율에 대한 외환 환율 피드 주문을 올바른 교환으로 전달할 수있는 주문 배치 기능 과거 가격 피드에 대한 백 테스트 기능.


컴퓨터 프로그램은 다음을 수행해야합니다.


두 거래소의 RDS 주식의 수신 가격 피드를 읽으십시오. 사용 가능한 환율을 사용하여 한 통화의 가격을 다른 통화로 변환하십시오. 유익한 기회로 이어지는 충분히 큰 가격 불일치 (중개 비용을 할인)가 존재한다면, 낮은 가격의 거래소에서 주문하고 높은 가격의 거래소에서 주문을 판매합니다. 원하는대로 주문을 실행하면 차익 거래 이익이 발생합니다.


간단하고 쉬운! 그러나 알고리즘 트레이딩의 실행은 유지 관리 및 실행이 간단하지 않습니다. 알 고가 생성 한 거래를 배치 할 수 있다면 다른 마켓 참여자도 마찬가지입니다. 따라서 가격은 밀리 초 및 심지어 마이크로 초 단위로 변동합니다. 위의 예에서 구매 주문 거래가 실행되면 어떻게되지만 주문이 시장에 출시 될 때까지 판매 가격이 변경되지 않습니다. 당신은 개방적인 자세로 앉아 결국 귀하의 차용액 전략을 쓸모 없게 만들 것입니다.


예를 들어 시스템 장애 위험, 네트워크 연결 오류, 거래 주문과 실행 간의 시간 지연, 그리고 무엇보다 불완전한 알고리즘과 같은 추가적인 위험과 과제가 있습니다. 알고리즘이 복잡할수록 더 엄격한 백 테스팅이 필요합니다.


결론.


알고리즘의 성능을 정량적으로 분석하는 것은 중요한 역할을하므로 비판적으로 검사해야합니다. 돈을 쉽게 벌기위한 개념을 가진 컴퓨터의 도움을 받아 자동화하는 것은 흥미로운 일입니다. 그러나 시스템을 철저히 테스트하고 필요한 한계를 설정해야합니다. 분석적 거래자는 올바른 전략을 확실하게 구현하는 데 자신감을 갖기 위해 스스로 프로그래밍 및 시스템을 학습하는 것을 고려해야합니다. 신중한 사용과 철저한 거래로 수익성 높은 기회를 창출 할 수 있습니다. (자세한 내용은 자신의 Algo 거래 로봇을 코딩하는 방법을 참조하십시오.)


Forex Algorithmic Trading : 엔지니어를위한 실용적인 이야기.


아시다시피, 외환 (외환) 시장은 통화 쌍간 거래에 사용됩니다. 그러나 세계에서 가장 유동성이 높은 시장이라는 사실을 모를 수도 있습니다.


몇 년 전 호기심에 힘 입어 Meta Trader 4 거래 플랫폼에서 데모 계좌를 만들고 시뮬레이션을 (가짜 돈으로) 수행하여 Forex 거래 알고리즘 세계로 첫발을 내딛었습니다.


일주일의 '거래'후, 나는 거의 돈을 두 배로 늘 렸습니다. 내 자신의 성공에 힘 입어 나는 더 깊이 파고 결국 여러 포럼에 가입했습니다. 곧, 알고리즘 거래 시스템 (구매 또는 판매해야하는지 여부를 결정하는 규칙 세트), 사용자 지정 지표, 시장 분위기 등을 읽는 데 몇 시간을 보냈습니다.


내 첫 번째 고객.


이 무렵 우연히 나는 누군가가 간단한 거래 시스템을 자동화하기 위해 소프트웨어 개발자를 찾고 있다고 들었다. 자바로 동시 프로그래밍 (쓰레드, 세마포어, 모든 정크)을 배웠던 대학 시절이었습니다. 나는이 자동화 시스템이 내 고급 데이터 과학 과정보다 훨씬 복잡 할 수는 없다고 생각했기 때문에 그 일에 대해 물어 보았고 온보드로 나왔다.


클라이언트는 Meta Trader 4 플랫폼에서 주식 관련 작업을 수행하는 데 사용되는 함수형 프로그래밍 언어 인 MQL4로 시스템을 구축하기를 원했습니다.


거래 플랫폼 (이 경우 Meta Trader 4)의 역할은 Forex 브로커에 대한 연결을 제공하는 것입니다. 그러면 브로커는 시장에 대한 실시간 정보를 플랫폼에 제공하고 구매 / 판매 주문을 실행합니다. Forex 거래에 익숙하지 않은 독자를 위해 다음은 데이터 피드에서 제공하는 정보입니다.


Meta Trader 4를 통해 매분 (M1), 5 분마다 (M5), M15, M30, 매시간 (H1), H4, D1, W1, MN에 액세스 할 수있는 내부 기능으로 모든 데이터에 액세스 할 수 있습니다. .


현재 가격의 움직임을 틱이라고합니다. 즉, 틱은 통화 쌍에 대한 입찰가 또는 물가를 변경 한 것입니다. 활발한 시장에서는 초당 수많은 진드기가있을 수 있습니다. 느린 시장에서는 진드기없이 몇 분이 걸릴 수 있습니다. 진드기는 Forex 로봇의 심장 박동입니다.


이러한 플랫폼을 통해 주문을하면 일정 금액의 특정 통화를 구매 또는 판매합니다. 또한 중지 손실 및 이익 실현 제한을 설정합니다. 손절매 한도는 거래를 포기하기 전에 잃을 수있는 최대 핍 (가격 변동) 금액입니다. 이윤 - 이익 한도는 현금화하기 전에 누적 될 금액입니다.


클라이언트의 알고리즘 거래 사양은 간단합니다. 두 가지 지표를 기반으로하는 로봇을 원했습니다. 시장 상황을 정의하고 거래 의사 결정을 내릴 때 지표는 과거 데이터 (예 : 지난 n 일간 최고 가격 값)를 기반으로하므로 매우 유용합니다. 많은 사람들이 Meta Trader 4에 내장되어 있습니다. 그러나 고객이 관심을 가졌던 지표는 맞춤 거래 시스템에서 왔습니다.


그들은이 맞춤형 지표 중 2 개가 교차 할 때마다 그리고 특정 각도에서만 매매를하고 싶어했습니다.


손이 더러워지면서 MQL4 프로그램의 구조는 다음과 같습니다.


시작 함수는 시장이 움직일 때마다 실행되므로 모든 MQL4 프로그램의 핵심입니다 (즉, 이 함수는 틱당 한 번 실행됩니다). 이는 사용하는 시간대와 관계없이 적용됩니다. 예를 들어 H1 (한 시간) 시간대에서 작동 할 수 있지만 시작 기능은 시간대 당 수천 번 실행됩니다.


이 문제를 해결하기 위해 필자는 기간 단위로 한 번씩 함수를 실행해야했습니다.


표시기 값 가져 오기 :


지표와 지표의 교차점을 포함한 의사 결정 논리는 다음과 같습니다.


주문 발송 :


관심이 있으시면 GitHub에서 실행 가능한 완전한 코드를 찾으실 수 있습니다.


백 테스트.


알고리즘 거래 시스템을 구축하고 나면, 1) 적절하게 행동했는지, 2) 좋았 으면 좋겠다.


백 - 테스팅은 과거의 사건들 하에서 특정 (자동화 된 또는 아닌) 시스템을 테스트하는 과정입니다. 즉, 현재를 프록시로 사용하여 시스템을 테스트합니다.


MT4에는 Forex 거래 시스템을 백 테스팅 할 수있는 도구가 있습니다 (요즘에는 더 많은 기능을 제공하는 전문 도구가 많이 있습니다). 시작하려면 시간 프레임을 설정하고 시뮬레이션하에 프로그램을 실행하십시오. 이 도구는 각 장치에 대해 특정 가격으로 열어야하고 특정 가격으로 닫히고 지정된 최고 값 및 최저 값에 도달해야한다는 것을 알고 각 틱을 시뮬레이트합니다.


프로그램의 활동을 역사적인 가격과 비교 한 후에 프로그램이 올바르게 실행되고 있는지 여부를 판단 할 수 있습니다.


백 테스트에서 나는 임의의 시간 간격 동안 로봇의 반환 비율을 조사했다. 말할 필요도없이 내 고객이 부자가되지 않을 것이라는 것을 알았습니다. 결정 논리와 함께 자신이 선택한 지표가 수익성이 없었습니다. 샘플로, 다음은 M15 창에서 164 번의 작업을 통해 프로그램을 실행 한 결과입니다.


Google의 잔액 (파란색 선)이 시작 지점 아래로 완료됩니다.


매개 변수 최적화 및 그 거짓말.


백 테스트를 통해이 로봇의 유용성에주의를 기울 였지만 외부 매개 변수로 놀기 시작했을 때 전반적인 리턴 비율에 큰 차이가 있음을 알았을 때 흥미로 웠습니다. 이 특별한 과학을 매개 변수 최적화라고합니다.


나는 Return Ratio에서 외부 매개 변수의 중요성을 추측하고 시도하기위한 대략적인 테스트를 수행했으며 다음과 같은 것을 제안했습니다.


당신은 매개 변수 A를 사용해야한다고 생각할 수도 있습니다. 하지만 결정은 그다지 간단하지 않습니다. 특히 매개 변수 A의 예측 불가능성에 주목하십시오. 작은 오류 값의 경우 반환 값이 크게 변경되었습니다. 다시 말해, 매개 변수 A는 불확실성으로 인해 미래의 결과를 과대 추정 할 가능성이 높습니다.


그러나 실제로, 미래는 불확실합니다! 그래서 매개 변수 A의 반환은 불확실합니다. 사실, 최선의 선택은 예측 불가능성에 의존하는 것입니다. 종종 최대 수익은 낮지 만 우수한 예측 가능성 (덜 변동)이있는 매개 변수는 수익률이 높지만 예측 가능성이 낮은 매개 변수보다 바람직합니다.


당신이 확신 할 수있는 유일한 것은 당신이 시장의 미래를 알지 못한다는 것이며, 과거의 데이터를 기반으로 시장이 어떻게 수행 될 것인지를 생각하는 것은 실수입니다. 차례로, 당신은이 예측 불가능 성을 인정해야합니다.


이것은 우리가 매개 변수 B를 사용해야한다는 것을 반드시 의미하지는 않습니다. 왜냐하면 매개 변수 A의 하위 반환도 매개 변수 B보다 잘 수행되기 때문입니다. 이는 매개 변수 최적화가 미래에 발생할 가능성이있는 결과를 과장하는 테스트를 초래할 수 있다는 것을 보여주기위한 것으로, 그러한 생각은 분명하지 않습니다.


전반적인 Forex 알고리즘 거래 고려 사항.


첫 번째 알고리즘 외환 거래 경험이 있기 때문에 고객을 위해 여러 가지 자동화 된 거래 시스템을 구축했으며 항상 탐색 할 여지가 있음을 알려 드릴 수 있습니다. 예를 들어, 나는 최근에 "빅 피쉬 (Big Fish)"운동을 찾는 시스템을 만들었습니다. 즉, 작고 작은 단위의 거대한 pips 변형입니다. 이것은 나를 매혹시키는 주제입니다.


자신의 시뮬레이션 시스템을 구축하는 것은 Forex 시장에 대해 더 많은 것을 배우기위한 훌륭한 옵션이며 가능성은 무한합니다. 예를 들어, 한 시장 (예 : EUR / USD)에서 변동성의 함수로 가격 변동의 확률 분포를 해독하려고 시도 할 수 있으며, 어느 정도의 정확도를 사용하여 변동성 상태 별 분포를 사용하여 Montecarlo 시뮬레이션 모델을 만들 수 있습니다 네가 원해. 열망하는 독자를위한 운동으로 이것을 남겨 둘 것입니다.


Forex 세계는 압도적 인 시간이 될 수 있지만, 나는이 글이 여러분에게 어떻게 나아갈 지에 대한 몇 가지 포인트를 제공해주기를 바랍니다.


추가 독서.


요즘에는 트레이딩 시스템 자동화를 구축, 테스트 및 개선 할 수있는 툴이 많이 있습니다. 테스트 용 Blox 거래, 거래 용 NinjaTrader, 프로그래밍 용 OCaml 등이 있습니다.


나는 Forex 시장 인 신비한 세계에 대해 광범위하게 읽었습니다. 프로그래머들과 열정적 인 독자들에게 내가 추천하는 몇 가지 글을 여기있다.


스노우 크론.


무료 E. Mail 클래스.


유전 알고리즘을 사용하여 수익성있는 외환 거래 전략 수립. Cortex Neural Networks 소프트웨어의 유전자 알고리즘 Feedforward Backpropagation 신경 회로망 유전자 계산을위한 Forex 거래 기반 응용 프로그램.


이 예제는 이전 기사의 개념과 아이디어를 사용하므로 FOREX Trading Systems의 신경망 유전자 알고리즘을 먼저 읽으십시오. 필수 사항은 아니지만 먼저 읽어보십시오.


이 원본에 관하여.


먼저 면책 조항을 읽어보십시오. 이것은 Cortex Neural Networks 소프트웨어 유전 알고리즘 기능을 사용하는 예입니다. 수익성있는 거래를 수행하는 방법의 예는 아닙니다. 나는 당신의 전문가가 아니며, 귀하의 손실에 대해 책임지지도 않습니다.


Cortex Neural Networks 소프트웨어는 신경망을 가지고 있으며 앞서 논의한 FFBP는 외환 거래 전략을 선택하는 유일한 방법 일뿐입니다. 그것은 강력하고 적절한 적용을하면 훌륭한 기술입니다. 그러나 신경망을 가르치기 위해서는 "원하는 결과물"을 알아야합니다.


우리가 함수 근사를 할 때 수행하기가 쉽습니다. 함수의 "실제"값을 취합니다. 왜냐하면 우리는 그것이 무엇인지 알아야하기 때문입니다.


우리가 신경망 예측을 할 때, 신경망을 역사에 가르치는 기술 (이전 기사에서 설명한)을 사용합니다. 다시 말하면 환율을 예측하면 올바른 예측이 무엇인지 (훈련 중에) 알 수 있습니다. .


그러나 우리는 거래 시스템을 구축 할 때 환율을 알고 있다고하더라도 정확한 거래 결정이 무엇인지 알지 못합니다! 사실상, 우리는 언제든지 사용할 수있는 많은 외환 거래 전략을 가지고 있으며, 좋은 방법을 찾아야합니다 - 어떻게? 우리는 신경망의 원하는 결과물로 무엇을 공급해야합니까?


우리가 이전 기사를 읽었다면, 우리는이 문제를 해결하기 위해 속임수를 쓰고 있다는 것을 알고 있습니다. 우리는 신경망에 환율 (또는 환율 기준 지표) 예측을 수행하도록 강의 한 다음이 예측을 거래에 사용했습니다. 그런 다음, 프로그램의 신경망 부분을 벗어나서, 우리는 어떤 신경 네트워크가 최선인지 결정했습니다.


유전자 알고리즘은이 문제를 직접 처리 할 수 ​​있으며 "최상의 거래 신호 찾기"라는 문제를 해결할 수 있습니다.


이 기사에서는 그러한 프로그램을 작성하기 위해 Cortex 신경망 소프트웨어를 사용할 것입니다.


유전 알고리즘 사용.


유전자 알고리즘은 매우 잘 개발되어 매우 다양합니다. 이 기사는 Cortex Neural Networks 소프트웨어가 수행 할 수있는 것에 관한 내용이므로 Wikipedia를 사용하는 것이 좋습니다.


Cortex Neural Networks 소프트웨어를 사용하면 표시기의 값을 입력 받아 몇 가지 출력, 즉 거래 신호 (구매, 판매, 보류)를 생성하고 위치에 대한 손실 / 이익 수준을 정지시키는 신경망을 만들 수 있습니다 열릴.


물론 우리가이 신경망의 가중치를 무작위로 분류하면 거래 결과는 끔찍합니다. 그러나 그런 NN을 12 개 만들었다 고 가정 해 봅시다. 그런 다음 각 팀의 실적을 테스트하고 최고의 팀을 선정 할 수 있습니다.


이것이 NN의 "1 세대"였습니다. 2 세대를 계속하려면 수상자가 "창작"할 수 있도록해야하지만 동일한 사본을 얻지 않으려면 자손의 가중치에 임의의 노이즈를 추가하십시오.


2 세대에서는 1 세대 우승자가 있으며 불완전한 사본입니다. 다시 테스트 해 봅시다. 우리는 또 다른 승자를 얻게 될 것인데, 그것은 세대에서 다른 신경 네트워크보다 더 낫습니다.


등등. 우리는 단순히 승자가 번식하고 실재 진화와 마찬가지로 패자를 없애기 때문에 거래 시스템 (유전 알고리즘)이 어떤 것인지에 대한 사전 지식 없이도 최상의 거래 신경망을 얻을 수 있습니다.


신경망 유전자 알고리즘 : 예 0.


이것은 최초의 유전자 알고리즘 예제이고, 아주 간단한 알고리즘입니다. 우리는 예제를 통해 사용할 모든 트릭을 배우기 위해 단계별로 살펴볼 것입니다.


코드에는 인라인 코멘트가 있으므로 중요한 순간에만 집중하겠습니다.


첫째, 우리는 신경망을 만들었습니다. 그것은 무작위 무게를 사용하고 있으며, 아직 가르쳐지지 않았습니다.


그런 다음 주기적으로 MUTATION_NN fumction을 사용하여 14 개의 복사본을 만듭니다. 이 함수는 소스 뉴럴 네트워크의 복사본을 만들어 0부터 (이 경우) 0.1의 무작위 값을 모든 가중치에 더합니다.


핸들은 15 개의 NN을 배열로 유지합니다. handle은 정수형이므로 처리 할 수 ​​있습니다.


우리가 15 개의 NN을 사용하는 이유는 거래와는 아무런 관련이 없습니다. Cortex Neural Networks 소프트웨어는 최대 15 개의 라인을 동시에 차트에 표시 할 수 있습니다.


우리는 테스트에 대해 다른 접근법을 사용할 수 있습니다. 첫째, 학습 집합을 한 번에 사용할 수 있습니다. 두 번째로, 우리는 말하자면, 12000 명 (100000 명 중)의 여덟 명을 테스트 할 수 있으며 처음부터 끝까지 학습 세트를 진행할 수 있습니다. 그것은 learnigs를 다른 것으로 만들 것입니다, 우리가 신경 네트워크의 모든 특정 부분에 수익성이 있는지, 전체 집합에 대해서만 찾을 것입니다. 두 번째 방법은 데이터가 처음부터 끝까지 변하면 문제를 일으킬 수 있습니다. 그러면 네트워크가 진화하여 데이터 세트의 끝에서 거래 할 수있는 능력을 얻게되고 처음부터 거래 할 능력을 잃게됩니다.


이 문제를 해결하기 위해 데이터에서 12000 개의 레코드 조각을 무작위로 추출하여 신경망에 공급합니다.


아래에서는 각 네트워크에 대해 하나씩 하위 가중치를 추가합니다. 사실 돌연변이 tange에 대한 0.1이 유일한 선택은 아니며, 이 매개 변수조차 유전 알고리즘을 사용하여 최적화 할 수 있습니다.


새로 생성 된 NN은 15 개의 기존 NN 뒤에 추가됩니다. 이렇게하면 배열에 30 개의 NN이 있고 15 개의 기존 노드와 15 개의 NN이 있습니다. 그런 다음 두 번째 세대의 패자를 죽이기 위해 테스트의 다음 사이클을 수행 할 것입니다.


테스트를 수행하기 위해 데이터에 신경망을 적용하고 출력을 생성 한 다음이 출력을 사용하여 거래를 시뮬레이션하는 테스트 함수를 호출합니다. 거래 결과는 어떤 NN이 최선인지를 판단하는 데 사용됩니다.


nStart에서 nStart + nLearn까지 nLearn 레코드의 간격을 사용합니다. 여기서 nStart는 학습 집합 내의 임의의 지점입니다.


아래의 코드는 트릭입니다. 우리가 사용하는 이유는 유전 알고리즘이 유전 알고리즘을 만들 수 있다는 사실을 설명하는 것입니다. 그러나 그것은 반드시 최선의 알고리즘 일 필요는 없으며 또한 학습에 대한 제한을 암시한다면 우리가 결과를 향상시킬 수 있다고 제안 할 것입니다 방법.


가능한 한, 우리의 거래 시스템은 긴 거래에서 아주 잘 작동하고, 짧은 거래에서는 매우 가난합니다. 말하자면, 긴 거래가 아주 좋은 경우, 이 유전 알고리즘은 짧은 거래에서 큰 손실을 입더라도 승리 할 수 ​​있습니다.


이를 방지하기 위해 우리는 홀수의 긴 거래에 더 많은 가중치를 할당하고 짝수주기의 짧은 거래에 할당합니다. 이것은 단지 예일 뿐이며 어떤 것을 개선 할 것이라는 보장은 없습니다. 아래에서 수정에 대한 논의에서 더 자세히 설명합니다. 기술적으로, 당신은 그것을 할 필요가 없거나 그것을 다르게 할 수 있습니다.


정렬 된 배열에 이익을 추가하십시오. 그것은 삽입 위치를 반환하고, 그런 다음이 위치를 사용하여 신경망 핸들을 추가하고 정렬되지 않은 배열에 이익을 학습하고 테스트합니다. 이제 우리는 이익과 동일한 배열 인덱스에서 현재 신경 네트워크에 대한 데이터를 얻었습니다.


아이디어는 수익성별로 정렬 된 NN 배열에 도달하는 것입니다. 어레이는 이익에 따라 정렬되기 때문에 수익이 적은 네트워크의 1/2을 제거하려면 NN 0 ~ 14 만 제거하면됩니다.


거래 결정은 Neural Network 신호의 가치를 기반으로하며, 이 관점에서 프로그램은 이전 기사의 예와 동일합니다.


FOREX 무역 전략 : 예 0을 논의하십시오.


먼저 차트를 살펴 보겠습니다. 첫 번째 반복 동안 수익에 대한 첫 번째 차트는 전혀 좋지 않습니다. 신경망이 손실됩니다 (이미지 폴더에서 첫 번째 반복 후 이미지 evolution_00_gen_0.png가 복사 됨).


사이클 15에서 이익을 얻는 이미지가 더 좋으며 때로는 유전 알고리즘이 매우 빠르게 배울 수 있습니다.


그러나 채도가 수익 곡선에 표시됩니다.


커브 번호 3은 항상 같은 신경망을위한 것이 아니라, 항상 태어나고 종료된다는 점을 명심하면서 개인 이익이 어떻게 변하는지를 보는 것이 흥미 롭습니다.


또한, 외환 거래 시스템이 부족한 경우 짧은 거래에서 실적이 저조하며, 그 기간 동안 유로화에 비해 달러가 떨어지고 있다는 사실과 관련이있을 수도 있고 아닐 수도있는 long에서 훨씬 잘 수행됩니다. 또한 지표의 매개 변수와 관련이있을 수 있습니다 (아마도 반바지에 다른 기간이 필요합니다). 지표의 선택이 필요할 수 있습니다.


다음은 92 사이클과 248 사이클 후의 역사입니다.


놀랍게도 유전 알고리즘은 완전히 실패했습니다. 왜, 어떻게 상황을 돕는 지 알아 내려고합시다.


우선, 각 세대가 이전 세대보다 낫지 않다고 생각하지 않습니까? 대답은 아니오입니다. 적어도 우리가 사용한 모델은 아닙니다. 한 번에 전체 학습을 설정하고 NN을 가르치기 위해 반복적으로 사용하면 그렇습니다. 각 세대마다 향상 될 것입니다. 그러나 대신 우리는 무작위적인 조각 (12000 개의 레코드)을 가져 와서 사용했습니다.


두 가지 질문 : 시스템이 무작위로 설정된 학습 집합에서 실패한 이유는 무엇입니까? 왜 전체 학습 집합을 사용하지 않았습니까? 잘. 두 번째 질문에 대답하기 위해, 나는했다. NN은 학습 세트에서 크게 성과를 보였습니다. 테스트 세트에서 실패했습니다. FFPB 학습을 사용할 때와 동일한 이유로 실패합니다. 다른 말로 표현하자면, 우리의 NN은 과도하게 특화되어 왔고, 익숙하지 않은 환경에서 살아남을 수있는 방법을 배웠습니다. 이것은 자연에서 많은 일이 발생합니다.


대신 우리가 취한 접근법은 NN이 데이터 집합의 임의의 조각에 대해 좋은 수행을하도록함으로써 보완하기위한 것이므로 잘 알려지지 않은 테스트 집합에서 수행 할 수 있기를 바랍니다. 대신 그들은 테스트와 학습에 실패했습니다.


사막에 사는 동물을 상상해보십시오. 태양이 많고 눈이 전혀 없습니다. 이것은 우리의 NN 데이터가 환경의 역할을하기 때문에 리징 시장을위한 메타 포어입니다. 동물들은 사막에서 사는 법을 배웠습니다.


추운 기후에 사는 동물을 상상해보십시오. 눈과 태양이 전혀 없습니다. 글쎄, 그들은 조정했다.


그러나 실험에서 우리는 NN을 사막, 눈, 물, 나무에 무작위로 배치했습니다. 데이터의 다른 조각 (무작위로 상승, 떨어지는, 평평하게.)으로 그들을 제시함으로써. 동물들이 죽었다.


또는 달리 말하자면, 우리는 상승 시장을 겨냥한 무작위 데이터 세트 1을위한 최상의 신경망을 선택했습니다. 그런 다음 우승자와 자녀에게 낙찰 시장 데이터를 제공했습니다. NN은 제대로 수행되지 못했지만, 우리는 가난한 사람들, 아마도 돌연변이 어린이 중 한 명 이었지만 상승하는 시장에서 거래 할 수있는 능력을 상실했지만 낙상에 대처할 능력이있었습니다.


그런 다음 테이블을 다시 돌렸고 다시 최고의 연기자를 얻었습니다. 우리는 NN에게 보편적 인 기회를주지 않았습니다.


유전자 알고리즘은 오래된 정보에 대한 성능을 잃지 않고 새로운 정보를 학습 할 수있는 기술이 있습니다 (결국 동물은 여름과 겨울에 살 수 있습니다. 그래서 진화는 반복되는 변화를 처리 할 수 ​​있습니다). 우리는 나중에이 기술에 대해 논의 할 수 있습니다. 이 기사에서는 성공적인 외환 자동 거래 시스템을 구축하는 것보다 Cortex 신경망 소프트웨어를 사용하는 방법에 대해 자세히 설명합니다.


신경망 유전자 알고리즘 : 예 1.


이제는 교정에 대해 말할 때입니다. 이전 단계에서 생성 한 간단한 유전자 알고리즘에는 두 가지 주요 결함이 있습니다. 첫째, 이익으로 거래하지 못했습니다. 그것은 괜찮습니다, 우리는 부분적으로 훈련 된 시스템을 사용할 수 있습니다 (처음에는 수익이있었습니다). 두 번째 결함은 더 심각합니다. 우리는이 시스템이하는 일에 대해서는 통제 할 수 없습니다. 예를 들어 수익성이 있다는 것을 배울 수 있지만 엄청난 손실을 감수해야합니다.


실생활에서 진화가 하나 이상의 매개 변수를 동시에 최적화 할 수 있다는 것은 잘 알려진 사실입니다. 예를 들어 우리는 빨리 달릴 수 있고 추위에 잘 견디는 동물을 얻을 수 있습니다. 왜 우리의 외환 자동 거래 시스템에서 같은 일을하려고하지?


우리가 수정을 사용하는 것은 추가 징계의 집합 일뿐입니다. 말하자면, 우리 시스템은 drawdown 0.5로 거래하고, 0-0.3 간격으로 확인하고 싶습니다. 시스템에 실수를했다고 "알리기"위해 우리는 DD의 크기에 비례하여 그 이익을 줄입니다 (어떤 유전자 알고리즘을 결정할 지 결정했습니다). 그런 다음 진화 알고리즘이 나머지를 처리합니다.


우리가 고려해야 할 몇 가지 요소가 더 있습니다. 구매 및 판매 운영 횟수를 동일하게 유지하거나 더 많은 수익성있는 운영을 원한다면 실패로 이어질 수 있습니다. 선형 등등.


evolution_01.tsc에서 우리는 간단한 수정 세트를 구현합니다. 우선, 초기 보정 값으로 큰 숫자를 사용합니다. 우리가 적용하고자하는 "처벌"에 따라 작은 값 (일반적으로 0에서 1 사이의 값)을 곱합니다. 그런 다음 우리는이 이익에 이익을 곱합니다. 결과적으로, 유전자 알고리즘이 우리의 다른 기준과 얼마나 일치하는지 반영하기 위해 이익이 수정됩니다. 그런 다음 결과를 사용하여 승자 신경망을 찾습니다.


FOREX 무역 전략 : 토론 예 1.


예제 1은 예제 0보다 훨씬 잘 작동합니다. 처음 100 사이클 동안 많은 것을 배웠고 수익 차트는 안심했습니다. 그러나 예제 0에서와 같이 긴 거래는 훨씬 수익성이 높습니다. 이는 우리의 접근 방식에 문제가 있음을 의미합니다. 그럼에도 불구하고이 시스템은 상반되는 초기 조건들 사이의 균형을 발견했다.


학습 집합과보다 중요한 테스트 집합에서 긍정적 인 동력이 있습니다.


추후 학습에 관해서는 사이클 278에서 우리 시스템이 과도 해졌다는 것을 알 수 있습니다. 즉, 우리는 여전히 학습 집합에 진전이 있음을 의미합니다.


그러나 테스트 세트는 약점을 보여줍니다.


이것은 NN의 공통적 인 문제입니다 : 우리가 학습 집합에 대해 가르치면, 학습 집합에 대해 학습 할 때 배우고 때로는 학습 집합에서 성능을 잃어 버릴 때까지 너무 잘 학습합니다.


이 문제를 해결하기 위해 "전통적인"솔루션이 사용됩니다. 신경망은 계속해서 새로운 최고치에 도달 할 때마다 이전 세트를 덮어 쓰고 신경 쓰는 것이 좋습니다. 이것은 FFBP 교육에서 사용한 것과 같은 접근법입니다. 이번에는 코드를 추가하고 테스트 세트에서 최상의 신경망을 찾고 SAVE_NN을 호출하거나 뉴럴 네트워크의 가중치를 파일). 이렇게하면 훈련을 중단 할 때 최고의 테스트 수행자가 저장되고 기다리고 있습니다.


또한 최대 값이 아님을 유의하십시오. 이익은 있지만 최적의 성과이므로 테스트 세트에서 최고의 연기자를 찾을 때 수정을 고려하십시오.


FOREX 기술 분석을위한 유전 알고리즘 : 지금 어디 있습니까?


승자 신경망을 얻은 후에는 이전 기사에서 설명한 단계를 수행하여 해당 신경망의 가중치를 내 보낸 다음 Meta Trader, Trade Station 등과 같은 실시간 거래 플랫폼에서 사용할 수 있습니다.


또는 신경 회로망을 최적화하는 다른 방법에 집중할 수 있습니다. FFBP 알고리즘과 달리 학습 및 테스트 세트를 사용하여 avay를 얻고 순차 학습을 이동할 수 있습니다.


외환 거래 사례 (1 부)


많은 초기 거래자들은 레버리지의 개념을 완전히 이해하지 못합니다. 기본적으로 $ 5,000의 자본을 시작하고 1:50의 마진으로 거래하는 경우 $ 250,000의 자본을 효과적으로 통제 할 수 있습니다. 그러나, 당신과 자본에 대한 2 %의 이동은 완전히 사라집니다. 당신이 처음 상인이라면 편안하고 수익성이있을 때까지 1:20 이상의 여백을 사용해서는 안되며 그 다음에 만 높은 마진을 사용할 수 있습니다.


1:20 마진은 무엇을 의미합니까? 이는 $ 5,000를 사용하면 $ 100,000의 자본을 통제 할 수 있음을 의미합니다. 당신이 EUR / USD를 거래하고 있고, 우리가 진입 전략을 사용하여 장황한 거래를하기로 결정했다고 가정 해 봅시다. 즉, USD가 유로화에 대해 가치를 떨어 뜨릴 것이라는 사실을 베팅하는 것입니다.


현재 EUR / USD 금리가 1.305라고 가정 해 봅시다. 다시 말하지만, 거래 자본금이 5,000 달러이고 1:20 레버리지를 사용하고 있다면 유로화에 10 만 달러를 효과적으로 교환 할 수 있습니다. 현재 요금이 1.305 인 경우 100,000 / 1.305 = 76,628 유로를받습니다.


무역이 귀하의 방향으로가는 경우 마진이 유리하게 작용할 것이고 USD의 1 % 감소는 시작 자본의 20 % 증가를 의미합니다. 따라서 EUR / USD 요금이 1.305에서 1.318로 바뀌면 76, 628 유로를 101,000 달러로 환산하여 1,000 달러의 이익을 얻을 수 있습니다. 시작 자본금이 5,000 달러 였기 때문에 계정에서 실제로 20 % 증가했습니다. 그러나 거래가 귀하에게 불리 해지고 USD가 유로화 대비 1 %의 가치를 인정 받으면 귀하의 계정은 4,000 달러로 줄어들 것입니다. 우리의 전략이 그러한 결과를 막기 위해 힘들게 멈추었을 때 그런 일은 일어나지 않았을 것입니다.


야심 찬 상인의 가장 자주 묻는 질문은 "내가 얼마나 많은 돈을 벌 수 있느냐"입니다. 불행히도 위험에 기꺼이 얼마를 의존 하느냐에 따라 쉬운 대답은 없습니다.


거래는 위험과 보상의 함수입니다. 위험이 커질수록 더 많이 만들 수 있습니다. 간단한 예가 있습니다 : 5,000 달러짜리 계정으로 시작해서 1,000 달러를 기꺼이 부담한다고 가정 해 보겠습니다. 이제 개장 초기에 무역 거래를 할 수 있었고 1,000 달러의 수익 목표를 설정하고 1,000 달러의 손실을 막을 수있었습니다. 지난 두 달 동안의 시장 행동을 조사한 결과 수익 목표를 달성 할 수있는 가능성이 60 %라는 것을 깨닫게되었다고 가정 해 보겠습니다.


불행히도 방금 놓은 무역은 패자입니다. 그리고 당신은 전체 $ 1,000을 잃습니다. 이것이 위험을 감수하고있는 금액 이었기 때문에, 귀하는 귀하의 계좌를 해지하고 나머지 4,000 달러를 귀하의 당좌 계좌로 이체시켜 주시면됩니다.


이제 거래 당 $ 100의 위험을 감수하고 수익 목표를 $ 100로 조정했다고 가정 해 봅시다. 이제는 10 개 거래를 할 수 있습니다. 왜냐하면 10 개의 거래가 모두 패자가되어 위험을 무릅 쓰고 1000 달러를 잃어 버리기 때문입니다. 너무 수학적으로되고 싶지는 않지만 통계에 따르면 연속으로 10 개의 거래가 상실 될 확률은 1 % 미만입니다. 따라서 10 가지 거래 내에서 2 명의 승자를 확보 할 가능성이 큽니다. 거래 시스템이 과거와 동일한 성과 (60 %의 우승 비율)를 보이면 $ 200 : 4 패배 * $ 100 = - $ 400 + 6 번 승리 거래 * $ 100 = $ 600을 만들어야합니다. 이해가 되니?


다음 두 가지 옵션을 비교하십시오.


시나리오 1에서 돈을 잃을 위험은 40 %입니다. 그러나 당신이이긴다면, 당신은 1,000 달러를 벌었을 것입니다.


시나리오 2에서는 10 번의 거래 후에 돈을 잃을 위험이 1 % 미만이지만 200 달러를 벌 수있는 기회가 있습니다. 그러므로 당신은 당신이 할 수있는 금액이 그 위험의 함수이기 때문에 당신이 얼마나 위험을 감수 할 것인지를 먼저 정의 할 필요가 있습니다. 이해가 되니? 이 장의 뒷부분에서 좀 더 구체적인 예를 들어 보겠습니다.


거래해야하는 금액과 위험을 감수하고자하는 금액에는 차이가 있음을 명심하십시오. 귀하의 중개인은 항상 귀하에게 "증거금"을 요구하고 있으며 귀하는 그 증거금 요건과 귀하의 위험을 고려하여 귀하의 계좌에 자금을 조달해야합니다. 앞의 예에서 5,000 달러로 계정에 자금을 지원했지만 $ 1,000 만 위험에 처했습니다. 나중에 그 이상.


50 : 1 레버리지 : 무엇을 의미합니까?


예를 들어 최소 계좌 인 USD 10,000을 사용하면 최대 50 만 달러까지 교역 할 수 있습니다. 미화 10,000 달러는 귀하의 현재 위치 성과에 대한 보증으로서 마진에 게시됩니다.


AUD / USD 요금은 '0.7500 / 04'입니다. 이 견적은 AUD 대 USD에 대한 입찰가 / 오퍼 스프레드를 나타냅니다. 0.7504의 제안 비율은 AUD (또는 BUY AUD 및 SELL USD)를 구입할 수있는 비율입니다. 0.7500의 입찰 비율은 USD를 사기 위해 AUD를 팔 수있는 비율입니다.


호주 달러가 미국 달러에 대해 강세를 보일 것이며, BUY 또는 'long long'A $ 100,000 0.7504 (제안 가격)로 결정할 것이라고 생각합니다.


견적 (입찰 / 제안) 0.7500 / 04.


구매 가격 0.7504.


초기 지출 (1 % 마진) A $ 1,000


위의 예에서 100,000 달러 (A $)를 구입했습니다. 그러나 FX는 CMC 시장에서 마진으로 거래되기 때문에 동일한 시장 노출을 유지하기 위해 1,000 달러 (1 %) 만 있으면됩니다.


이 AUD / USD 거래의 위험은 각 포인트 이동 당 미화 10 달러에 해당합니다. 각 포인트의 가치는 0.0001입니다. 예를 들어 AUD / USD 요금이 0.7504에서 0.7505로 이동하면 10 달러의 이익을 얻습니다.


귀하의 예측은 정확하며 호주 달러는 미화에 대한 감사를 표합니다. AUD / USD의 견적은 0.7590 / 94입니다. 귀하의 지위를 닫으려면 $ 100,000 0.7590 (입찰 가격)을 매도하기로 결정하십시오.


견적 (입찰가 / 오퍼) 0.7590 / 94


판매 가격 0.7590.


이익 / 손실 US $ 860 이익.


손익은 보통 2 차 통화로 계산됩니다. 따라서 위의 AUD / USD 무역 이익 / 손실은 미화로 계산됩니다. CMC Markets을 사용하면 중개 수수료 또는 수수료가 매출 총 이익에서 제외됩니다. 밤새 자리를 지킬 경우에만 융자 비용이 부과됩니다.


무역 x의 크기 (판매 가격 - 구매 가격) = 이익 & amp; 손실 USD.


100,000 x (0.7590 - 0.7504) = 860 달러의 수익


또는 US $ 860을 A $로 0.7590의 비율로 다시 변환하십시오.


(860? 0.7590) = A $ 1,133.07의 이익.


귀하의 직위를 닫음으로써 총 이익 1,133.07 달러를 실현하게됩니다.


잘못 예상하여 0.7500에서 AUD를 팔고 나중에 0.7594에서 AUD를 산다면, 940 달러의 손실이 경험되었을 것입니다.


특정 금액의 GBP를 사고 파는 경우 먼저 거래 통화로 GBP 기호를 입력하십시오. 그런 다음 드롭 다운 메뉴에서 USD를 결제 통화로 선택하십시오. 그러면 USD / GBP의 견적을 받게됩니다. 입찰 : 1.5300 질문 : 1.5310.


즉, GBP 1 = US $ 1.53XX입니다.


GBP 10,000을 사고 싶다면 물음표를 클릭하고 10,000 파운드를 GBP로 입력하십시오. 각 GBP 당 $ 1.5300을 지불하게됩니다. 따라서 $ 15,310을 지불하게됩니다.


GBP 10,000을 판매하려면 입찰을 클릭하고 판매하고자하는 GBP의 수량을 10,000으로 입력하십시오. 각 GBP 당 $ 1.5300을 받게됩니다. 따라서 $ 15,300을 받게됩니다.


특정 금액의 달러를 사고 파는 경우. 먼저 거래 통화로 USD 기호를 입력하십시오. 그런 다음 드롭 다운 메뉴에서 결제 통화로 GBP를 선택하십시오. 그러면 견적 GBP / USD를 받게됩니다. 입찰 : 0.6530 질문 : 0.6536.


즉, USD 1 = GBP 0.653XX입니다.


미화 10,000 달러를 사고 싶다면, 물음표를 클릭하고 살고 싶은 미화 금액을 10,000으로 입력하십시오. USD 당 GBP0.6536을 지불하게됩니다. 따라서, GBP 6,536을 지불하게됩니다.


미화 10,000 달러를 판매하려면 입찰가를 클릭하고 판매하고자하는 미화 금액을 10,000으로 입력하십시오. USD 당 GBP0.6530을 받게됩니다. 따라서, GBP 6,530을 받게됩니다.

No comments:

Post a Comment