코드 기반에 Complete EA가 없는 이유는 무엇입니까? - 페이지 4

 

EA 옵션으로 추가할 사항:

- 고유한 매직 넘버 계산, 브로커가 기호 이름을 변경할 때 동일한 결과를 제공하는 완벽한 방법(예: "EURUSD"에서 "EURUSD.m"으로)

- 주문 관리 옵션(후행 정지, 손익분기점(핍 또는 psar, x 막대 높음/낮음, ma 등과 같은 다른 값), 주문 마감)

- 주문 티켓 에 의한 광범위한 주문 정보 처리(텍스트(또는 csv) 파일이 가장 간단한 적절한 방법으로 보이는 경우). GV는 제한적이며 OrderComment()는 브로커에 의해 변경될 수 있습니다.

 
IsNYOnDst 기반 구축
 datetime TimeSrvToNY( datetime timeSrv=EMPTY){       // Server time to NY time
   if (timeSrv == EMPTY) timeSrv = timeCur_srv;
       #define NY_TZ_STD - 5                    // NY is UTC-5 (STD) or UTC-4 (DST)
   int utcToNY = NY_TZ_STD + IsNYonDST(timeSrv);
   return (TimeSrvToUTC(timeSrv) + utcToNY * 3600 );   // Previous called TimeGMT
}
datetime TimeNyToSrv( datetime timeNY){
   int utcToNY = NY_TZ_STD + IsNYonDST(timeNY);
   return ( TimeUtcToSrv(timeNY - utcToNY * 3600 ) ); // Previous called TimeServer
}
 
WHRoeder , 다운로드 링크를 업데이트하고 있습니까, 아니면 이 스레드에서 제공하는 모든 업데이트로 WHRea 소스를 수동으로 "패치"해야 합니까?
 
며칠이 지나면 게시물을 업데이트할 수 없습니다.
 
알겠습니다.. 그럼 여기에 최신버전을 다시 올려주시겠습니까?
 
mbirrell :

내 사용자 지정 지표와 EA를 공유하는 것에 대해 약간 걱정이 됩니다. 내가 공유하고 모두가 이를 사용하기 시작했다면 더 이상 작동하지 않을 것이기 때문입니다... 다른 사람도 동의합니까?

좀 이기적으로 들리겠지만... 5백만에 도달하면 공유하겠습니다 ;-)

실제로 모든 사람들이 당신의 E를 사용한다면 시장 가격은 0이거나 무한이 될 것입니다. 누구나 동시에 사고 팔고 싶어할 것입니다.
 

안녕하세요 여러분, 간단하고 일반적인 솔루션만 원한다면 MQL4 튜토리얼의 예제로 충분합니까?

내 EA는 틱이 아닌 막대별로 거래하고 계산합니다.


int Fun_Error(int Error) // 에러 처리 함수
{
스위치(오류)
{ // 중대한 오류는 아님
case 4: Alert("거래 서버가 사용 중입니다. 다시 시도하십시오..");
수면(3000); // 간단한 솔루션
반환(1); // 함수 종료
case 135:Alert("가격이 변경되었습니다. 다시 시도하세요..");
새로 고침 비율(); // 새로 고침 빈도
반환(1); // 함수 종료
case 136:Alert("가격이 없습니다. 새 틱을 기다리는 중입니다..");
while(RefreshRates()==false) // 새 틱까지
수면(1); // 루프에서 일시 중지
반환(1); // 함수 종료
case 137:Alert("브로커가 사용 중입니다. 다시 시도합니다..");
수면(3000); // 간단한 솔루션
반환(1); // 함수 종료
case 146:Alert("거래 하위 시스템이 사용 중입니다. 다시 시도합니다..");
수면(500); // 간단한 솔루션
반환(1); // 함수 종료
// 치명적인 오류
사례 2: Alert("일반적인 오류입니다.");
리턴(0); // 함수 종료
사례 5: Alert("이전 터미널 버전입니다.");
작업=거짓; // 작업 종료
리턴(0); // 함수 종료
사례 64: Alert("계정이 차단되었습니다.");
작업=거짓; // 작업 종료
리턴(0); // 함수 종료
case 133:Alert("거래가 금지되어 있습니다.");
리턴(0); // 함수 종료
case 134:Alert(" 작업을 실행할 자금이 부족 합니다.");
리턴(0); // 함수 종료
기본값: Alert("오류 발생: ",오류); // 기타 변형
반환(0); // 함수 종료
}
}

 

