SimpleDailyRangeBreakExpert - 페이지 11

 

시작 시간에 추가된 이 "3600" 값을 스스로에게 묻습니다. 이 시간 이동이 나에게 명확하지 않게 만듭니다. 이고라드가 도움이 될 수 있습니다.

string TimeTrade = "00:00";

StartTime = StrToTime(TimeTrade) + TimeShift*3600;

if(CurTime() >= StartTime && CurTime() <= StartTime+3600)

{

if ( OrderOpenDate() < StrToTime(TimeToStr( StartTime,TIME_DATE)))

{

if( ScanTrades()>0 && !BuyInTrade && !SellInTrade) PendOrdDel();

Today = StrToTime(TimeToStr( StartTime,TIME_DATE));

if (Today != PrevDay )

{ DaysInTrade = DaysInTrade+1;

//Print(" Days=",DaysInTrade,"Today=",TimeToStr(Today,TIME_DATE),"PrevDay=", TimeToStr(PrevDay,TIME_DATE)) ;

}

if( TradePeriod > 0 )CloseOrdbyTime();

}

if(ScanTrades()<1 && Today != PrevDay )

{

spread= MarketInfo(Symbol(),MODE_SPREAD)*Point;

digit = MarketInfo(Symbol(),MODE_DIGITS);

Lotsi = MoneyManagement ( MM, Lots, MMRisk, LossMax);

//if (TrailingStop > 0) InitialStop=true;

ArrayCopyRates(rates_h1, Symbol(), PERIOD_H1);

open = rates_h1[0][1];

high=0; low=10000000;

for (i=24;i>=1;i--)

{

high = MathMax( high, rates_h1[3]);

low = MathMin( low , rates_h1[2]);

}

range =(high-low);

if ( Monday == 1 ) if(DayOfWeek()==1){BuyOrdOpen(); SellOrdOpen();}

if ( Tuesday == 1 ) if(DayOfWeek()==2){BuyOrdOpen(); SellOrdOpen();}

if ( Wednesday== 1 ) if(DayOfWeek()==3){BuyOrdOpen(); SellOrdOpen();}

if ( Thursday == 1 ) if(DayOfWeek()==4){BuyOrdOpen(); SellOrdOpen();}

if ( Friday == 1 ) if(DayOfWeek()==5){BuyOrdOpen(); SellOrdOpen();}

DaysInTrade = 0;

}

}
 

이 3600 값은 시간을 초 단위로 변환한 것 같습니다. 그것은 내가 @ 09:00 브로커 시간(gmt+0)에서 시작한다는 것을 의미합니다. 내 문제는 다른 곳에 있습니다.

 

안녕하세요 플라이톡스입니다.

지금 이 EA를 살펴보겠습니다(보통 하루에 한 번 흥미로운 내용을 게시하는 진술을 하고 있습니다). 이 EA를 metaEditor로 열어 다음을 확인합니다.

- Ea가 일부 Tracert 파일을 사용 중일 수 있습니다.

- 또는 IBFX에 대한 EURUSD m 대신 EURUSD로 코드 내에서 언급된 일부 쌍일 수 있습니다.

어쨌든, 9시에 시간을 설정하면 EA는 9시에 모든 수익성 있는 주문을 마감하고 새로운 보류 주문 을 열어야 합니다(9시에도).

나는 지금 이것을 볼 것이다.

 

나는 같은 계정(TPE, TS,)에서 다른 EA를 닫았고 SBS는 9:00(중개자 시간)에 마침내 보류 주문 을 받았습니다. 제거된 EA는 다른 매직 넘버를 가지고 있었습니다. SBS123과 다른 EA 간에 알려진 비호환성이 있습니까?

 

나는 이 1.23의 코드 내부를 살펴보았고 어떤 문제도 보지 못했습니다. 이 EA는 외부에서 어떤 파일도 사용하지 않고 어떤 표시도 사용하지 않습니다. 따라서 IBFX와 함께 작동해야 합니다.

