MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1680 1...167316741675167616771678167916801681168216831684168516861687...1953 새 코멘트 EVGENII SHELIPOV 2021.10.18 17:48 #16791 MakarFX # : Makar 감사합니다. 고정하고 보겠습니다. 질문입니다. SELL 주문은 어떻습니까? Tretyakov Rostyslav 2021.10.18 17:50 #16792 EVGENII SHELIPOV # : Makar 감사합니다. 고정하고 보겠습니다. 질문입니다. SELL 주문은 어떻습니까? 세미온 세미노비치... double GetBuyOrderSwap() { double order_swap = 0 ; for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) { order_swap += OrderSwap(); } } } } return (order_swap); } double GetSellOrderSwap() { double order_swap = 0 ; for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType() == OP_SELL) { order_swap += OrderSwap(); } } } } return (order_swap); } EVGENII SHELIPOV 2021.10.18 17:56 #16793 MakarFX # : 세미온 세미노비치... Makar, 하나의 기능으로 압축하는 것이 왜 그렇게 까다롭습니까? 아니면 내가 이해하지 못하는 것이 있습니까? Nerd Trader 2021.10.18 17:59 #16794 int GetMagic(Order &order) { int magic = 0 ; if (order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP) if ( OrdersTotal () >= 1 ) for (;;){ magic++; for ( int i = OrdersTotal (); i > 0 ; i --) if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES) != false ) if (magic != OrderMagicNumber()) return magic; } else if ( OrdersTotal () == 0 ) return (magic + 1 ); return magic; } ==로 바꾸면 도움이되지 않습니다. 두 경우 모두 스트림이 거기에 들어가지 않습니다(인쇄물로 확인됨). Tretyakov Rostyslav 2021.10.18 18:02 #16795 Nerd Trader # : 거기, 해설에서 마술사는 쓰기 위해 배열로 보내지는데, 이것이 오해의 소지가 없도록 하고 마술사는 retorn에 의해 돌아오는 동안 쓰여집니다. 나는 일반적인 논리를 잘 이해하지 못하고 기능을 분리하려고합니다. if (order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP) int order_magic = GetMagic(order); if (order.is_init == true ) { int order_send = OrderSend ( Symbol (), order.cmd, 0.01 , order.open_price, 10 , order.sl_price, order.tp_price, "" , order_magic , 0 , order.arrow_color); if (order_send == - 1 ){ Print (order.error_text, " | " , GetLastError (), " db_last.third " ,db_last.third, " | db_last.size_open_to_low " ,db_last.size_open_to_low, " | order.sl_price: " , order.sl_price, " | order.cmd " ,order.cmd); ResetLastError (); return ; } } //+--- int GetMagic(Order &order) { int magic = 0 ; for ( int i = OrdersTotal (); i > 0 ; i --) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (magic == OrderMagicNumber()) magic+= 1 ; else magic= 0 ; } } return (magic); } Tretyakov Rostyslav 2021.10.18 18:05 #16796 EVGENII SHELIPOV # : Makar, 하나의 기능으로 압축하는 것이 왜 그렇게 까다롭습니까? 아니면 내가 이해하지 못하는 것이 있습니까? double GetOrderSwap( int ot=- 1 ) // 0-Buy; 1-Sell { double order_swap = 0 ; for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType()==ot||ot< 0 ) { order_swap += OrderSwap(); } } } } return (order_swap); } EVGENII SHELIPOV 2021.10.18 18:11 #16797 MakarFX # : Makar, 당신은 어린 아이와 같이 완전히 나와 함께 있습니다. Makar 감사합니다. 기능을 약간 변경하고 망쳤습니다. 모든 것이 작동합니다. Nerd Trader 2021.10.18 18:20 #16798 MakarFX # : 나는 일반적인 논리를 잘 이해하지 못하고 기능을 분리하려고합니다. 이제 GetMagic은 보류 주문을 보낼 때 고유한 마법을 생성하고 레토르트로 반환해야 합니다. 그게 전부입니다. 귀하의 버전에는 하나의 주기만 있으며 주문이 다 떨어지면 else는 어쨌든 실행되고 magic == OrderMagicNumber() 는 항상 true입니다. 반대로, 나는 true가 아닐 때 magic != OrderMagicNumber()가 필요합니다. 그러면 마술은 고유하고 첫 번째 for(;;)에서 자체적으로 증가합니다 . Tretyakov Rostyslav 2021.10.18 18:23 #16799 Nerd Trader # : 개인정보를 확인하세요. Denis Mironov 2021.10.18 18:36 #16800 안녕하세요! 나는 그러한 문제가 발생했습니다. 즉, 고문 이 보류 중인 주문 을 열었지만 터미널은 이를 추적하지 않으며 이 주문은 거래 내역에 없습니다. 아무도 그런 문제를 겪을 수 있습니까? 1...167316741675167616771678167916801681168216831684168516861687...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
Makar 감사합니다. 고정하고 보겠습니다. 질문입니다. SELL 주문은 어떻습니까?
Makar 감사합니다. 고정하고 보겠습니다. 질문입니다. SELL 주문은 어떻습니까?
세미온 세미노비치...
Makar, 하나의 기능으로 압축하는 것이 왜 그렇게 까다롭습니까? 아니면 내가 이해하지 못하는 것이 있습니까?
int GetMagic(Order &order) { int magic = 0 ; if (order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP) if ( OrdersTotal () >= 1 ) for (;;){ magic++; for ( int i = OrdersTotal (); i > 0 ; i --) if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES) != false ) if (magic != OrderMagicNumber()) return magic; } else if ( OrdersTotal () == 0 ) return (magic + 1 ); return magic; }
==로 바꾸면 도움이되지 않습니다. 두 경우 모두 스트림이 거기에 들어가지 않습니다(인쇄물로 확인됨).거기, 해설에서 마술사는 쓰기 위해 배열로 보내지는데, 이것이 오해의 소지가 없도록 하고 마술사는 retorn에 의해 돌아오는 동안 쓰여집니다.
나는 일반적인 논리를 잘 이해하지 못하고 기능을 분리하려고합니다.
Makar, 하나의 기능으로 압축하는 것이 왜 그렇게 까다롭습니까? 아니면 내가 이해하지 못하는 것이 있습니까?
Makar, 당신은 어린 아이와 같이 완전히 나와 함께 있습니다.
Makar 감사합니다. 기능을 약간 변경하고 망쳤습니다. 모든 것이 작동합니다.
나는 일반적인 논리를 잘 이해하지 못하고 기능을 분리하려고합니다.
개인정보를 확인하세요.