먼저 멋진 MT 학습 과정에 감사드립니다. 그것들이 없었다면 어떻게 mql을 빨리 배웠을지 모르겠습니다. 당신은 남자입니다!!
최근에 저는 ea를 다양한 방법으로 거래할 수 있도록 프로그래밍하여 동일한 쌍과 동일한 TF에서 여러 설정을 실행하면서 라이브 계정에서 ea를 테스트할 수 있습니다. 저는 EMA 아이디어가 마음에 들고 귀하의 기준을 사용하는 EA를 코딩했습니다. 이 버전은 동일한 TF/PAIR 또는 임의의 조합에서 다른 설정으로 거의 무제한의 EA 인스턴스를 거래할 수 있습니다. 프로그램은 MT에서 GlobalVariable을 설정하고 이를 사용하여 고유한 ID를 생성한 다음 열린 거래의 주석에 삽입합니다. 그런 다음 EA는 이 고유 ID를 기반으로 주문을 처리합니다.
또한 테스트 당시의 설정(expert/files 폴더)을 포함하는 거래 명세서와 유사한 csv 파일을 작성하는 기능 을 추가했습니다. 이 방법으로 거래한 후에는 모든 다른 EA에서 많은 거래가 이루어지므로 기본적으로 여기에서 정확한 거래 stmnts를 얻을 수 있습니다.
기본적으로 V2처럼 작동해야 합니다. 누군가가 라이브를 원할 경우를 대비하여 몇 가지 추가 기능을 추가했습니다.
프로그램은 MT에서 GlobalVariable을 설정하고 이를 사용하여 고유한 ID를 생성한 다음 열린 거래의 주석에 삽입합니다. 그런 다음 EA는 이 고유 ID를 기반으로 주문을 처리합니다.
닉
닉
이것은 귀하의 주문과 귀하의 EA가 생성할 수 있는 모든 별도의 파일을 추적하는 좋은 방법이며, 다시 한 번 귀하의 능력이 다른 사람들이 볼 수 없는 것을 볼 수 있음을 보여줍니다. 내가 이 글을 쓰는 이유는 OrderComment()를 사용하여 거래에 레이블을 지정하고 향후 문제가 있음을 발견한 동일한 작업을 수행했기 때문입니다. 그 안에;
1) comment 필드는 브로커가 여기에 자신의 코멘트를 추가할 수 있는 문자열 매개변수입니다. 예를 들어 이익실현 또는 손절매가 발생하여 주문이 마감되면 브로커가 댓글 필드에 메시지를 추가합니다. 이 사실을 인지하지 못하고 추가된 사실을 모르고 원래 댓글을 사용하여 계정 거래 내역에 액세스하면 나중에 오류가 발생할 수 있습니다. 또한 주문이 만료된 경우 귀하의 의견은 브로커 메시지와 함께 완전히 다시 작성됩니다.
2) GlobalVariable() 함수는 이중 숫자 유형입니다. OrderComment 입력으로 사용될 때 유형 문자열로 변환됩니다. 변수 유형을 혼합하는 것은 좋은 프로그래밍 습관이 아닙니다. 코드를 변경하기 위해 돌아가면 미래의 변수 혼합 일치 오류가 발생할 수 있기 때문입니다.
위에서 벗어나기 위해 OrderSend() 함수 의 MagicNumber 필드를 사용했습니다. 아래 코드는 주문 추적 및 기록 보관을 위해 설명된 대로 사용되는 고유 번호를 생성하는 데 사용하는 함수 호출입니다. 100에서 999 사이의 숫자를 생성합니다. 숫자가 사용되면 다음 EA에서 사용할 새 숫자가 1씩 증가합니다. 코드의 init() 함수 영역에 이 함수를 호출하면 시작 시 한 번만 표시되고 꺼질 때까지 EA와 함께 유지됩니다.
예시;
정수 주문 ID = 0;
정수 초기화() {
주문 ID = GetTagNumber()
...
...
...
리턴(0);
} // 초기화 종료, 함수:
그런 다음 거래, 파일 항목 등에 레이블을 지정하려는 경우 OrderID를 사용할 수 있습니다.
if( GlobalVariableCheck( "PullTag ( Do Not Delete )" ) ) {
PullNumber = GlobalVariableGet( "PullTag ( Do Not Delete )" );
} else {
PullNumber = 100;
} // End If, GlobalVariableCheck:
GlobalVariableSet( "PullTag ( Do Not Delete )", PullNumber + 1 );
if( GlobalVariableGet( "PullTag ( Do Not Delete )" ) > 999 ) {
GlobalVariableSet( "PullTag ( Do Not Delete )", 100 );
} // End If, GlobalVariableSet:
return( PullNumber );
} // End Function, GetTagNumber:
OrderID 변수는 init() 함수 외부에서 선언되어야 나머지 프로그램에서 해당 값을 볼 수 있습니다.
하한 및 상한(100 - 999)을 원하는 대로 변경하거나 상한을 제거할 수 있으며 재설정 없이 계속 증가합니다.
변수 이름이 ... "PullTag ( 삭제하지 않음 )" 가 된 이유는 이제 EA 외부에서 전역 변수를 보고 삭제할 수 있기 때문입니다. 삭제 금지는 전역 변수를 볼 때 표시되는 경고 메시지입니다. PullTag 변수를 삭제하면 다음 EA 시작 시 100에서 다시 시작됩니다. GlobalVariables는 워크 스테이션을 끄더라도 값을 유지합니다.
EMA 크로스 테스터
안녕하세요 코더스구루님!
먼저 멋진 MT 학습 과정에 감사드립니다. 그것들이 없었다면 어떻게 mql을 빨리 배웠을지 모르겠습니다. 당신은 남자입니다!!
최근에 저는 ea를 다양한 방법으로 거래할 수 있도록 프로그래밍하여 동일한 쌍과 동일한 TF에서 여러 설정을 실행하면서 라이브 계정에서 ea를 테스트할 수 있습니다. 저는 EMA 아이디어가 마음에 들고 귀하의 기준을 사용하는 EA를 코딩했습니다. 이 버전은 동일한 TF/PAIR 또는 임의의 조합에서 다른 설정으로 거의 무제한의 EA 인스턴스를 거래할 수 있습니다. 프로그램은 MT에서 GlobalVariable을 설정하고 이를 사용하여 고유한 ID를 생성한 다음 열린 거래의 주석에 삽입합니다. 그런 다음 EA는 이 고유 ID를 기반으로 주문을 처리합니다.
또한 테스트 당시의 설정(expert/files 폴더)을 포함하는 거래 명세서와 유사한 csv 파일을 작성하는 기능 을 추가했습니다. 이 방법으로 거래한 후에는 모든 다른 EA에서 많은 거래가 이루어지므로 기본적으로 여기에서 정확한 거래 stmnts를 얻을 수 있습니다.
기본적으로 V2처럼 작동해야 합니다. 누군가가 라이브를 원할 경우를 대비하여 몇 가지 추가 기능을 추가했습니다.
나는 모든 것에 감사하며 이에 대한 당신의 생각이 궁금합니다!
닉
안녕 헨드릭
설정과 TF를 알려주세요..
고맙습니다안녕하세요 헬카스입니다.
이것은 내 쌍입니다(모든 쌍의 기간은 일임)
USDJPY, EURCHF, AUDUSD, EURAUD, USDCAD, USDCHF, AUDCAD, EURCHF.
설정: 기본값; Reversal=True 및 Lot=0,1 제외
인사말!
안녕하세요 코더스구루님!
프로그램은 MT에서 GlobalVariable을 설정하고 이를 사용하여 고유한 ID를 생성한 다음 열린 거래의 주석에 삽입합니다. 그런 다음 EA는 이 고유 ID를 기반으로 주문을 처리합니다.
닉닉
이것은 귀하의 주문과 귀하의 EA가 생성할 수 있는 모든 별도의 파일을 추적하는 좋은 방법이며, 다시 한 번 귀하의 능력이 다른 사람들이 볼 수 없는 것을 볼 수 있음을 보여줍니다. 내가 이 글을 쓰는 이유는 OrderComment()를 사용하여 거래에 레이블을 지정하고 향후 문제가 있음을 발견한 동일한 작업을 수행했기 때문입니다. 그 안에;
1) comment 필드는 브로커가 여기에 자신의 코멘트를 추가할 수 있는 문자열 매개변수입니다. 예를 들어 이익실현 또는 손절매가 발생하여 주문이 마감되면 브로커가 댓글 필드에 메시지를 추가합니다. 이 사실을 인지하지 못하고 추가된 사실을 모르고 원래 댓글을 사용하여 계정 거래 내역에 액세스하면 나중에 오류가 발생할 수 있습니다. 또한 주문이 만료된 경우 귀하의 의견은 브로커 메시지와 함께 완전히 다시 작성됩니다.
2) GlobalVariable() 함수는 이중 숫자 유형입니다. OrderComment 입력으로 사용될 때 유형 문자열로 변환됩니다. 변수 유형을 혼합하는 것은 좋은 프로그래밍 습관이 아닙니다. 코드를 변경하기 위해 돌아가면 미래의 변수 혼합 일치 오류가 발생할 수 있기 때문입니다.
위에서 벗어나기 위해 OrderSend() 함수 의 MagicNumber 필드를 사용했습니다. 아래 코드는 주문 추적 및 기록 보관을 위해 설명된 대로 사용되는 고유 번호를 생성하는 데 사용하는 함수 호출입니다. 100에서 999 사이의 숫자를 생성합니다. 숫자가 사용되면 다음 EA에서 사용할 새 숫자가 1씩 증가합니다. 코드의 init() 함수 영역에 이 함수를 호출하면 시작 시 한 번만 표시되고 꺼질 때까지 EA와 함께 유지됩니다.
예시;
정수 주문 ID = 0;
정수 초기화() {
주문 ID = GetTagNumber()
...
...
...
리턴(0);
} // 초기화 종료, 함수:
그런 다음 거래, 파일 항목 등에 레이블을 지정하려는 경우 OrderID를 사용할 수 있습니다.
//«« <<<>>> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
int
GetTagNumber() { // Sets the SystemTag To....
int PullNumber = 0;
if( GlobalVariableCheck( "PullTag ( Do Not Delete )" ) ) {
PullNumber = GlobalVariableGet( "PullTag ( Do Not Delete )" );
} else {
PullNumber = 100;
} // End If, GlobalVariableCheck:
GlobalVariableSet( "PullTag ( Do Not Delete )", PullNumber + 1 );
if( GlobalVariableGet( "PullTag ( Do Not Delete )" ) > 999 ) {
GlobalVariableSet( "PullTag ( Do Not Delete )", 100 );
} // End If, GlobalVariableSet:
return( PullNumber );
} // End Function, GetTagNumber:
OrderID 변수는 init() 함수 외부에서 선언되어야 나머지 프로그램에서 해당 값을 볼 수 있습니다.
하한 및 상한(100 - 999)을 원하는 대로 변경하거나 상한을 제거할 수 있으며 재설정 없이 계속 증가합니다.
변수 이름이 ... "PullTag ( 삭제하지 않음 )" 가 된 이유는 이제 EA 외부에서 전역 변수를 보고 삭제할 수 있기 때문입니다. 삭제 금지는 전역 변수를 볼 때 표시되는 경고 메시지입니다. PullTag 변수를 삭제하면 다음 EA 시작 시 100에서 다시 시작됩니다. GlobalVariables는 워크 스테이션을 끄더라도 값을 유지합니다.
코키드카우보이
늘 그렇듯이 말을 너무 많이 합니다.
... SL/TP가 역사에 나타나지 않은 이유가 궁금했던 것처럼. 통찰력 주셔서 감사합니다! 나는 이것을 내 코드에 통합할 것이다. 이렇게 소중한 자료가 되어주셔서 정말 감사합니다!!
닉
거래단말기 창을 띄우고 계정내역 탭 클릭>단말기 아무곳에서 우클릭>메뉴라벨>댓글 클릭. 당신은 당신의 터미널 창 내에서 당신의 코멘트와 브로커로부터 추가된 코멘트를 볼 수 있을 것입니다.
코키드카우보이
예... 모든 TP/SL이 [tp][sl]로 추가되는 것을 확인했습니다. 나는 당신의 코드가 더 좋습니다.
코더 전문가 무슨 일이? 무슨 일이야 ? 포스트 369에서 마지막 버전의 ema cross ea를 다운로드했습니다. 테스트 grv에서 어떤 일이 일어나는지 알 수 있습니다. 하지만 이유를 말해줘
얘들아 제발
도와주세요. 이 EA에 REVERSAL 옵션이 포함된 이유는 무엇입니까? 나는 왜 양쪽 EMA 교차점을 역으로 거래하는지 이해가 되지 않습니다...
감사해요...
지금까지 REVERSAL true = 100핍 이상을 벌었지만 미친 짓입니다. 내 말은 EMA 교차점이 나타날 때 이 EA는 절대 반대 거래를 열 것이므로 돈을 잃을 것입니다...
찬성 추세 vs 반대 추세
얘들아 제발
도와주세요. 이 EA에 REVERSAL 옵션이 포함된 이유는 무엇입니까? 나는 왜 양쪽 EMA 교차점을 역으로 거래하는지 이해가 되지 않습니다...
감사해요...
지금까지 REVERSAL true = 100핍 이상을 벌었지만 미친 짓입니다. 내 말은 EMA 교차점이 나타날 때 이 EA는 절대 반대 거래를 열 것이므로 돈을 잃을 것입니다...글쎄, 당신은 프로 트렌드 작업을 선택할 수 있습니다.
IMHO, 역추세에서 우리는 가장 좋은 가격에 포지션을 열고 처음에는 약간의 손실을 감수한 다음 얻을 수 있는 최대 금액을 얻습니다!
데이터 부족!
코더 전문가 무슨 일이? 무슨 일이야 ? 포스트 369에서 ema cross ea의 마지막 버전을 다운로드합니다. 테스트 grv에서 어떤 일이 발생하는지 알 수 있지만 이유를 알려주세요.
오디오,
제발 울지마 .
기록 데이터가 충분하지 않은 것 같습니다.
내 등 테스트와 앞으로 테스트를 봐 !