저는 이 EA/설정(기본 설정( 이 게시물 참조))을 사용하고 있습니다. GMT+3 브로커에 대한 설정입니다. 그리고 TimeShift=9인 EURUSD 및 GBPUSD가 있습니다(현재 GMT+3인 LiteForex 서버 시간의 경우 오전 9시). , USDJPY(TimeShift=10) 및 USDCHF(TimeShift=7)입니다. GMT+3용입니다.

IBFX에 GMT+0이 있는 경우 다음과 같을 수 있습니다.

TimeShift=6 등의 EURUSD 및 GBPUSD.

 

안녕하세요 ND입니다.

다른 EA가 동일한 MT4(동일 계정)에 있을 때 발생할 수 있는 충돌에 관한 이전 게시물을 보셨습니까?

 
Flytox:
나는 같은 계정(TPE, TS,)에서 다른 EA를 닫았고 SBS는 9:00(브로커 시간)에 마침내 보류 주문을 받았습니다. 제거된 EA는 다른 매직 넘버를 가지고 있었습니다. SBS123과 다른 EA 간에 알려진 비호환성이 있습니까?

비호환성? 아니요.

2개의 EA가 주문을 수정하거나 정확히 같은 시간(분 단위 및 초 단위)에 주문을 마감/개방하려는 경우일 수 있습니다. 그러나 일반적인 경우는 아닙니다. 기본적으로 하나의 Metatrader 사본에서 3개 이상의 EA를 사용하는 것은 불가능합니다(EA가 서로 "중단"될 수 있음). 1 또는 2 또는 하나의 Metatrader 사본에 3개의 EA가 있을 수 있지만 이는 시간 프레임과도 관련이 있습니다. 예를 들어 D1 시간 프레임 등에서 작업하는 EA와 함께 M5에서 일부 스캘퍼를 사용할 수 있습니다. 프로그램으로서의 Metatrader는 동시에 2가지 일을 할 수 없기 때문에: 한 주문을 수정하고 다른 보류 주문을 분/초 단위로 정확히 같은 시간에 삭제할 수 없습니다.

이 SBS_V1.23과 관련하여 EA는 보류 중인 주문을 삭제 하고 완료될 때까지 새 주문을 여러 번 열려고 시도합니다. SBS_V1.21은 동일합니다. 메타트레이더가 지금 보류 중인 주문을 삭제할 수 없는 경우 Metatrader는 1분 후에 삭제를 시도하고, 실패하면 1분 후에 작업이 완료될 때까지 다시 한 번 시도합니다. 그래서 어떤 비호환성도 없다고 생각합니다.

유사한 EA는 SBS_v1.21 및 TPE EA입니다.

덜 위험한 것은 SBS_v1.21이고, 더 위험한 것은 TPE이며, TPE보다 더 위험한 것은 SBS_v1.23입니다(시작 예금 규모와 관련된 트레이더를 위한 위험에 따라 정렬).

EA마다 다른 매직 넘버를 사용하면 충돌이 없습니다.

물론 Metatrader의 한 복사본에서 5개의 EA를 테스트하는 경우 다른 매직 넘버가 있어도 모든 것이 될 수 있습니다. 하나의 Metatrader에 5개의 EA는 너무 많습니다.

파일:
sbs121.zip  18 kb
tpe12.zip  17 kb
 

답변 감사합니다 ND.

 

2 버전에 대한 업데이트된 설명을 찾으십시오.

테스트 기간 초의 진술은 이 게시물과 엑셀 파일을 참조하십시오. https://www.mql5.com/en/forum/173383/page79

파일:
sbs121_1.zip  18 kb
sbs123.zip  50 kb
 

SBS 1.23 버전에 대한 업데이트된 설명을 찾으십시오.

파일:
sbs23.zip  35 kb