EA의 시작 시간을 설정하시겠습니까? - 페이지 3
페이지 3 중 914 먼저먼저 1234 마지막마지막
결과 21 - 30 / 32

실: EA의 시작 시간을 설정하시겠습니까?

  1. #21
    Ronald의 코드에서 가장 먼저 알아차린 것은 )가 누락된 것 같습니다. if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30) CanTrade = True; to be missing a )를 사용하여 TimeCurrent 앞의 코드에서 첫 번째 항목을 닫습니다. 옳은?

  2. #22
    아마도. 방금 첫 번째 섹션을 닫았지만(이 전체 루틴은 1개의 세그먼트일 수 있으며 체인을 더 닫아야 할 수 있음) '불균형'이라고 표시되면 믿을 수 있습니다. - 그래도 아무데나 꺼져있을 수 있습니다.

  3. #23

    Quote 원래에 의해 게시 됨 ;
    속도를 늦추고 더 나은 오류 검사를 수행하십시오. 프로그램 구조에 대한 아이디어를 얻으려면 몇 가지 작업 예제를 살펴보십시오. 아무도 여기서 프로그래밍을 가르치지 않습니다.[code]//Sell if (Order == SIGNAL_SELL ((EachTickMode !TickCheck) || (!EachTickMode (Bars != BarCount)))) {/루프 #1...
    충분히 공평하고 프로그래머에게 도전하지는 않겠지 만 시작 시간 코드를 추가하기 전에 제안한대로 루프가 닫히지 않는다는 오류가 여기에 발생하지 않았습니다. 실제로 프로그램은 오류 없이 컴파일되었고 시간 코딩을 입력할 때까지 작동했습니다. 적절한 괄호를 사용하여 올바른 위치에서 코딩을 시작하는 시간을 얻는 문제를 해결하면 됩니다.

  4. #24
    속도를 늦추고 더 나은 오류 검사를 수행하십시오. 프로그램 구조에 대한 아이디어를 얻으려면 몇 가지 작업 예제를 살펴보십시오. 아무도 여기서 프로그래밍을 가르쳐주지 않을 것입니다. 코드 삽입/Sell if (Order == SIGNAL_SELL ((EachTickMode !TickCheck) || (!EachTickMode (Bars != BarCount)))) {/루프 #1 if(!IsTrade) {/루프 #2/여유 증거금 확인 if (AccountFreeMargin() lt; (1000 *Lot)) {/루프 #3 Print(돈이 없습니다. Free Margin = , AccountFreeMargin()); return(0);}/End of Loop #3 }/End of Loop #2 }/End of Loop #1 참고: End of Parenth 라인이 올바른 라인을 가리키는 경우는 거의 없습니다. - 닫힌 루프 #1이 누락되었습니다. - 항상 {}와 ()가 일치하는지 확인하세요. 이와 같은 오류를 쉽게 채울 수 있도록 충분한 간격을 두고 깔끔한 코드를 작성하세요. 실제로 이 코드는 작동하는 것처럼 보이지만 그게 프로세스입니다. 먼저 프로그램이 작동하지 않도록 하는 모든 방법을 배운 다음 이러한 실수를 중지할 것입니다.

  5. #25
    답장을 보내 주셔서 감사합니다. 이것은 프로그래머에게는 간단할 수 있지만 이제 프로그램 끝 - 불균형 왼쪽 괄호 오류가 발생하고 불균형을 제거하기 위해 괄호를 어디로 가야 하는지 고민하고 있습니다. 불균형이 발생할 것이라고 생각하지 않는 라인으로 나를 안내하고 있습니다. EA의 마지막 부분인 아래 코드의 굵은 밑줄로 안내합니다. 적절한 로션을 결정하는 쉬운 방법이 있습니까? 아니면 찾을 때까지 시행착오 방법을 사용해야 합니까?/매도 if (Order == SIGNAL_SELL ((EachTickMode !TickCheck) || (!EachTickMode (Bars != BarCount)))) { if(!IsTrade) {/여유 증거금 확인 if (AccountFreeMargin() lt; (1000 * 많은)) { Print(돈이 없습니다. Free Margin = , AccountFreeMargin()); return(0);} } if (Use_Stop_Loss) StopLossLevel = Bid ​​ StopLoss * Point; 그렇지 않으면 StopLossLevel = 0.0; if (Use_Take_Profit) TakeProfitLevel = Bid ​​- TakeProfit * Point; 그렇지 않으면 TakeProfitLevel = 0.0; if(OrderOpenTime() != Current_Bar) { 티켓 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, Slippage, StopLossLevel, TakeProfitLevel, Sell(# MagicNumber ), MagicNumber, 0, DeepPink); 경고(짧음, 빨간색); if(OpenBar != 막대) OpenBar = 막대; } if(Ticket gt; 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print(SELL 주문 열림 : , OrderOpenPrice()); if (SignalMail) SendMail([신호 알림], [ Symbol() ] DoubleToStr(Bid, Digits) Open Sell); } else { Print(SELL 주문 열기 오류 : , GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = 바; 반환(0); } } if (!EachTickMode) BarCount = 막대; 반환(0);

  6. #26
    start()가 되어야 합니다. {/위의 괄호가 중요합니다. bool CanTrade = False; if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30) CanTrade = True; { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; datetime Current_Bar = 시간 [0]; if (EachTickMode Bars != BarCount) TickCheck = False; Total = OrdersTotal(); Order = SIGNAL_NONE; 나머지 코드..... return(0); }

  7. #27
    로널드, 저는 프로그래밍 신입생이니 조금만 기다려주세요. 나는 이것을 시도했지만 컴파일 할 때 작동하지 않는 것 같습니다. 다음 오류가 발생했습니다. 'bool' - 세미콜론 예상 C
    프로그램 파일 MetaTrader - Alpari UK 전문가 Lag3.mq4 (81, 1) 'CanTrade' - 글로벌 범위에 대한 표현은 허용되지 않음 C
    rogram FilesMetaTrader - Alpari UKexpertsLag3.mq4 (82, 80) 다음과 같이 설정했습니다./ ------------- ---------------------------------------- /| 전문가 시작 기능 |/ ------------------ ------------------- int start() bool CanTrade = False; if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30) CanTrade = True; { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; datetime Current_Bar = 시간 [0], if (EachTickMode Bars != BarCount) TickCheck = False, 총계 = OrdersTotal(), Order = SIGNAL_NONE,

  8. #28
    if (TimeCurrent() gt;= StrToTime(08:30) TimeCurrent()lt;= StrToTime(19:30) CanTrade = True 이 영역은 Start() 아래에 있지만 입력 논리 앞에 있습니다.

  9. #29
    다음을 사용할 수도 있습니다. 삽입된 코드 extern StartHour=2/02:00 = 오전 2:00 - 14:00 = 오후 2시 extern StartMinute=0/24시간 시간으로 입력 extern WORKHours=12; 부울 TradeOK=거짓; 이중 ShutOffTime; if(TradeOK==false TimeHour(TimeLocal())gt;=StartHour TimeMinute(TimeLocal())gt;=StartMinute){TradeOK=tr ue; ShutOffTime=TimeCurrent() (WORKHours*3600);} if(TimeCurrent()gt;=ShutOffTime){TradeOK=false;} if(TradeOK){......Your Routine ......} 또한 TimeDayOf Week도 특정 요일에 활성화합니다. TimeLocal은 로컬 컴퓨터에서 시간을 가져옵니다. 이 루틴은 'OFF' 위치에서 시작됩니다. 참고: 1시간에 3600초(60*60).

  10. #30
    부울 CanTrade = 거짓; if(TimeCurrent() gt; StrToTime(02:30)) CanTrade = True; 이 코드는 시간이 2:30 브로커 시간보다 크면 거래를 할 수 있음을 EA에 알려줍니다.

게시 권한

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
쿠키 정책
쿠키 정책: koreaforex 웹사이트는 쿠키를 사용하며, 웹사이트를 사용자는 쿠키 사용에 동의하는 것입니다. 자세한 정보는 '쿠키 공개' 를 읽어주십시오.