MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1720 1...171317141715171617171718171917201721172217231724172517261727...1953 새 코멘트 EVGENII SHELIPOV 2021.11.06 09:46 #17191 MakarFX # : 오류는 끝에서 두 번째 검색 코드에 있는 것이 아니라 정보를 텍스트로 출력하는 데 있을 가능성이 가장 높습니다. 코드의 오류에 대한 이야기는 없었습니다. 이 코드는 새로운 최대 주문이 열렸을 때 작동하며 이것이 발생하지 않을 때 고문은 끝에서 두 번째 주문 = 마지막 주문으로 간주합니다. 그게 다야 EVGENII SHELIPOV 2021.11.06 09:52 #17192 MakarFX # : 오류는 끝에서 두 번째 검색 코드에 있는 것이 아니라 정보를 텍스트로 출력하는 데 있을 가능성이 가장 높습니다. Makar, 강조 표시된 조건이 작동하지 않는 이유를 더 잘 알려주세요. //+----------------------------------------------------------------------------+ //| Расчет тикета предпоследнего ордера в сетке | //+----------------------------------------------------------------------------+ int GetTicketPenultimateOrder() { penultimate_ticket = 0 ; { for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { if (OrderTicket() > penultimate_ticket) if (penultimate_ticket < GetTicketMaxOrder()) penultimate_ticket = OrderTicket(); } } } } } return (penultimate_ticket); } Tretyakov Rostyslav 2021.11.06 09:59 #17193 EVGENII SHELIPOV # : Makar, 강조 표시된 조건이 작동하지 않는 이유를 더 잘 알려주세요. 이 줄에서 최대 티켓을 찾습니다. if (OrderTicket() > penultimate_ticket) 이 줄에서 최대값과 최대값을 비교합니다. if (penultimate_ticket < GetTicketMaxOrder()) 그래서 항상 거짓 Tretyakov Rostyslav 2021.11.06 10:01 #17194 EVGENII SHELIPOV # : 코드의 오류에 대한 이야기는 없었습니다. 이 코드는 새로운 최대 주문이 열렸을 때 작동하며 이것이 발생하지 않을 때 고문은 끝에서 두 번째 주문 = 마지막 주문으로 간주합니다. 그게 다야 이는 어드바이저가 다시 시작하는 경우에만 해당됩니다. EVGENII SHELIPOV 2021.11.06 10:12 #17195 MakarFX # : 이는 어드바이저가 다시 시작하는 경우에만 해당됩니다. No Makar, 봐봐, 내가 모니터에 마지막에서 두 번째 오더 변수와 마지막 오더 기능을 표시했어 ObjectCreate ( "signal400" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal400" , OBJPROP_XDISTANCE , 100 ); ObjectSet( "signal400" , OBJPROP_YDISTANCE , 740 ); ObjectSetText( "signal400" , DoubleToString (FindPenultimateLots(), 2 ), 14 , "Tahoma" , clrRed ); ObjectCreate ( "signal401" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal401" , OBJPROP_XDISTANCE , 200 ); ObjectSet( "signal401" , OBJPROP_YDISTANCE , 740 ); ObjectSetText( "signal401" , DoubleToString (prev_ticket, 0 ), 14 , "Tahoma" , clrRed ); EVGENII SHELIPOV 2021.11.06 10:16 #17196 MakarFX # : 이 줄에서 최대 티켓을 찾습니다. 이 줄에서 최대값과 최대값을 비교합니다. 그래서 항상 거짓 글쎄, 모든 티켓에서 기능별로 정렬되도록 만드는 방법 (OrderTicket() 동일한 티켓을 제거 GetTicketMaxOrder() Alexey Viktorov 2021.11.06 10:18 #17197 EVGENII SHELIPOV # : Makar, 강조 표시된 조건이 작동하지 않는 이유를 더 잘 알려주세요. //+----------------------------------------------------------------------------+ //| Расчет тикета предпоследнего ордера в сетке | //+----------------------------------------------------------------------------+ int GetTicketPenultimateOrder() { penultimate_ticket = 0 ; { for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { if ( OrderSelect ( ticket , SELECT_BY_TICKET, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { if (OrderTicket() > penultimate_ticket) if (penultimate_ticket < GetTicketMaxOrder()) penultimate_ticket = OrderTicket(); } } } } } return (penultimate_ticket); } 유진, 티켓 변수는 어디에서 바뀌나요? 아니면 전체 주기가 하나의 주문으로 작동합니까? Tretyakov Rostyslav 2021.11.06 10:22 #17198 Alexey Viktorov # : 유진, 티켓 변수는 어디에서 바뀌나요? 아니면 전체 주기가 하나의 주문으로 작동합니까? 나는 이미 그에게 편지를 썼다 . Tretyakov Rostyslav 2021.11.06 10:25 #17199 EVGENII SHELIPOV # : No Makar, 봐, 내가 모니터에 끝에서 두 번째 순서 변수와 마지막 주문 기능을 표시했습니다 EA가 다시 시작되면 prev_ticket이 재설정됩니다. EVGENII SHELIPOV 2021.11.06 10:45 #17200 MakarFX # : 다시 한 번... 작동 코드를 주었습니다! 테스터에서 실행하고 버튼을 누릅니다. 이를 보려면 주문이 마감되었는지 확인해야 하지만 이 Expert Advisor에서는 이러한 일이 발생하지 않습니다. 그리고 전체 문제는 최대 주문 마감 후에 발생합니다. 1...171317141715171617171718171917201721172217231724172517261727...1953 새 코멘트 사유: 취소 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
오류는 끝에서 두 번째 검색 코드에 있는 것이 아니라 정보를 텍스트로 출력하는 데 있을 가능성이 가장 높습니다.
코드의 오류에 대한 이야기는 없었습니다. 이 코드는 새로운 최대 주문이 열렸을 때 작동하며 이것이 발생하지 않을 때 고문은 끝에서 두 번째 주문 = 마지막 주문으로 간주합니다. 그게 다야
오류는 끝에서 두 번째 검색 코드에 있는 것이 아니라 정보를 텍스트로 출력하는 데 있을 가능성이 가장 높습니다.
Makar, 강조 표시된 조건이 작동하지 않는 이유를 더 잘 알려주세요.
Makar, 강조 표시된 조건이 작동하지 않는 이유를 더 잘 알려주세요.
이 줄에서 최대 티켓을 찾습니다.
if (OrderTicket() > penultimate_ticket)
이 줄에서 최대값과 최대값을 비교합니다.
if (penultimate_ticket < GetTicketMaxOrder())
그래서 항상 거짓코드의 오류에 대한 이야기는 없었습니다. 이 코드는 새로운 최대 주문이 열렸을 때 작동하며 이것이 발생하지 않을 때 고문은 끝에서 두 번째 주문 = 마지막 주문으로 간주합니다. 그게 다야
이는 어드바이저가 다시 시작하는 경우에만 해당됩니다.
이는 어드바이저가 다시 시작하는 경우에만 해당됩니다.
No Makar, 봐봐, 내가 모니터에 마지막에서 두 번째 오더 변수와 마지막 오더 기능을 표시했어
이 줄에서 최대 티켓을 찾습니다.
이 줄에서 최대값과 최대값을 비교합니다.
그래서 항상 거짓글쎄, 모든 티켓에서 기능별로 정렬되도록 만드는 방법
동일한 티켓을 제거
GetTicketMaxOrder()
Makar, 강조 표시된 조건이 작동하지 않는 이유를 더 잘 알려주세요.
유진, 티켓 변수는 어디에서 바뀌나요? 아니면 전체 주기가 하나의 주문으로 작동합니까?
유진, 티켓 변수는 어디에서 바뀌나요? 아니면 전체 주기가 하나의 주문으로 작동합니까?
No Makar, 봐, 내가 모니터에 끝에서 두 번째 순서 변수와 마지막 주문 기능을 표시했습니다
다시 한 번... 작동 코드를 주었습니다!
테스터에서 실행하고 버튼을 누릅니다.
이를 보려면 주문이 마감되었는지 확인해야 하지만 이 Expert Advisor에서는 이러한 일이 발생하지 않습니다. 그리고 전체 문제는 최대 주문 마감 후에 발생합니다.