MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1680 1...167316741675167616771678167916801681168216831684168516861687...1953 新しいコメント EVGENII SHELIPOV 2021.10.18 19:48 #16791 MakarFX #: 添付してみます、ありがとうございました。売り注文の処理方法について質問です。 Tretyakov Rostyslav 2021.10.18 19:50 #16792 EVGENII SHELIPOV #:やってみます、ありがとうございました。売り注文の処理方法について質問です。 Semyon Semyonych... 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 19:56 #16793 MakarFX #: Semyon Semyonych... マカー 1つの機能に詰め込むと、なぜこんなに複雑になるのですか?それとも、私が理解していないことがあるのでしょうか? Nerd Trader 2021.10.18 19: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 20:02 #16795 Nerd Trader #: 解説には、majicを書き込み配列に送ると書いてありますが、majicが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 20:05 #16796 EVGENII SHELIPOV #:マカー 1つの機能に詰め込むと、なぜこんなに複雑になるのですか?それとも、私が理解していないことがあるのでしょうか? 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 20:11 #16797 MakarFX #: マカー、お前、俺にメロメロだな。 Makarさん、ありがとうございます。 機能を少し変えたら、うまくいきました。 Nerd Trader 2021.10.18 20:20 #16798 MakarFX #:一般的なロジックがよく分からないので、機能を分けて考えてみる これでGetMagicは、保留中の注文を送信する瞬間に一意のマジックを生成し、retornでそれを返すはずです。あなたのバージョンでは、ループは1つだけなので、注文が終了すると、とにかくelseが実行され、magic == OrderMagicNumber() は常にtrueになります。magic != OrderMagicNumber() が真でないとき、magic が一意であることを意味し、最初の for(;;) で自分だけインクリメントさ れるようにしたいです。 Tretyakov Rostyslav 2021.10.18 20:23 #16799 Nerd Trader #: パーソナルメッセージを確認する Denis Mironov 2021.10.18 20:36 #16800 こんにちは、私は次の問題に直面しています:EAが保留中の注文を 開いたが、端末はそれを追跡せず、それは取引履歴に存在しないです。このような問題に直面したことのある方がいらっしゃいましたら、アドバイスをお願いします。 1...167316741675167616771678167916801681168216831684168516861687...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
添付してみます、ありがとうございました。売り注文の処理方法について質問です。
やってみます、ありがとうございました。売り注文の処理方法について質問です。
Semyon Semyonych...
マカー 1つの機能に詰め込むと、なぜこんなに複雑になるのですか?それとも、私が理解していないことがあるのでしょうか?
解説には、majicを書き込み配列に送ると書いてありますが、majicがretornに 戻れば良いので、誤解のないようにお願いします。
一般的なロジックがよく分からないので、機能を分けて考えてみる
マカー 1つの機能に詰め込むと、なぜこんなに複雑になるのですか?それとも、私が理解していないことがあるのでしょうか?
マカー、お前、俺にメロメロだな。
Makarさん、ありがとうございます。 機能を少し変えたら、うまくいきました。
一般的なロジックがよく分からないので、機能を分けて考えてみる
パーソナルメッセージを確認する