이것은 정말 좋은 EA Shell /Template의 기초가 될 수 있습니다. WHR은 숙련된 MT 코더입니다.

이것은 원래 유용한 EA 코드의 소스로 의도되었으며 "플러그 앤 플레이" 셸이 아닙니다.

이 EA를 몇 가지 방법으로 업데이트했습니다.

1. 현재 버전의 MQL4에서 컴파일되도록 구문, 변수 이름을 수정했습니다.
또한 매우 작은 변경 사항을 추가하여 "Big Be"로 주석을 달았습니다.

2. WHR이 스레드에 넣은 모든 추가 코드 섹션을 통합했습니다.
나는 자리를 떠났지만 대체 된 섹션에 주석을 달았습니다.
이 섹션을 추가할 때 오류가 발생할 수 있지만 가능한 한 주의했습니다.
나머지 EA와의 완전한 통합 부족도 가능합니다.

3. 또한 가독성을 위해 텍스트 형식을 정리하는 프로그램을 통해 실행했습니다.

전략 테스터 에서 실행을 시작합니다.
입력 규칙 설정이 귀하에게 맡겨지기 때문에 거래가 필요하지 않습니다.
나는 내 시간에 다른 요구 사항이 있기 때문에 더 이상 진행하지 않았습니다.

필요한 작업:
전체에 걸쳐 의견이 있지만 많은 사람들이 명확히 할 필요가 있습니다. 또는 존재하지 않는 경우 쓰기. 각 섹션 또는 기능은 무엇을 합니까?
한 가지 예: CallAgain()은 "쓸모 없는 틱 건너뛰기"라고 말합니다. 방법이나 논리는 무엇입니까? 트레일링 스톱의 경우 충분히 멀리 떨어져 있거나 거래 방향에 있는 틱만 사용하고 있지만 확인하려면 약간의 연구가 필요할 것입니다.

이렇게 하면 아이디어 소스로서의 역할을 더 잘 수행하고 EA 쉘/템플릿으로 작업성을 더욱 활성화할 수 있습니다.

추가 테스트:
몇 가지 입력 규칙을 추가하고 각 섹션이 해야 할 일을 하고 있는지 테스트하십시오. 이것은 전략 테스터에서 많은 연구가 필요합니다. 그리고 아마도 여기 저기에 코딩이 있어야 하는 일을 하게 될 것입니다. 그것이 작동하면 데모 계정에서 많은 테스트를 거칩니다.

경고:
적어도 하나의 기능이 불완전하고 이 코드에 오류가 있거나 허용되지 않는 whrea가 작성된 이후 Metatrader에 변경 사항이 있을 수 있습니다.

이해 없이 EA를 코딩/사용하는 것은 모든 컨트롤과 사용 방법을 이해하지 못한 채 제트기를 날리려고 하는 것과 같습니다.
그러나 원하는 대로 하십시오. 그것은 당신의 돈입니다.

요구
필요한 폭넓은 지식과 약간의 시간이 있다면 도와주세요.


빅비(BigBe)

파일:
whrea_v1.2.mq4  188 kb
 
William Roeder :

pips2dbl이 무엇인지 설명해 주시겠습니까?

 
Pooya Khamooshi : pips2dbl이 무엇인지 설명해 주시겠습니까?

PIP를 틱으로 변환합니다.

PIP는 포인트나 틱이 아닙니다.
TICK이란 무엇입니까? - MQL4 프로그래밍 포럼

포인트 를 사용한다는 것은 4자리 브로커, 외래종(예: 스프레드가 500포인트 이상인 USDZAR) 및 금속에 대한 코드 나누기를 의미합니다. PIP가 무엇인지 계산하고 포인트가 아닌 사용하십시오.
매개변수로 JPY 쌍을 관리하는 방법은 무엇입니까? - MQL4 프로그래밍 포럼
지수 포인트에 정의된 슬리피지 - 통화 쌍 - 전문가 고문 및 자동화된 거래 - MQL5 프로그래밍 포럼