CanTrade가 사실이어야 하는 거래 기준을 입력했습니까? if(CanTrade ... ... ...) 주문 = SIGNAL_BUY; if(CanTrade ... ... ...) 주문 = SIGNAL_SELL;
CanTrade가 사실이어야 하는 거래 기준을 입력했습니까? if(CanTrade ... ... ...) 주문 = SIGNAL_BUY; if(CanTrade ... ... ...) 주문 = SIGNAL_SELL;
Full과 Ronald의 코딩 제안을 모두 사용하여 EA를 다시 테스트했지만 두 방법 모두 지정된 시간 외에 거래를 했습니다. 시작/중지 시간에 대한 코딩을 확인하는 백 테스팅이 신뢰할 수 없습니까? 실제로 그것은 정의된 시간 외에 내 데모 계정에 항목을 배치했기 때문에 여전히 제대로 작동하지 않습니다.
사실 내 OrdersTotal 코드를 부정한 이전 불균형을 찾으려고 하는 동안 어딘가에 괄호를 추가했다고 생각합니다. 이제 다시 돌아가서 찾을 수 있는지 확인해야 합니다.
추천해주셔서 감사합니다, Full님. 나는 이미 비슷한 것을 가지고 있었고 작동했습니다. 시간 시작 코드를 추가하면 변경되는 이유를 잘 모르겠지만 권장 사항을 시도해 보겠습니다. int start() { bool CanTrade = 거짓; if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30)) CanTrade = True; { int 순서 = SIGNAL_NONE; int 합계, 티켓; 이중 StopLossLevel, TakeProfitLevel; datetime Current_Bar = 시간[0]; if (EachTickMode Bars != BarCount) TickCheck = False; 총계 = OrdersTotal(); 주문 = SIGNAL_NONE; 이것은 초기에 다음과 같이 정의되었습니다. #define SIGNAL_NONE 0
합계=주문총계();/반환 시장 및 보류 중인 주문 계산 if (totallt;1) {... Your Routine ...}/이 수표를 수표에 넣으면 기존 주문이 0인 경우에만 주문이 이루어집니다.
좋습니다. 그래서 Ronald의 제안을 사용하여 오류 없이 EA를 컴파일하고 시작 섹션 아래에 두었습니다. 어젯밤에 내 데모 계정에 설정했는데 여러 항목이 서로 쌓이고 내 계정이 0이 될 때까지 계속되었습니다. (TP 방향으로 진행했다면 지금 데모 계정 잔액이 충분했을 것입니다.) 올바른 위치에 있는지 궁금합니다. 어떤 이유로 여러 항목을 트리거합니다. 어떤 제안?
삽입된 코드 if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30)#91;b#93#91;/b#93;{CanTrade = True;} 네.