MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1664 1...165716581659166016611662166316641665166616671668166916701671...1953 새 코멘트 Nerd Trader 2021.10.10 14:13 #16631 Taras Slobodyanik # : 따라서 각 새 틱의 조건을 확인해야 합니다. 이전 틱에서 작동하지 않으면 새 틱에서 변경됩니다. 글쎄, 당신은 오류 처리를해야합니다. 어레이를 통해 수행하는 경우 나머지 모두와 함께 작성된 수정 주문의 티켓만 확인하십시오. MakarFX # : 네, 감사합니다. 이 경우 개체로 저장하면 티켓 대신 고유 마법이 더 낫습니다. 그렇지 않으면 같은 이름을 가진 수십 개의 개체가 생성됩니다. StringToInteger ( ObjectName ( 0 ,i, 0 ) 오식? 두 함수 모두 하나의 매개변수만 사용할 수 있는 것 같습니다. [삭제] 2021.10.10 14:16 #16632 https://www.mql5.com/ru/docs/objects/objectname Документация по MQL5: Графические объекты / ObjectName www.mql5.com ObjectName - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Tretyakov Rostyslav 2021.10.10 14:25 #16633 Nerd Trader # : 어레이를 통해 수행하는 경우 나머지 모두와 함께 작성된 수정 주문의 티켓만 확인하십시오. 네, 감사합니다. 이 경우 개체로 저장하면 티켓 대신 고유한 마법이 더 낫습니다. 그렇지 않으면 동일한 이름을 가진 수십 개의 개체가 생성 됩니다. 오식? 두 함수 모두 하나의 매개변수만 사용할 수 있는 것 같습니다. 번식하지 마십시오 if ( ObjectName (i)!=OrderTicket()) ObjectDelete ( 0 , ObjectName (i)); 죄송합니다 StringToInteger ( ObjectName (i)); Tretyakov Rostyslav 2021.10.10 14:26 #16634 SanAlex # : https://www.mql5.com/ru/docs/objects/objectname MT5용입니다 그리고 이것은 MT4용입니다. Nerd Trader 2021.10.10 15:26 #16635 MakarFX # : 번식하지 마십시오 죄송합니다 그런데 다음과 같은 오류가 주기적으로 발생하는 이유를 알고 계십니까? 성공적으로 열린 주문 100개의 경우 약 10개가 있습니다. 2021.10.10 16:18:09.853 2021.01.05 21:15:00 test EURUSD,M5: 4051 | order.sl_price: 2.813499706815862e-262 2021.10.10 16:18:09.853 2021.01.05 21:15:00 test EURUSD,M5: OrderSend error 4051 2021.10.10 16:18:09.853 2021.01.05 21:15:00 test EURUSD,M5: unknown trade cmd 406958564 for OrderSend function order.sl_price: 2.813499706815862e-262 - 손절매 가격, 분명히 이 숫자는 안됩니다. 4051 - "잘못된 기능 매개변수 값" unknown trade cmd는 주문 유형입니까? 이것도 문제가 안됩니다. class Order{ public : double open_price; double sl_price; double tp_price; color arrow_color; string error_text; int cmd; Order(){}; void InitForSell( string type = "" ){ if (type == "" ){ Print ( "Ошибка: 'type' должен иметь значение" ); return ; } sl_price = NormalizeDouble (db_last.hight + (sl_indent* Point ), Digits ); // (цена + (кол-во пипсов* Point ) arrow_color = clrRed ; if (type == "sellstop" ){ open_price = NormalizeDouble (db_last.low - (order_indent* Point ), Digits ); if (tp_size != 0 ) tp_price = NormalizeDouble (db_last.low - (order_indent+tp_size)* Point , Digits ); else tp_price = 0 ; cmd = OP_SELLSTOP; error_text = "Ошибка открытия селстопа " ; } if (type == "sell" ){ open_price = Bid; if (tp_size != 0 ) tp_price = NormalizeDouble (Bid - tp_size* Point , Digits ); else tp_price = 0 ; cmd = OP_SELL; error_text = "Ошибка открытия села " ; } }; void InitForBuy( string type = "" ){ if (type == "" ){ Print ( "Ошибка: 'type' должен иметь значение" ); return ; } sl_price = NormalizeDouble (db_last.low - (sl_indent* Point ), Digits ); // (цена + (кол-во пипсов* Point ) arrow_color = clrGreen ; if (type == "buystop" ){ open_price = NormalizeDouble (db_last.hight + (order_indent* Point ), Digits ); if (tp_size != 0 ) tp_price = NormalizeDouble (db_last.hight + (order_indent+tp_size)* Point , Digits ); else tp_price = 0 ; cmd = OP_BUYSTOP; error_text = "Ошибка открытия байстопа " ; } if (type == "buy" ){ open_price = Ask; if (tp_size != 0 ) tp_price = NormalizeDouble (Bid + tp_size* Point , Digits ); else tp_price = 0 ; cmd = OP_BUY; error_text = "Ошибка открытия бая " ; } }; ~Order(){}; }; //------------------------------------------- if (...) { ResetLastError (); int order_send = OrderSend ( Symbol (), order.cmd, 0.01 , order.open_price, 1 , order.sl_price, order.tp_price, "" , 0 , 0 , order.arrow_color); if (order_send == - 1 ) return ; } EVGENII SHELIPOV 2021.10.10 15:34 #16636 MakarFX # : 티켓 또는 가격에 대해 "최소 및 최대"를 의미합니까? 티켓으로 Tretyakov Rostyslav 2021.10.10 15:37 #16637 Nerd Trader # : 그런데 다음과 같은 오류가 주기적으로 발생하는 이유를 알고 계십니까? 성공적으로 열린 주문 100개의 경우 약 10개가 있습니다. order.sl_price: 2.813499706815862e-262 - 손절매 가격, 분명히 이 숫자는 안됩니다. 4051 - "잘못된 기능 매개변수 값" unknown trade cmd는 주문 유형입니까? 이것도 문제가 안됩니다. "NormalizeDouble"을 움직여 보십시오. if (...) { ResetLastError (); int order_send = OrderSend ( Symbol (), order.cmd, 0.01 , NormalizeDouble (order.open_price, Digits ), 1 , NormalizeDouble (order.sl_price, Digits ), NormalizeDouble (order.tp_price, Digits ), "" , 0 , 0 , order.arrow_color); if (order_send == - 1 ) return ; } Tretyakov Rostyslav 2021.10.10 15:45 #16638 EVGENII SHELIPOV # : 티켓으로 //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает суммарный профит открытых позиций в пунктах | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int GetProfitOpenPosInPoint( string sy= "" , int op=- 1 , int mn=- 1 ) { double p; int i, k= OrdersTotal (), pr= 0 ; if (sy== "0" ) sy= Symbol (); for (i= 0 ; i<k; i++) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) { if (mn< 0 || OrderMagicNumber()==mn) { if (OrderTicket()== GetTicketMaxMinOrder( 0 ) || OrderTicket()== GetTicketMaxMinOrder( 1 ) ) { p=MarketInfo(OrderSymbol(), MODE_POINT); if (p== 0 ) if ( StringFind (OrderSymbol(), "JPY" )< 0 ) p= 0.0001 ; else p= 0.01 ; if (OrderType()==OP_BUY) { pr+=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p; } if (OrderType()==OP_SELL) { pr+=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p; } } } } } } return (pr); } Nerd Trader 2021.10.10 15:46 #16639 MakarFX # : "NormalizeDouble"을 움직여 보십시오. 변경 없이 EVGENII SHELIPOV 2021.10.10 16:56 #16640 MakarFX # : Makar는 통화 수익과 포인트 수익을 비교하기 위해 지금까지 어드바이저에 코드를 삽입했습니다. 내가 이해하는 한, 이는 이러한 함수의 값이 0일 때 이해할 수 있습니다. 1...165716581659166016611662166316641665166616671668166916701671...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
따라서 각 새 틱의 조건을 확인해야 합니다. 이전 틱에서 작동하지 않으면 새 틱에서 변경됩니다.
글쎄, 당신은 오류 처리를해야합니다.
오식? 두 함수 모두 하나의 매개변수만 사용할 수 있는 것 같습니다.
어레이를 통해 수행하는 경우 나머지 모두와 함께 작성된 수정 주문의 티켓만 확인하십시오.
네, 감사합니다. 이 경우 개체로 저장하면 티켓 대신 고유한 마법이 더 낫습니다. 그렇지 않으면 동일한 이름을 가진 수십 개의 개체가 생성 됩니다.
오식? 두 함수 모두 하나의 매개변수만 사용할 수 있는 것 같습니다.
번식하지 마십시오
죄송합니다
https://www.mql5.com/ru/docs/objects/objectname
MT5용입니다
그리고 이것은 MT4용입니다.
번식하지 마십시오
죄송합니다
그런데 다음과 같은 오류가 주기적으로 발생하는 이유를 알고 계십니까? 성공적으로 열린 주문 100개의 경우 약 10개가 있습니다.
2021.10.10 16:18:09.853 2021.01.05 21:15:00 test EURUSD,M5: 4051 | order.sl_price: 2.813499706815862e-262 2021.10.10 16:18:09.853 2021.01.05 21:15:00 test EURUSD,M5: OrderSend error 4051 2021.10.10 16:18:09.853 2021.01.05 21:15:00 test EURUSD,M5: unknown trade cmd 406958564 for OrderSend functionorder.sl_price: 2.813499706815862e-262 - 손절매 가격, 분명히 이 숫자는 안됩니다.
4051 - "잘못된 기능 매개변수 값"
unknown trade cmd는 주문 유형입니까? 이것도 문제가 안됩니다.
티켓 또는 가격에 대해 "최소 및 최대"를 의미합니까?
티켓으로
그런데 다음과 같은 오류가 주기적으로 발생하는 이유를 알고 계십니까? 성공적으로 열린 주문 100개의 경우 약 10개가 있습니다.
order.sl_price: 2.813499706815862e-262 - 손절매 가격, 분명히 이 숫자는 안됩니다.
4051 - "잘못된 기능 매개변수 값"
unknown trade cmd는 주문 유형입니까? 이것도 문제가 안됩니다.
"NormalizeDouble"을 움직여 보십시오.
티켓으로
"NormalizeDouble"을 움직여 보십시오.
변경 없이
Makar는 통화 수익과 포인트 수익을 비교하기 위해 지금까지 어드바이저에 코드를 삽입했습니다. 내가 이해하는 한, 이는 이러한 함수의 값이 0일 때 이해할 수 있습니다.