코드는 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 );
}
후두,
어떻게 든 당신의 두개골을 관통하는 것이 아무것도 없는 것 같기 때문에 여기 친절한 중재자가 당신을 위해 설명하는 것을 도울 것입니다.
몇 가지 요점을 보여주기 위해 코드를 수정했습니다.
- 귀하의 코드는 단순한 알고리즘 목표를 달성하기 위해 조잡하고 복잡합니다. 중괄호의 지저분하고 중복된 사용이 지적되어 머리의 지저분한 상태를 보여줍니다.
- MQL4 매뉴얼을 철저히 읽는 대신 첫 번째 EA 튜토리얼을 수행한 다음 Order*() 함수 단위 테스트를 수행하는 대신 시간을 낭비하고 무시하는 것에 대해 다른 사람들이 당신을 숟가락질하게 하고 싶습니다.
- 이 접근 방식을 유지한다면 실제로 MQL4를 사용할 수 있게 되기까지의 아주 먼 길을 알고 있는 것이 가장 좋습니다. 아이러니하게도 MQL4의 복잡성(상대적으로 단순함) 때문이 아니라 이상하게 지지하는 태도 때문입니다.
행운을 빕니다. 하느님께서 영혼을 긍휼히 여기시기 바랍니다.Richard, 당신의 선동이 기록되었습니다. 1권과 게시물을 수정해주셔서 감사합니다. 둘 다 감사합니다.
고맙습니다.
사이먼,
코드는 OrderSelect() 함수 를 확인하고 있고 OrderSymbol() 함수가 USDJPY인 경우. 둘 다 참이면 OrderPrint() 함수가 실행됩니다. OrderSelect()는 괜찮을 것이지만 ;) OrderSymbol()이 USDJPY가 아니면 티켓 변수 i가 1만큼 증가합니다. 변수 i는 OrderSymbol()이 USDJPY가 될 때까지 증가합니다.
질문: "i++;"가 왜 i 값을 한 번만 늘리면? (내 의도는 이 변수가 OrderSymbol()이 USDJPY가 될 때까지 계속 증가하는 것입니다)
첨부파일은 EA입니다. 이 파일 형식으로 테스트를 실행하는 것이 더 쉽습니다.
고맙습니다.