MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1718 1...171117121713171417151716171717181719172017211722172317241725...1953 새 코멘트 Snajper007 2021.11.04 09:52 #17171 // Функция модификации ордеров Sell при локировании void Modif_Count_Lok_Sell() { double Price; for ( int pos= 0 ; pos < OrdersTotal (); pos++) { if ( OrderSelect (pos, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()== Symbol ()) { if (OrderType() == OP_SELL) { if (OrderTakeProfit() > 0 ) { if (CountBuy1() > 0 ) // функция для пересчёта ордеров Buy { Price = OrderOpenPrice(); double TP3 = NormalizeDouble ( 0 * Point , Digits ); if (OrderTakeProfit() > TP3) { if (!OrderModify( OrderTicket(), OrderOpenPrice(), 0 , TP3, 0 , 0 )) Print ( "Ошибка модификации ордера на продажу" ); } } } } } } } } 이해하도록 도와주세요. 이 기능의 의미는 미결 매도 주문이 있고 매수 주문이 열리면 매도 주문의 TP를 수정하는 것입니다. 그러나 수정은 첫 번째 주문에 대해서만 발생하고 오류가 발생합니다. OrderModify ERROR 1 Tretyakov Rostyslav 2021.11.04 10:09 #17172 Snajper007 매도 주문이 있고 매수 주문이 열리면 매도 주문의 TP를 수정하는 것입니다. 그러나 수정은 첫 번째 주문에 대해서만 발생하고 오류가 발생합니다. OrderModify ERROR 1 이 경우 TakeProfit은 단순히 삭제됩니다. 오류 1 - ERR_NO_RESULT 오류가 없지만 결과를 알 수 없음 Snajper007 2021.11.04 10:12 #17173 MakarFX # : 이 경우 TakeProfit은 단순히 삭제됩니다. 오류 1 - ERR_NO_RESULT 오류가 없지만 결과를 알 수 없음 한 주문에서는 삭제되고 다른 주문에서는 삭제되지 않는 이유는 무엇입니까? Tretyakov Rostyslav 2021.11.04 10:18 #17174 Snajper007 # : 한 주문에서는 삭제되고 다른 주문에서는 삭제되지 않는 이유는 무엇입니까? OrderTakeProfit() > 0 인 경우에만 제거됨 저것들. 긍정적인 거래 Snajper007 2021.11.04 10:28 #17175 MakarFX # : OrderTakeProfit() > 0 인 경우에만 제거됨 저것들. 긍정적인 거래 코드를 변경했습니다. // Функция модификации ордеров Sell при локировании void Modif_Count_Lok_Sell() { double Price; for ( int pos= 0 ; pos < OrdersTotal (); pos++) { if ( OrderSelect (pos, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()== Symbol ()) { if (OrderType() == OP_SELL) { if (CountBuy1() > 0 ) // функция для пересчёта ордеров Buy { Price = OrderOpenPrice(); double TP3 = NormalizeDouble ( 0 * Point , Digits ); if (!OrderModify( OrderTicket(), OrderOpenPrice(), 0 , TP3, 0 , 0 )) Print ( "Ошибка модификации ордера на продажу" ); } } } } } } 똑같다. 평균 TP가 있는 2개의 판매 주문이 있습니다. 이 두 주문에 대한 구매 주문을 열 때 TP를 삭제해야 합니다. 그러나 첫 번째 순서에서만 제거되고 두 번째 순서는 평균 TP로 유지됩니다. Nikolay Ivanov 2021.11.04 10:48 #17176 MakarFX # : OrderTakeProfit() > 0 인 경우에만 제거됨 저것들. 긍정적인 거래 OrderTakeProfit() > 0은 거래가 이익이라는 의미가 아닙니다.. 단지 이익을 취하는 것이 포지션에 설정되어 있음을 의미합니다.. Nikolay Ivanov 2021.11.04 10:50 #17177 Snajper007 # : 코드를 변경했습니다. 똑같다. 평균 TP가 있는 2개의 매도 주문이 있습니다. 이 두 주문에 대한 구매 주문을 열 때 TP를 삭제해야 합니다. 그러나 첫 번째 순서에서만 제거되고 두 번째 순서는 평균 TP로 유지됩니다. 그냥 다 뒤섞이시네요.. 먼저 주문을 내렸습니다. if ( OrderSelect (pos, SELECT_BY_POS, MODE_TRADES)) 하지만 함수를 호출하면 CountBuy1() 어느 것이 선택을 바꿀 가능성이 큽니까 .. 그리고 그것은 죽은 것으로 나타났습니다 .. 파리를 커틀릿에서 분리하면 모든 것이 작동합니다 .. Snajper007 2021.11.04 11:07 #17178 Nikolay Ivanov # : 그냥 다 뒤섞이시네요.. 먼저 주문을 내렸습니다. 하지만 함수를 호출하면 어느 것이 선택을 바꿀 가능성이 큽니까 .. 그리고 그것은 죽은 것으로 나타났습니다 .. 파리를 커틀릿에서 분리하면 모든 것이 작동합니다 .. 고맙습니다! 기능을 제거하면 정상적으로 작동하기 시작했습니다. Tretyakov Rostyslav 2021.11.04 11:13 #17179 Nikolay Ivanov # : OrderTakeProfit() > 0은 거래가 이익이라는 의미가 아닙니다.. 단지 이익을 취하는 것이 포지션에 설정되어 있음을 의미합니다.. 당신 말이 맞아, 나는 OrderProfit()과 혼동했다 Snajper007 2021.11.04 11:54 #17180 또 다른 질문이 생겼습니다. 평균 가격을 계산하는 함수는 다음과 같습니다. //Средний тейкпрофит для ордеров Sell double SR_CENA_SELL() { double sr_cena_sell = 0 ; if (CountSell() > 1 ) { double lot_price_Sell = 0 ; double sum_lot_Sell_1 = 0 ; for ( int pos= 0 ; pos < OrdersTotal (); pos++) if ( OrderSelect (pos, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber() == MN || OrderMagicNumber() == 0 ) { if (OrderSymbol() == Symbol () && OrderType() == OP_SELL) { lot_price_Sell += NormalizeDouble (OrderOpenPrice()* OrderLots(), Digits ); sum_lot_Sell_1 += OrderLots(); sr_cena_sell = NormalizeDouble (lot_price_Sell/sum_lot_Sell_1, Digits ); } } } } return (sr_cena_sell); } 재계산은 왜 시간이 지남에 따라 진행됩니까? 저것들. 2차 매도 주문이 열렸을 때 평균 가격이 나온 함수입니다. 하지만 3차 오더가 열리면 함수는 이전 값과 새 값을 모두 제공하므로(잡지의 인쇄물을 봤습니다) 결과적으로 이전 값이 유지됩니다. 그가 무엇을 잘못했습니까? 1...171117121713171417151716171717181719172017211722172317241725...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
이해하도록 도와주세요. 이 기능의 의미는 미결 매도 주문이 있고 매수 주문이 열리면 매도 주문의 TP를 수정하는 것입니다. 그러나 수정은 첫 번째 주문에 대해서만 발생하고 오류가 발생합니다. OrderModify ERROR 1
이 경우 TakeProfit은 단순히 삭제됩니다.
오류 1 - ERR_NO_RESULT 오류가 없지만 결과를 알 수 없음
이 경우 TakeProfit은 단순히 삭제됩니다.
오류 1 - ERR_NO_RESULT 오류가 없지만 결과를 알 수 없음
한 주문에서는 삭제되고 다른 주문에서는 삭제되지 않는 이유는 무엇입니까?
OrderTakeProfit() > 0 인 경우에만 제거됨
저것들. 긍정적인 거래
OrderTakeProfit() > 0 인 경우에만 제거됨
저것들. 긍정적인 거래
코드를 변경했습니다.
똑같다. 평균 TP가 있는 2개의 판매 주문이 있습니다. 이 두 주문에 대한 구매 주문을 열 때 TP를 삭제해야 합니다. 그러나 첫 번째 순서에서만 제거되고 두 번째 순서는 평균 TP로 유지됩니다.OrderTakeProfit() > 0 인 경우에만 제거됨
저것들. 긍정적인 거래
OrderTakeProfit() > 0은 거래가 이익이라는 의미가 아닙니다.. 단지 이익을 취하는 것이 포지션에 설정되어 있음을 의미합니다..
코드를 변경했습니다.
똑같다. 평균 TP가 있는 2개의 매도 주문이 있습니다. 이 두 주문에 대한 구매 주문을 열 때 TP를 삭제해야 합니다. 그러나 첫 번째 순서에서만 제거되고 두 번째 순서는 평균 TP로 유지됩니다.그냥 다 뒤섞이시네요..
먼저 주문을 내렸습니다.
하지만 함수를 호출하면
어느 것이 선택을 바꿀 가능성이 큽니까 .. 그리고 그것은 죽은 것으로 나타났습니다 .. 파리를 커틀릿에서 분리하면 모든 것이 작동합니다 ..
그냥 다 뒤섞이시네요..
먼저 주문을 내렸습니다.
하지만 함수를 호출하면
어느 것이 선택을 바꿀 가능성이 큽니까 .. 그리고 그것은 죽은 것으로 나타났습니다 .. 파리를 커틀릿에서 분리하면 모든 것이 작동합니다 ..
OrderTakeProfit() > 0은 거래가 이익이라는 의미가 아닙니다.. 단지 이익을 취하는 것이 포지션에 설정되어 있음을 의미합니다..
또 다른 질문이 생겼습니다. 평균 가격을 계산하는 함수는 다음과 같습니다.
재계산은 왜 시간이 지남에 따라 진행됩니까? 저것들. 2차 매도 주문이 열렸을 때 평균 가격이 나온 함수입니다. 하지만 3차 오더가 열리면 함수는 이전 값과 새 값을 모두 제공하므로(잡지의 인쇄물을 봤습니다) 결과적으로 이전 값이 유지됩니다. 그가 무엇을 잘못했습니까?