MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1640 1...163316341635163616371638163916401641164216431644164516461647...1953 新しいコメント Tretyakov Rostyslav 2021.10.02 08:24 #16391 EVGENII SHELIPOV #:皆さん、ごきげんよう!!!注文のグリッドの平均価格からグループ注文のトレーリングストップを行うEAのコードを書いています。ログにエラーはありませんが、トロールも動きません。以下はそのコードです。このエラーが発生した場所を教えてください。ありがとうございました。 トロールの位置が違う! このように表示されるはずです。 損益分岐価格+profit-tral! = TakeProfitであれば、トロールを開始! このデータはどこから来ているのですか? //+----------------------------------------------------------------------------+ //| Трейлинг стоп групповых ордеров | //+----------------------------------------------------------------------------+ void TrailingGroupOrder() { price += OrderOpenPrice() * OrderLots(); order_lots += OrderLots() ; for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) オーダーオープン価格 選択された注文の建値を返します。 doubleOrderOpenPrice()。 注 注文は、OrderSelect() 関数で事前に選択されている必要があります。 Maksim Burov 2021.10.02 12:48 #16392 MakarFX #: ありがとうございました) EVGENII SHELIPOV 2021.10.02 12:59 #16393 MakarFX #:トロールが立っているのはそこじゃない!?このようになるはずです。もし、損益分岐価格+利益-トラル!=TakeProfitであれば、トロールを実行する。 Good afternoon Makar!!!! 私が理解する限りでは、これが問題のラインです。この場合、買い注文となる。 if(Bid - NormalizeDouble(price / order_lots, Digits) > TrailingStopGroupOrder*Point || OrderStopLoss() == 0) マカーさん、もう少し詳しく教えてください。 EVGENII SHELIPOV 2021.10.02 13:06 #16394 MakarFX #:トロールが立っているのはそこじゃない!?このようになるはずです。もし、損益分岐価格+利益-トラル!=TakeProfitであれば、トロールを実行する。このデータはどこから来ているのですか? 今日はなぞなぞのような話だな、マカー。 また、「なぜ、損益分岐点を調べずに計算するのか? EVGENII SHELIPOV 2021.10.02 13:07 #16395 MakarFX #:トロールが立っているのはそこじゃない!?このようになるはずです。もし、損益分岐価格+利益-トラル!=TakeProfitであれば、トロールを実行する。このデータはどこから来ているのですか? オーダーオープン価格 選択された注文の建値を返します。 doubleOrderOpenPrice()。 注 注文は、OrderSelect() 関数で事前に選択されている必要があります。 はい、そう思っていたら、すでに書かれていたんですね。 Tretyakov Rostyslav 2021.10.02 13:22 #16396 EVGENII SHELIPOV #:Good afternoon Makar!!!!私が理解した限りでは、これが問題のラインです。この場合、買い注文となる。マカーさん、もう少し詳しく教えてください。 注文のグループがあり、損益分岐点を定義し、ラインを作成します。これは別の関数として行う方がよいでしょう avg_price = NormalizeDouble(price / order_lots, Digits); { ObjectDelete(0, "AveragePriceLine"); ObjectCreate(0,"AveragePriceLine" ,OBJ_HLINE, 0, 0, avg_price); ObjectSet("AveragePriceLine",OBJPROP_COLOR, Magenta); } 次に、取得したい利益値をpipsで指定し、avg_priceに加算/減算します。 if (otype == OP_BUY) tp = NormalizeDouble (avg_price + TakeProfitGroupOrder*Point, Digits); if (otype == OP_SELL) tp = NormalizeDouble (avg_price - TakeProfitGroupOrder*Point, Digits); そして、別のトロール機能 買いの場合:BID > avg_price = OrderModify() for sales: if avg < avg_price = OrderModify() 残念ながら、あなたのコードには論理的なアクションが見当たりません(主観的に)。 Tretyakov Rostyslav 2021.10.02 13:33 #16397 EVGENII SHELIPOV #:そう思っていたら、もう書いてあったんですね。 機能を分けて、自分が操作しやすいようにする。 以下は、OnTick()の例です。 //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(GetProfitFromStart()>CountProfit || GetProfitFromStart()<CountLoss*-1) { CloseOrder(); } sl = MathMax(Stoploss, MarketInfo(_Symbol, MODE_STOPLEVEL)) * Point(); SL = NormalizeDouble(sl*Point(),Digits); tp = MathMax(Takeprofit, MarketInfo(_Symbol, MODE_STOPLEVEL)) * Point(); TP = NormalizeDouble(tp*Point(),Digits); //--- if(CountOrders()==0&&ObjectGetInteger(0,"lab_Button",OBJPROP_STATE)) { if(TradeSignal()>=0) { SendOrder(TradeSignal()); } } //--- if (!IsTradeAllowed()) {DrawLABEL("lab_Торговля",0,0,0,clrRed,"Торговля запрещена"); return;} else {DrawLABEL("lab_Торговля",0,0,0,clrLime,"Торговля разрешена");} } //+------------------------------------------------------------------+ 見ての通り、関数呼び出ししかありません EVGENII SHELIPOV 2021.10.02 15:20 #16398 MakarFX #:機能を分離して、操作しやすくする。 以下は、OnTick()の例です。見ての通り、関数の呼び出ししかありません。 マカーさん、ありがとうございます。 思考を集中して、このように考えてみます。 Tretyakov Rostyslav 2021.10.02 15:33 #16399 EVGENII SHELIPOV #:マカーさん、ありがとうございます。 自分の考えをまとめて、その方向で考えてみます。(声を上げて) Анатолий Железняк 2021.10.02 15:57 #16400 Question: どうすればEAの親権を外せるか?もしかしたら、私が知らないスクリーンショットやmt4の機能が既にあるのかもしれません。ぜひ、ご教示ください。mql 3, 4, 5などを勉強する意欲と可能性がない。 1...163316341635163616371638163916401641164216431644164516461647...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん、ごきげんよう!!!
注文のグリッドの平均価格からグループ注文のトレーリングストップを行うEAのコードを書いています。
ログにエラーはありませんが、トロールも動きません。以下はそのコードです。このエラーが発生した場所を教えてください。ありがとうございました。
トロールの位置が違う!
このように表示されるはずです。
損益分岐価格+profit-tral! = TakeProfitであれば、トロールを開始!
このデータはどこから来ているのですか?
オーダーオープン価格
選択された注文の建値を返します。
doubleOrderOpenPrice()。
注
注文は、OrderSelect() 関数で事前に選択されている必要があります。
ありがとうございました)
トロールが立っているのはそこじゃない!?
このようになるはずです。
もし、損益分岐価格+利益-トラル!=TakeProfitであれば、トロールを実行する。
Good afternoon Makar!!!!
私が理解する限りでは、これが問題のラインです。この場合、買い注文となる。
マカーさん、もう少し詳しく教えてください。
トロールが立っているのはそこじゃない!?
このようになるはずです。
もし、損益分岐価格+利益-トラル!=TakeProfitであれば、トロールを実行する。
このデータはどこから来ているのですか?
今日はなぞなぞのような話だな、マカー。
また、「なぜ、損益分岐点を調べずに計算するのか?
トロールが立っているのはそこじゃない!?
このようになるはずです。
もし、損益分岐価格+利益-トラル!=TakeProfitであれば、トロールを実行する。
このデータはどこから来ているのですか?
オーダーオープン価格
選択された注文の建値を返します。
doubleOrderOpenPrice()。
注
注文は、OrderSelect() 関数で事前に選択されている必要があります。
はい、そう思っていたら、すでに書かれていたんですね。
Good afternoon Makar!!!!
私が理解した限りでは、これが問題のラインです。この場合、買い注文となる。
マカーさん、もう少し詳しく教えてください。
注文のグループがあり、損益分岐点を定義し、ラインを作成します。これは別の関数として行う方がよいでしょう
次に、取得したい利益値をpipsで指定し、avg_priceに加算/減算します。
そして、別のトロール機能
買いの場合:BID > avg_price = OrderModify()
for sales: if avg < avg_price = OrderModify()
残念ながら、あなたのコードには論理的なアクションが見当たりません(主観的に)。
そう思っていたら、もう書いてあったんですね。
機能を分けて、自分が操作しやすいようにする。
以下は、OnTick()の例です。
見ての通り、関数呼び出ししかありません
機能を分離して、操作しやすくする。
以下は、OnTick()の例です。
見ての通り、関数の呼び出ししかありません。
マカーさん、ありがとうございます。 思考を集中して、このように考えてみます。
マカーさん、ありがとうございます。 自分の考えをまとめて、その方向で考えてみます。