이진 옵션 전략 테스터


MetaTrader 4 Strategy Tester로 이진 옵션 전략을 작성하고 테스트하는 방법.
목차.
이 기사에서는 바이너리 옵션 전략을 작성하고 Binary-Options-Strategy-Tester 유틸리티를 사용하여 Metatrader 4의 Strategy-Tester에서 테스트하는 방법을 보여줍니다. 기본적으로 Metatrader 4의 Strategy-Tester는 기록 데이터에 대해 전문가 자문 및 지표를 테스트 할 수 있지만 만료 시간이있는 이진 옵션을 처리 할 수는 없습니다. MetaTrader 4의 Strategy-Tester에서 자동화 된 Binary Options 전략을 테스트 할 필요가 있기 때문에 Binary-Options-Strategy-Tester는 이러한 필요에 맞는 유틸리티로 구축되었습니다.
이 개념은 다음과 같은 부분으로 구성됩니다.
이것은 Binary-Options-Strategy-Library (위 이미지에서 녹색으로 표시)를 통해 Binary-Options-Strategy-Library (Binary-Options-Strategy-Library)를 통해 통신하기 위해 표시기에 저장된 이진 옵션 전략을 작성하는 방법 Strategy-Tester (위 이미지에서 파란색으로 표시됨)를 사용하여 가상 주문을하고 백 테스트 및 전달 테스트로 결과를 계산합니다.
유의하시기 바랍니다 : 과거 데이터를 사용한 역 테스팅은 실제 미래를 나타내는 것이 아니라 전략을보다 안정적으로 얻을 수있는 근사치를 제공 할 수 있습니다.
귀하의 백 테스트의 품질은 과거 데이터에 따라 다릅니다. 따라서 고밀도 데이터 세트를 사용하는 것이 좋습니다.
Marketplace에서 Binary-Options-Strategy-Tester 유틸리티 다운로드 및 구매 :
MetaTrader의 Strategy-Tester에서 바이너리 옵션 전략을 테스트하는 테스트 프레임 워크 4.
구매 한 버전의 Binary-Options-Strategy-Tester 유틸리티가 필요한 이유는 무엇입니까?
Binary-Options 전략은 Binary-Options-Strategy-Tester의 기능을 (Binary-Options-Strategy-Library를 통해) 호출하여 가상 거래를 배치해야합니다. MQL4의 라이센스 개념과 관련하여 이는 제품에 작동 라이센스가있는 경우에만 작동합니다. 따라서 바이너리 옵션 전략 또는이 예제를 테스트하기 위해 제품을 구입해야합니다.
무료 BinaryOptionsStrategyLibrary. mqh를 다운로드하여 폴더 \ Include ([MetaTrader 4 경로 \ MQL4 \ Include]에 넣습니다.)
무료 라이브러리는 바이너리 옵션 전략을 쉽게 구축하고 Binary-Options-Strategy-Tester와 통신 할 수있는 몇 가지 기능을 제공합니다. 라이브러리에 대한 자세한 내용은 Binary-Options-Strategy-Library를 참조하십시오.
무료 KVO. mq4 표시기를 다운로드하여 \ Indicators \ Downloads 폴더 ([MetaTrader 4 경로] \ MQL4 \ Indicators \ Downloads)에 저장합니다 (컴파일 된 KVO. ex4 파일).
KVO 인디케이터는 "3.2.6 외부 인디케이터 (ex4 파일) 사용"섹션에 외부 인디케이터 및 ex4 파일에 대한 액세스를 표시하는 예제로 사용됩니다. 표시기에 대한 자세한 내용은 mql5 / en / code / 8677을 참조하십시오.
이제 "3. 바이너리 옵션 전략 예제"섹션으로 이동하여 직접 예제 코드를 작성하거나 아래 예제 코드를 다운로드하십시오.
옵션으로 BinaryOptionsStrategyExample. mq4를 다운로드하여 폴더 및 지시자 ([MetaTrader 4 경로 \ MQL4 \ 지시기)에 넣습니다 (컴파일 된 BinaryOptionsStrategyExample. ex4 파일).
이 이진 옵션 전략 예제의 코드를 다운로드하여 직접 빌드하지 않고도 실행할 수 있습니다.
필요한. ex4 파일을 컴파일하려면 MetaQuotes 언어 편집기에서. mq4 파일 (KVO. mq4 및 BinaryOptionsStrategyExample. mq4 - NOT Binary-Options-Strategy-Library. mqh)을 열고 "컴파일"버튼을 클릭하거나 MetaTrader 4를 다시 시작하십시오. 이 파일들은 설명 된 폴더에 저장되며 MetaTrader 4는 자동으로이 작업을 수행합니다.
3. 바이너리 옵션 전략 예제.
다음 단계는 Binary-Options-Strategy-Tester와 통신하기 위해 지표에 저장된 예제 Binary Options 전략을 작성하는 방법에 대한 예를 안내합니다. 직접 빌드하거나 BinaryOptionsStrategyExample. mq4의 코드를 다운로드하면됩니다.
참고 :이 전략은 유익한 이진 옵션 전략이 아닙니다! Binary-Options-Strategy-Tester 유틸리티와 통신하기 위해 지표에서 전략을 작성하는 방법을 보여주는 예일뿐입니다. 물론 당신은 스스로 수익성 높은 전략을 세워야합니다. 그러나 보시다시피이 유틸리티는 바이너리 옵션 전략을 테스트하고 개선하는 데 도움이됩니다.
3.1 바이너리 옵션 전략 정의.
먼저 전략과 변경 가능한 값 (입력 매개 변수)을 정의해야합니다. MQL4 설명서에는 iCustom 인터페이스 (docs. mql4 / indicators)를 통해 해결할 수있는 모든 기술 지표가 나와 있습니다.
서로 교차 한 후 다음 촛불을 거래하기 위해 "빠른"및 "느린"이동 평균을 사용하여 간단한 이동 평균 교차 전략을 만들고 싶다고합시다. 설명서에는 단일 이동 평균의 가치를 얻을 수있는 방법이 나와 있습니다 (docs. mql4 / indicators / ima).
더 나아가 "MA 평균 기간"(빠름과 느림)과 "적용 가격"과 "평균화 방법"에 대한 값을 선택하고자합니다. 다른 값 (예 : 심볼, 시간 프레임 및 시프트)은 테스트 케이스 (예 : 테스터가 실행되는 심볼)에 따라 다르며 자동으로 설정해야합니다. 따라서 기본적으로 이동 평균에 대해 다음 변수가 필요합니다.
십자가를 확인하기 위해 두 가지 이동 평균이 필요하기 때문에 몇 가지 기본값이있는 전략 예제에 대해 다음과 같은 입력 매개 변수가 필요합니다.
int period_slow = 10;
int method_both = 0;
int applied_price_both = 0;
3.2 바이너리 옵션 생성 전략.
Binary-Options-Strategy-Tester가 실행중인 차트에 이진 옵션 전략을 끌어다 놓는 지표를 작성해야합니다.
MetaQuotes 언어 편집기를 엽니 다 (MetaTrader 4에서 "도구"-> "MetaQuotes 언어 편집기"를 클릭하거나 F4를 누름) "새로 만들기"를 클릭하십시오 :
MQL 마법사가 나타납니다. "사용자 지정 표시기"를 선택하여 빈 표시기를 만들고 "다음"을 클릭하십시오 :
"추가"버튼을 클릭하고 "다음"을 누르면 전략의 이름, 저작권 및 입력 매개 변수와 유형 및 기본값 (초기 값)을 입력하십시오 :
탭 이벤트 핸들러에서 "OnCalculate"확인란을 선택하면이 이벤트가 모든 틱에서 전략을 확인하는 데 필요합니다. "다음"을 누르십시오 :
탭 드로잉 속성에서 디버그 값을 출력하기 위해 별도의 창이 필요하므로 "별도의 창에 표시기"확인란을 선택하십시오. "마침"을 누릅니다 :
표시기의 초기 코드가 나타납니다.
// | 저작권 2016, __martin__ |
#property copyright "저작권 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
입력 int 기간 _fast = 5;
입력 int 기간 _ 슬로우 = 10;
입력 int method_both = 0;
입력 int applied_price_both = 0;
// | 사용자 정의 인디케이터 초기화 기능 |
// --- 표시기 버퍼 매핑.
// | 사용자 정의 표시기 반복 기능 |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & high [],
const double & low [],
const double & close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int 및 spread [])
3.2.1 입력 매개 변수.
초기 입력 매개 변수는 MQL 마법사 (3.2 Create Binary Options 전략 참조)를 사용하여 만들어지며 다음 단계를 통해이를 향상시킬 것입니다.
입력 매개 변수에 대한 이동 평균의 적용 가격 및 평균화 방법에 대한 int 값을 입력하지 않으려면 method_both 및 applied_price_both의 유형이 int에서 기본값이있는 enumeration 유형으로 변경됩니다.
또한 입력 매개 변수에 대한 주석이 추가되어 주석을 변수 이름 대신 레이블로 표시합니다.
입력 int 기간 _fast = 5; // 빠른 MA 값.
입력 int 기간 _ 슬로우 = 10; // 느린 MA 값.
입력 ENUM_MA_METHOD method_both = MODE_SMA; // MA 방법.
ENUM_APPLIED_PRICE 입력 된 apply_price_both = PRICE_CLOSE; // MA가 적용된 가격.
이 수정을 통해 입력 매개 변수는 입력 매개 변수의 "레이블"뿐만 아니라 선택할 수있는 값으로 드롭 다운을 제공합니다.
3.2.2 바이너리 옵션 - 전략 - 라이브러리 포함.
\ Include 폴더 ([MetaTrader 4 경로 포함] \ MQL4 \ Include)에 라이브러리 (2. 설치 참조)를 다운로드하여 저장 한 경우 다음과 같이 라이브러리를 포함 할 수 있습니다.
// | 저작권 2016, __martin__ |
#property copyright "저작권 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
라이브러리의 내용을 변경할 필요가 없습니다!
Binary-Options-Strategy-Library는 두 개의 새로운 매개 변수를 사용하여 입력 매개 변수를 향상시킵니다.
촛불 하나만 판매하거나 촛불 당 하나의 구매 무역 만 놓으십시오 전략에 대한 새로운 촛불의 시작 부분에서만 확인하십시오.
3.2.3 CallStrategy () 추가
CallStrategy ()에 대한 호출 추가 - 전략 표시기의 OnCalculate () 함수를 사용하여 새로운 틱마다 전략을 호출합니다. CallStrategy ()는 위에서 설명한 것처럼 Binary-Options-Strategy-Library에서 제공합니다.
// | 사용자 정의 표시기 반복 기능 |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & high [],
const double & low [],
const double & close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int 및 spread [])
따라서 이진 옵션 전략 표시기에 CheckMyRules () 함수를 구현해야합니다.
3.2.4 CheckMyRules ()와 helper-function을 구현하십시오.
Binary-Options-Strategy-Library를 통해 호출되는 CheckMyRules () 함수에서 전략의 조건이 구현되고 거래는 라이브러리의 PlaceTrade () 함수를 통해 수행됩니다. 두 이동 평균의 값은 이동 평균의 값이 헬퍼 함수 GetValuesForMA ()에서 가져 오는 동안 if 조건에서 비교하기 위해 변수에 일시적으로 저장됩니다.
입력 int 기간 _fast = 5; // 빠른 MA 값.
입력 int 기간 _ 슬로우 = 10; // 느린 MA 값.
입력 ENUM_MA_METHOD method_both = MODE_SMA; // MA 방법.
ENUM_APPLIED_PRICE 입력 된 apply_price_both = PRICE_CLOSE; // MA가 적용된 가격.
// | 거래 규칙을 여기에 두십시오 - 아래 예제를보십시오. |
// | StrategyTester는이 기능을 호출하여 거래를합니다. |
// | - 함수 매개 변수를 추가하십시오. CheckMyRules (int a) |
// | - 함수 반환 유형을 변경합니다 (예 : int CheckMyRules () |
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Past = GetValueForMA (period_slow, 1);
이중 emaFast_Past = GetValueForMA (period_fast, 1);
& amp; & amp; emaFast_Current & lt; emaSlow_Past) // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
PlaceTrade (OP_SELL); // Strategy-Tester의 SELL-Trade를 배치하면 함수는 BinaryOptionsStrategyFunctions. mqh에 있습니다.
& amp; & amp; emaFast_Current & gt; emaSlow_Past) // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
PlaceTrade (OP_BUY); // Strategy-Tester의 BUY-Trade 장소는 함수는 BinaryOptionsStrategyFunctions. mqh에 있습니다.
// | 도우미 기능을 여기에 배치하십시오 (아래 예 참조).
// | 기간, 방법, 적용 가격 및 교대에 대한 MA 값을 얻으십시오. |
// | iMA ()에 대한 자세한 내용은 docs. mql4 / indicators / ima |를 참조하십시오.
double GetValueForMA (int _period, int _shift)
iMA 반환 (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
3.2.5 디버그 값을 출력하십시오.
함수 PrintDebugValue ()는 테스터가 실행되는 동안 디버그 값을 출력 할 수있는 권한을 부여합니다. 아래 예에서 이동 평균의 값은 변수 이름과 함께 라벨로 인쇄됩니다.
입력 int 기간 _fast = 5; // 빠른 MA 값.
입력 int 기간 _ 슬로우 = 10; // 느린 MA 값.
입력 ENUM_MA_METHOD method_both = MODE_SMA; // MA 방법.
ENUM_APPLIED_PRICE 입력 된 apply_price_both = PRICE_CLOSE; // MA가 적용된 가격.
// | 거래 규칙을 여기에 두십시오 - 아래 예제를보십시오. |
// | StrategyTester는이 기능을 호출하여 거래를합니다. |
// | - 함수 매개 변수를 추가하십시오. CheckMyRules (int a) |
// | - 함수 반환 유형을 변경합니다 (예 : int CheckMyRules () |
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Past = GetValueForMA (period_slow, 1);
이중 emaFast_Past = GetValueForMA (period_fast, 1);
PrintDebugValue ( "emaFast_Current :", (문자열) emaFast_Current, 1); // 1 행의 라벨과 값.
PrintDebugValue ( "emaSlow_Past :", (문자열) emaSlow_Past, 2); // 2 행의 레이블 및 값.
PrintDebugValue ( "emaFast_Past :", (문자열) emaFast_Past, 3); // 3 행에 라벨을 지정하고 값을 지정합니다.
& amp; & amp; emaFast_Current & lt; emaSlow_Past) // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
PlaceTrade (OP_SELL); // Strategy-Tester의 SELL-Trade를 배치하면 함수는 BinaryOptionsStrategyFunctions. mqh에 있습니다.
& amp; & amp; emaFast_Current & gt; emaSlow_Past) // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
PlaceTrade (OP_BUY); // Strategy-Tester의 BUY-Trade 장소는 함수는 BinaryOptionsStrategyFunctions. mqh에 있습니다.
// | 도우미 기능을 여기에 배치하십시오 (아래 예 참조).
// | 기간, 방법, 적용 가격 및 교대에 대한 MA 값을 얻으십시오. |
// | iMA ()에 대한 자세한 내용은 docs. mql4 / indicators / ima |를 참조하십시오.
double GetValueForMA (int _period, int _shift)
iMA 반환 (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
외부 지시자의 사용 (ex4 파일)
또한 버퍼에 값을 저장하는 외부 표시기는 컴파일 된 ex4 파일 만 존재하는 경우에도 바이너리 옵션 전략에 액세스 할 수 있습니다.
신호 라인이 BUY 거래의 경우 0 이상이고 SELL 거래의 경우 0 인 경우에만 거래를하기 위해 KVO 표시기 mql5 / en / code / 8677의 신호 라인을 포함한다고 가정합시다. KVO. mq4 지시기를 다운로드하고 \ Indicators \ Downloads 폴더 ([MetaTrader 4 경로 \ MQL4 \ Indicators \ Downloads])에 컴파일 된 (ex4 파일)을 놓습니다.
필요한. ex4 파일을 컴파일하려면 MetaQuotes 언어 편집기에서 KVO. mq4를 열고 "컴파일"버튼을 클릭하거나 파일이 설명 된 폴더에 저장된 후 MetaTrader 4를 다시 시작하면 MetaTrader 4가 자동으로이 작업을 수행합니다.
먼저 액세스 할 관련 값을 저장하는 관련 버퍼를 식별해야합니다. 따라서 우리는 MetaTrader 4의 "데이터 창"버튼을 눌러 사용 된 표시기의 사용 가능한 모든 버퍼를 표시하고 KVO 표시기를 차트로 끌어옵니다. 차트 위에 마우스를 놓고 십자가를 가리키면 (차트 위에 마우스 휠을 올리면 십자가가 표시됩니다), 마우스를 올린 시간의 표시기의 버퍼 값이 데이터 창에 표시됩니다.
데이터 윈도우 레이블은 인디케이터의 두 번째 버퍼 값이 신호 라인을 저장한다는 것을 알려줍니다. 표시기 버퍼에 레이블이 없으면 버퍼 값과 차트 및 표시기의 십자가 아래 표시된 값을 비교하여 올바른 버퍼를 찾을 수 있습니다. 표시기의 버퍼는 0으로 시작하므로 버퍼 값 1 = 버퍼 0, 버퍼 값 2 = 버퍼 1 등이 있고 신호 값을 얻기 위해 버퍼 1에 액세스해야합니다.
다음으로 우리가 접근하고자하는 외부 지시기의 모든 입력 매개 변수를 알아야합니다. 차트의 표시기를 드레그함으로써 모든 입력 파라미터를 볼 수 있습니다 :
우리는 (기본값) 값 (34, 55, 13)으로 지표에 액세스하고자합니다. iCostum을 기반으로하는 헬퍼 함수를 ​​사용하여 다음과 같은 매개 변수로 지표의 값을 얻을 수있는 가능성을 제공합니다. 버퍼 및 시프트, shift 0은 현재 양초의 값이고, 1은 마지막 양초의 값이고, 2는 두 번째 값의 마지막 양들로 이동하는 식입니다. 또한 지표 버퍼의 값을 임시 저장하고 전략의 if-condition을 향상시킵니다.
입력 int 기간 _fast = 5; // 빠른 MA 값.
입력 int 기간 _ 슬로우 = 10; // 느린 MA 값.
입력 ENUM_MA_METHOD method_both = MODE_SMA; // MA 방법.
ENUM_APPLIED_PRICE 입력 된 apply_price_both = PRICE_CLOSE; // MA가 적용된 가격.
// | 거래 규칙을 여기에 두십시오 - 아래 예제를보십시오. |
// | StrategyTester는이 기능을 호출하여 거래를합니다. |
// | - 함수 매개 변수를 추가하십시오. CheckMyRules (int a) |
// | - 함수 반환 유형을 변경합니다 (예 : int CheckMyRules () |
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Past = GetValueForMA (period_slow, 1);
이중 emaFast_Past = GetValueForMA (period_fast, 1);
double kvoSignal = GetValuesFromIndicator__KVO __ (1, 0);
PrintDebugValue ( "emaFast_Current :", (문자열) emaFast_Current, 1); // 1 행의 라벨과 값.
PrintDebugValue ( "emaSlow_Past :", (문자열) emaSlow_Past, 2); // 2 행의 레이블 및 값.
PrintDebugValue ( "emaFast_Past :", (문자열) emaFast_Past, 3); // 3 행에 라벨을 지정하고 값을 지정합니다.
& amp; & amp; emaFast_Current & lt; emaSlow_Past // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
& amp; & amp; kvoSignal & lt; 0) // KVO의 신호 값이 0 미만인지 확인하십시오.
PlaceTrade (OP_SELL); // Strategy-Tester의 SELL-Trade를 배치하면 함수는 BinaryOptionsStrategyFunctions. mqh에 있습니다.
& amp; & amp; emaFast_Current & gt; emaSlow_Past // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
& amp; & amp; kvoSignal & gt; 0) // KVO의 신호 값이 0 이상인지 확인하십시오.
PlaceTrade (OP_BUY); // Strategy-Tester의 BUY-Trade 장소는 함수는 BinaryOptionsStrategyFunctions. mqh에 있습니다.
// | 도우미 기능을 여기에 배치하십시오 (아래 예 참조).
// | 기간, 방법, 적용 가격 및 교대에 대한 MA 값을 얻으십시오. |
// | iMA ()에 대한 자세한 내용은 docs. mql4 / indicators / ima |를 참조하십시오.
double GetValueForMA (int _period, int _shift)
iMA 반환 (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | 외부 지시자로부터 값을 얻는 방법의 예 |
// | int _buffer - 지시자 버퍼 (0부터 시작) |
// | int _shift - 시프트 할 값. 0 = 현재 양초, 1 = 이전 양초 |
double GetValuesFromIndicator__KVO __ (int _buffer, int _shift = 0) // "__KVO__"을 표시기 이름으로 변경합니다.
NULL, // 테스터에서 선택한 현재 시간 틀에 대한 NULL - 변경 필요 없음.
테스터에서 선택된 현재 기호에 대해 0, // 0 - 변경 필요 없음.
"\\ Downloads \\ KVO. ex4", // 파일 경로 및 파일 이름 (*.ex4 파일)
// 지시기 입력 시작.
_shift // Shift (현재 촛불의 경우 0), _shift는 함수 매개 변수에 적용됩니다 - 변경 필요 없음.
또한 사용 된 KVO 표시기의 값으로 전략 표시기의 입력 매개 변수를 향상시키고 변수로 도우 퍼 기능의 값을 설정할 수 있습니다. 이 자습서는 예제 일 뿐이며 "가능한 한 간단하게"이 변형은 표시되지 않습니다.
3.3 완전한 코드.
아래는 Binary-Options-Strategy-Tester를 드래그하여 차트에서 테스트하고 결과를 볼 수 있도록 위의 모든 단계에서 Binary-Options-Strategy-Example의 전체 코드를 찾을 수 있습니다.
// | 저작권 2016, __martin__ |
#property copyright "저작권 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
// | 입력 매개 변수를 입력하십시오 - 아래 예제 참조 |
입력 int 기간 _fast = 5; // 빠른 MA 값.
입력 int 기간 _ 슬로우 = 10; // 느린 MA 값.
입력 ENUM_MA_METHOD method_both = MODE_SMA; // MA 방법.
ENUM_APPLIED_PRICE 입력 된 apply_price_both = PRICE_CLOSE; // MA가 적용된 가격.
// | 사용자 정의 인디케이터 초기화 기능 |
// --- 표시기 버퍼 매핑.
// | 사용자 정의 표시기 반복 기능 |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & high [],
const double & low [],
const double & close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int 및 spread [])
// | 거래 규칙을 여기에 두십시오 - 아래 예제를보십시오. |
// | StrategyTester는이 기능을 호출하여 거래를합니다. |
// | - 함수 매개 변수를 추가하십시오. CheckMyRules (int a) |
// | - 함수 반환 유형을 변경합니다 (예 : int CheckMyRules () |
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// 헬퍼 함수 GetValueForMA ()를 호출하여 값을 얻습니다. 아래 헬퍼 함수를 ​​참조하십시오.
double emaSlow_Past = GetValueForMA (period_slow, 1);
이중 emaFast_Past = GetValueForMA (period_fast, 1);
double kvoSignal = GetValuesFromIndicator__KVO __ (1, 0);
PrintDebugValue ( "emaFast_Current :", (문자열) emaFast_Current, 1); // 1 행의 라벨과 값.
PrintDebugValue ( "emaSlow_Past :", (문자열) emaSlow_Past, 2); // 2 행의 레이블 및 값.
PrintDebugValue ( "emaFast_Past :", (문자열) emaFast_Past, 3); // 3 행에 라벨을 지정하고 값을 지정합니다.
& amp; & amp; emaFast_Current & lt; emaSlow_Past // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
& amp; & amp; kvoSignal & lt; 0) // KVO의 신호 값이 0 미만인지 확인하십시오.
PlaceTrade (OP_SELL); // Strategy-Tester의 SELL-Trade를 배치하면 함수는 BinaryOptionsStrategyLibrary. mqh에 있습니다.
& amp; & amp; emaFast_Current & gt; emaSlow_Past // 느린 MA와 빠른 MA가 교차하는지 확인합니다.
& amp; & amp; kvoSignal & gt; 0) // KVO의 신호 값이 0 이상인지 확인하십시오.
PlaceTrade (OP_BUY); // Strategy-Tester의 BUY-Trade 장소는 function이 BinaryOptionsStrategyLibrary. mqh에 있습니다.
// | 도우미 기능을 여기에 배치하십시오 (아래 예 참조).
// | 기간, 방법, 적용 가격 및 교대에 대한 MA 값을 얻으십시오. |
// | iMA ()에 대한 자세한 내용은 docs. mql4 / indicators / ima |를 참조하십시오.
double GetValueForMA (int _period, int _shift)
iMA 반환 (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | 외부 표시기에서 값을 얻는 방법의 예 |
// | int _buffer - 지시자 버퍼 (0부터 시작) |
// | int _shift - 시프트 할 값. 0 = 현재 양초, 1 = 이전 양초 |
double GetValuesFromIndicator__KVO __ (int _buffer, int _shift = 0) // "__KVO__"을 표시기 이름으로 변경합니다.
NULL, // 테스터에서 선택한 현재 시간 틀에 대한 NULL - 변경 필요 없음.
테스터에서 선택된 현재 기호에 대해 0, // 0 - 변경 필요 없음.
"\\ Downloads \\ KVO. ex4", // 파일 경로 및 파일 이름 (*.ex4 파일)
// 입력기 입력을 시작하십시오.
_shift // Shift (현재 촛불의 경우 0), _shift는 함수 매개 변수에 적용됩니다 - 변경 필요 없음.
4. 백 테스트 (비디오)
다음 비디오는 MetaTrader 4의 Strategy-Tester에서 바이너리 옵션 전략의 백 테스트를 실행하는 방법을 보여줍니다.
MetaTrader 4의 Strategy-Tester에서 Binary-Options-Strategy-Tester를 시작하고 입력 매개 변수를 설정하십시오. 이진 옵션 전략 표시기를 차트에 끌어 놓고 입력 매개 변수를 설정 한 다음 "일반"탭에서 "외부 전문가 가져 오기 허용"을 선택하십시오. 차트에 사용 된 입력 매개 변수와 함께 지표를 사용하여 테스터 실행 중 값 확인 (선택 사항) 템플릿의 모든 설정 저장 - 전략 테스터의 일시 중지 버튼 (선택 사항)을 사용하여 모든 설정으로 다시 테스트 실행 Strategy-Tester 차트에서 바이너리 옵션 전략의 결과.
5. 앞으로 테스트를 실행하십시오.
Forward 테스트를 수행하려면 Binary-Options-Strategy-Tester 유틸리티와 전략 표시기를 Strategy-Tester에서 사용하는 대신 데모 또는 라이브 차트에 드래그하십시오.
데모 또는 라이브 차트에서 이진 옵션 - 전략 - 테스터 유틸리티를 드래그하고 입력 매개 변수 설정 차트에서 이진 옵션 전략 표시기를 드래그하고 입력 매개 변수를 설정 한 다음 "일반"탭에서 "외부 전문가 가져 오기 허용"을 선택하십시오. (옵션) 템플릿의 모든 설정을 저장하여 모든 설정으로 테스트를 다시 실행합니다 (선택 사항). 데모 또는 라이브에 대한 바이너리 옵션 전략의 결과를 참조하십시오 차트.
질문 : 왜 비영리 이진 옵션 전략의 예를 보여 줍니까?
답변 : 이것은 시장에서 전략을 테스트하고 개선하기 위해 Binary-Options-Strategy-Tester 유틸리티와 통신하기 위해 지표에서 전략을 작성하는 방법의 예입니다.
질문 : 이진 옵션 - Strategy-Tester는 "어레이가 범위를 벗어났습니다."라는 오류로 정확한 양의 손실이 발생한 후에 중단합니다. 왜?
답변 : 바이너리 - 옵션 - 전략 - 테스터는 테스터를 중지하고 차트에서 상황을 분석하기 위해 x를 잃은 후에 오류를 발생시킬 수 있습니다. 원하지 않으시면 설정에서 옵션을 끄십시오.
질문 : 지표에 전략을 적용하여 차트에 화살표가 표시되지 않습니다. 어떻게 된 거예요?
답변 : 차트에서 전략 표시기를 드래그하는 동안 "일반 탭"에서 "외부 전문가 가져 오기 허용"을 활성화해야합니다 (이 경우 로그 메시지에 오류가 표시됨).
질문 : "외부 전문가의 수입 허용"이 활성화 된 상태에서 지표에 작업 전략을 적용한 후 화살표가 표시되지 않습니다. 왜?
답변 : 전략은 가상 거래를하기 위해 Binary-Options-Strategy-Tester의 기능을 호출해야합니다. MQL4 라이센스 개념과 관련하여 이는 제품에 작동 라이센스가있는 경우에만 작동합니다. 따라서 제품을 구매해야합니다.
질문 : 작업중 인 지표를 끌고 차트에 화살표가 나타나지 않고 MetaTrader 4의 로그에서 "Can not call .."또는 "Can not load .."와 같은 오류가 나타납니다. 어떻게해야합니까?
답변 : BinaryOptionsStrategyLibrary. mqh의 최신 버전 (v1.00 이상)을 사용하십시오. BinaryOptionsStrategyLibrary. mqh의 코드에서 버전 태그를 확인하고 BinaryOptionsStrategyLibrary의 changelog v1.01을 확인하십시오.
질문 : Strategy-Tester 탭의 "결과", "그래프", "보고서"에 대한 결과가 없습니다. 결과를 어디에서 볼 수 있습니까?
답변 : MetaTrader 4의 Strategy-Tester는 바이너리 옵션을 처리 할 수 ​​없으므로이 탭을 사용하지 않습니다. 따라서이 유틸리티는 모든 승리와 손실을 계산하고 차트에 결과를 인쇄합니다.
단기간에 MetaTrader 4의 Strategy-Tester에서 자동화 된 Binary Options 전략을 테스트하고 브로커의 차트에서 포워드 테스트를 수행 할 수있는 가능성이 필요하기 때문에이 유틸리티는 구축되었습니다. 저는 Binary-Options-Strategy-Tester의 개념과 구현뿐만 아니라 문서화에 많은 시간을 할애했습니다. 어쩌면 그것을 할 수있는 더 좋은 방법이 있을지도 모르며 어쩌면 개선이 당신의 필요에 더 가깝게 가져올 수도 있습니다. 제발 저에게 연락하여 개선을위한 아이디어를 얻으십시오!

이진 옵션 테스터 - 바이너리 옵션 로봇을 만들고 테스트하기위한 세계 최초의 플랫폼.
이진 옵션 로봇을 온라인으로 생성하고 테스트합니다.
번개 빠른 테스트.
과거 데이터에 대한 전략을 테스트하고 눈 깜빡 할 사이에 결과를 보여줍니다.
코딩하지 않고 우수한 코드.
한 줄의 코드를 작성하지 않고 Expert Advisor를 만들 수 있습니다. 그러나 내 보낸 전문가 코드는 깨끗하고 읽기 쉽고 수정하기 쉽습니다.
Startegy Generator를 한 번 클릭하십시오.
모든 시장에 대한 전략을 생성 할 수 있습니다. 통화와 시간대를 선택하면 앱에서 나머지 작업을 처리합니다.
감각을 가진 전문가.
사전 정의 된 전략 구조 및 거래 규칙을 사용하여 논리적으로 건전한 전략 만 생성 할 수 있습니다.
바위 솔리드 지표.
당신이 알고 사랑하는 표준 MetaTrader 지표에만 의존합니다. MetaTrader 표시기를 사용하면 EA Studio가 매우 빠르고 안정적입니다.
견고성 테스트.
Expert Advisor 견고성 테스트를위한 최첨단 기술의 이점 : 몬테카를로 시뮬레이션 및 멀티 마켓 테스트.
테스트를위한 무료 액세스.
신호 및 거래 전문가를 내보내려면 구독이 필요합니다.
응용 프로그램을 자유롭게 테스트하고 생성기, 전략 모음 및 기타 모든 강력한 도구를 사용할 수 있습니다.
그러나 MetaTrader 4에 대한 전문가 신호 및 거래 전문가를 내보내려면 구독이 필요합니다.
바이너리 옵션 테스터가 당신을 이길 수있는 방법.
단일 Expert Adivsor는 실제 시장 상황에서 실패 할 수 있습니다. 우리는 각 시장에 대한 전략 포트폴리오를 만들고 (2, 5, 10 및 hellip이라고 가정 해 봅시다) 동시에 모든 거래를 수행합니다. 이것은 Binary Options Tester의 힘으로 인해 쉽습니다. 이번 주말 (또는 기타 사전 정의 된 기간)에 우리는 모든 전문가의 성과를 평가합니다. 우리는 실패한 것을 제거하고 우리가 이미 만든 새로운 것으로 대체합니다. 우리는 거래 시스템에 제한받지 않기 때문에 단일 전문가 또는 단일 시장에만 의존하지 않습니다.
품질이 최우선입니다.
이진 옵션 테스터는 100 % 네이티브 MQL 코드로 작성된 거래 및 간판 전문가를 내 보냅니다. 저희 프로그램은 제 3 자 코드를 요구하지 않으며 오류나 경고없이 MetaTrader에서 컴파일됩니다.
완전 자동화 된 워크 플로우.
예 물론! 이진 옵션 테스터는 신호 및 거래 전문가 고문을위한 전략을 수립하는 가장 진보 된 플랫폼입니다. 이를 통해 거래 로봇을 생성, 최적화 및 검증하는 완전 자동화 된 워크 플로를 사용할 수 있습니다. 이 시스템을 Strategy Reactor라고합니다.
바이너리 옵션 테스터가 중요한 이유.
Binary Options Tester에 깊은 인상을 받았습니다. 그것은 너무 강력하고 빠르며 동시에 사용하기 쉽고 그 기능에 대해 정말 흥분합니다. 솔직히 웹 애플리케이션에서 그렇게 많은 가능성을 기대하지는 않았습니다.
이진 옵션 테스터는 전문가 자문을 작성하고 분석하는 데 필요한 모든 도구를 제공합니다.
생성기는 단일 용도로 사용됩니다. 즉, 실질적으로 무제한의 전략을 제공하는 것입니다. 생성기는 자동으로 전략을 작성하고 테스트합니다. 고급 수용 기준을 사용하여 요구 사항에 맞는 최상의 전략을 선택합니다.
수집.
생성기의 최상의 전략은 컬렉션으로 이동합니다. 원하는대로 최상의 전략을 분류하고 필터링 할 수 있습니다. 이를 통해 가장 적합한 맞춤 전략을 쉽게 선택할 수 있습니다. 컬렉션이 좋은 차트로 전략을 쉽게 선택할 수있게 해주는 매우 유용한 도구라는 것을 알 수 있습니다. 컬렉션에서 전략을 클릭하면 편집기에로드됩니다.
옵티마이 저는 지표의 수치 매개 변수를 최적화하고 새로운 중단 손실 및 이익 실현을 위해 만들어진 신속한 도구입니다. Optimizer를 사용하면 샘플 밖 테스트를 수행하고 전략의 유효성을 검사하고 컬렉션에 추가 할 수 있습니다.
편집기에서 기본 전략 매개 변수, 지표 및 거래 규칙을 볼 수 있습니다. 또한이 도구를 사용하여 Generator의 전략을 검토하고 수동으로 전략을 직접 수립 할 수 있습니다. 전략에서 어떤 것을 바꿀 때마다 편집자는 통계와 균형 도표를 다시 계산합니다.
몬테카를로.
Monte Carlo는 tradign 봇의 견고성을 검증하는 가장 중요한 도구입니다. 이 프로그램은 성능을 저하시키려는 다양한 시도를합니다. 그것은 당신에게 completete 통계와 또한 Confidence 테이블을 보여줍니다.
멀티 마켓.
각기 다른 시장에서 시작품이 어떻게 작동하는지 쉽게 테스트 할 수 있습니다. 이 도구는 다른 데이터 시리즈를로드하고 한 번의 클릭으로 백 테스트를 수행합니다. 하나의 차트에 다른 균형 선이 그려져있어서 평가가 매우 쉽습니다. 자동 유효성 검사를위한 기준을 설정할 수도 있습니다.
백 테스트 통계 및 차트.
유효성 검사 기준.
프로그램이 거래 봇을 만드는 방법을 설정하는 모든 권한을가집니다.
과거 데이터.
전략 원자로.
Strategy Reactor는 전략을 수립하고 검증하기위한 자동화 된 워크 플로우입니다.
테스트를위한 무료 액세스.
신호 및 거래 전문가를 내보내려면 구독이 필요합니다.
응용 프로그램을 자유롭게 테스트하고 생성기, 전략 모음 및 기타 모든 강력한 도구를 사용할 수 있습니다.
그러나 MetaTrader 4에 대한 전문가 신호 및 거래 전문가를 내보내려면 구독이 필요합니다.
외환 소프트웨어 주식 회사
초보자 및 전문 상인을위한 자동화 된 외환 거래 소프트웨어. MetaTrader를위한 Expert Advisor를 생성, 테스트 및 내보내기하십시오.
전략 소프트웨어.
문서 도구 & amp; 가이드.
위험 공개.
선물 및 외환 거래에는 상당한 위험이 있으며 모든 투자자에게 해당되는 것은 아닙니다. 투자자는 잠재적으로 초기 투자액 전부 또는 그 이상을 잃을 수 있습니다. 위험 자본은 사람들의 금융 안보 또는 생활 방식을 위태롭게하지 않으면 서 손실 될 수있는 돈입니다. 위험 자본 만 거래에 사용하고 충분한 위험 자본을 가진 사람 만 거래를 고려해야합니다.
가상의 성과 공개.
가상의 성능 결과에는 여러 가지 고유 한 제한 사항이 있으며 그 중 일부는 여기에 설명되어 있습니다. 어떤 계정이 보여지는 것과 유사한 이익 또는 손실을 달성 할 가능성이 있거나 그렇지 않을 가능성이 높다는 표현은 없습니다. 실제로 가상의 성과 결과와 특정 거래 프로그램에 의해 실제로 달성 된 실제 결과 간에는 종종 큰 차이가 있습니다. 가설 성능 결과의 한계 중 하나는 일반적으로 뒤늦은 지혜의 도움으로 준비된다는 것입니다. 또한 가상 거래는 재무 위험을 포함하지 않으며 실제 거래의 재무 위험 영향을 완전히 설명 할 수는 없습니다. 예를 들어, 거래 손실에도 불구하고 손실을 견디거나 특정 거래 프로그램을 고수하는 능력은 실제 거래 결과에 부정적인 영향을 줄 수있는 중대한 요소입니다. 시장에 일반적으로 관련된 또는 가상의 성과 결과를 준비하는 데 완전히 설명 될 수없는 특정 거래 프로그램의 구현 및 거래 결과에 악영향을 미칠 수있는 모든 여러 가지 요인이 있습니다.
Copyright © 2006 - 2017 Forex Software Ltd. 모든 권리 보유.

이진 옵션 테스터 - 이진 옵션 전략 만들기 및 테스트.
시장을 선택하고 생성기를 시작한 다음 마술을 봅니다.
표시기 차트.
균형 차트.
빠른 발전기.
1. 역사적인 forex 자료를 적재하십시오.
2. 거래 전략을 생성하십시오.
3. 전문가를 검토하고 내보내십시오.
바이너리 옵션 테스터로 더 많은 작업을 수행 할 수 있습니다.
이진 옵션 테스터를 사용하면 프로그래밍없이 BO 로봇을 생성, 테스트 및 분석 할 수 있습니다.
실제 과거 데이터에 대한 전략의 백 테스트를 수행하고 차트 및 통계를 보여줍니다.
MetaTrader 플랫폼의 상승 신호에 대한 전문가 조언자를 생성하고 내보낼 수 있습니다.
BO 거래를 지원하는 MT 브로커에 대한 BO 거래 전략을 내보낼 수도 있습니다.
BO Tester는 시장에서 가장 빠르고 믿을 수있는 BO 전략 작성자입니다.
최고 품질의 전략 테스트 소프트웨어를 제작 한 경험은 15 년의 결과입니다.
모든 기능을 무료로 사용할 수 있습니다. 전문 고문을 내보내려면 계정이 있어야합니다.
모든 MetaTraders와 완벽하게 호환되는 100 % 네이티브 및 이해하기 쉬운 MQL 코드를 내보낼 수 있습니다.

이진 옵션 전략 테스터
검색 결과가 없습니다.
정확히 트레이딩 시뮬레이터입니다.
어떻게 이것을 나의 거래에 적용 할 수 있습니까?
Trading Simulator 용 Metatrader 표시기입니다.
이 표시기는 트레이딩 시뮬레이터를 자동으로 차트에 배치합니다. 파일을 "MQL4 / Indicators"폴더에 저장하십시오. 표시기를 사용하기 전에 도구 / 옵션 / 전문가 고문에서 "DLL 가져 오기 허용"을 선택하십시오.
그림 1 - mt4 용 바이너리 옵션 거래 시뮬레이터
트레이딩 시뮬레이터를 사용하는 방법.
그림 2 - 시뮬레이터는 바이너리 옵션 데모 계정처럼 작동합니다.
오른쪽에서 거래가 사라지는 것을 보았을 때 당황하지 마십시오. 이것은 새로운 거래를위한 공간을 마련하기위한 것입니다. 시뮬레이터를 닫은 후 실시간 거래를 할 때 데이터 폴더 / MQL4 / 파일 아래의 "csv"파일에 저장되거나 Strategy Tester 실행시 데이터 폴더 / 테스터 / 파일 아래에 모든 거래 결과가 저장됩니다.
거래 시뮬레이터를 사용하면 시장 세션이나 뉴스 캘린더 표시기와 같은 다른 MBO MT4 지표와 결합 할 수 있습니다. 이 기능은 대부분의 사람들이 보도 자료를 통해 거래하는 것을 피하고 특정 거래 세션 중에 만 거래하는 경향이 있기 때문에 매우 유용합니다. 모든 거래자는 이진 옵션을 거래 할 때 이러한 사실을 고려해야합니다. 아래 그림 (그림 3)에서 우리는 Trading Simulator에 News Calendar 및 Market Sessions 표시기를 추가 한 것을 볼 수 있습니다.
그림 3 - 시뮬레이터는 뉴스 캘린더 및 시장 세션 지표와 같은 다른 지표와 함께 작동 할 수 있습니다.
바이너리 옵션 트레이딩 시뮬레이터는 Metatrader 4의 전략 테스터를 사용하여 다른 트레이딩 전략이나 지표를 백 테스팅하는 데에도 사용할 수 있습니다. 이 기능은 정규 시장 시간 동안 실습을 할 수없는 상인에게 특히 유용하다는 사실을 발견했습니다. 전략 테스터를 사용하면 불과 몇 시간 만에 몇 주간의 데이터를 교환 할 수 있습니다. 낮이나 밤 언제든지 시장이 가까울 때에도 거래 할 수있는 능력은 트레이딩 시뮬레이터를 매우 가치 있고 유용한 도구로 만듭니다.
그림 4 - mt4 바이너리 옵션 시뮬레이터는 역사적인 뉴스 데이터와 함께 백 테스트에 사용될 수 있습니다.
성공은 어려운 사실에 달려 있으며, 이 바이너리 옵션 시뮬레이터가 제공 할 것입니다. 당신은 당신의 전략이 수익성이 있는지 여부를 빨리 알 수 있습니다. 이것은 두 가지면에서 도움이 될 것입니다. 첫 번째 전략은 실패한 전략 일 경우 새로운 전략을 개발하는 데 시간을 투자하고 투자 할 수 있다는 것입니다. 둘째, 귀하의 방법이 수익성이 있어야한다면, 당신은 그 방법을 개선하고 최대한 빨리 살아갈 수 있습니다.
나는 당신의 전략에 대한 백 테스팅이 실제 현금을 사용하는 것만 큼 현실적이지는 않지만, 미래의 전략으로 얼마나 잘 할 수 있는지에 대한 매우 현실적인 견해를 만들어 낸다는 것을 인정해야한다. 개인적으로 트레이딩 시뮬레이터는 모든 상인을위한 2 위의 학습 지원이라고 생각합니다. 번호 하나는 분명히 라이브 거래가 될 것이지만 꽤 비쌀 수 있습니다.

Comments

Popular posts from this blog

안나 coulling forex youtube

포어 forexowe

최고의 알고리즘 거래 전략