OrderModify() 질문 - 페이지 6

 

후두,

어떻게 든 당신의 두개골을 관통하는 것이 아무것도 없는 것 같기 때문에 여기 친절한 중재자가 당신을 위해 설명하는 것을 도울 것입니다.

몇 가지 요점을 보여주기 위해 코드를 수정했습니다.

  • 귀하의 코드는 단순한 알고리즘 목표를 달성하기 위해 조잡하고 복잡합니다. 중괄호의 지저분하고 중복된 사용이 지적되어 머리의 지저분한 상태를 보여줍니다.
  • MQL4 매뉴얼을 철저히 읽는 대신 첫 번째 EA 튜토리얼을 수행한 다음 Order*() 함수 단위 테스트를 수행하는 대신 시간을 낭비하고 무시하는 것에 대해 다른 사람들이 당신을 숟가락질하게 하고 싶습니다.
  • 이 접근 방식을 유지한다면 실제로 MQL4를 사용할 수 있게 되기까지의 아주 먼 길을 알고 있는 것이 가장 좋습니다. 아이러니하게도 MQL4의 복잡성(상대적으로 단순함) 때문이 아니라 이상하게 지지하는 태도 때문입니다.
행운을 빕니다. 하느님께서 영혼을 긍휼히 여기시기 바랍니다.
 

Richard, 당신의 선동이 기록되었습니다. 1권과 게시물을 수정해주셔서 감사합니다. 둘 다 감사합니다.

고맙습니다.

 

사이먼,

코드는 OrderSelect() 함수 를 확인하고 있고 OrderSymbol() 함수가 USDJPY인 경우. 둘 다 참이면 OrderPrint() 함수가 실행됩니다. OrderSelect()는 괜찮을 것이지만 ;) OrderSymbol()이 USDJPY가 아니면 티켓 변수 i가 1만큼 증가합니다. 변수 i는 OrderSymbol()이 USDJPY가 될 때까지 증가합니다.

질문: "i++;"가 왜 i 값을 한 번만 늘리면? (내 의도는 이 변수가 OrderSymbol()이 USDJPY가 될 때까지 계속 증가하는 것입니다)

 int start()
  {
   
   int i;

   if (( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true )&&(OrderSymbol()== "USDJPY" ))
   
     OrderPrint();      
     
     else i++;
   
 // Print(GetLastError());
 
Comment ( "i = " ,i);

   return ( 0 );
  }

첨부파일은 EA입니다. 이 파일 형식으로 테스트를 실행하는 것이 더 쉽습니다.

고맙습니다.

파일:
사유: