MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1815 1...180818091810181118121813181418151816181718181819182018211822...1953 新しいコメント Tretyakov Rostyslav 2021.12.14 21:23 #18141 Alexander Avksentyev #:修正し、動作するようになりました。もちろん正しくはないのですが、うまくいっています。停止位置がおかしいのですが、どうしたらいいですか? OrderOpenPrice()*Point OrderStopLoss()* Point 1,12500*Point=0.0000112500 Alexander Avksentyev 2021.12.14 21:29 #18142 Tretyakov Rostyslav #:1,12500*Point=0.0000112500Print(/*((*/NormalizeDouble((Bid - OrderOpenPrice()*Point),Digits) 2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373 しかし、別々にカウントすると Print(/*((NormalizeDouble((Bid - */OrderOpenPrice()*Point/*),Digits)/*2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05 Print(/*((NormalizeDouble((*/Bid - OrderOpenPrice()*Point/* 2021.12.15 00:34:05.979 2021.01.04 00:00:00 test1 EURUSD,M1: 1.223727762 Vitaly Muzichenko 2021.12.14 21:42 #18143 secret 取引サーバーによる注文 処理の結果を即座に返します。 mql5では、このような関数は自分で書かなければならないのですか? 。 OnTradeTransaction Документация по MQL5: Обработка событий / OnTradeTransaction www.mql5.com OnTradeTransaction - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Vitaly Muzichenko 2021.12.14 21:44 #18144 Alexander Avksentyev #:2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373 しかし、別々にカウントすると 2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05 2021.12.15 00:34:05.979 2021.01.04 00:00:00 test1 EURUSD,M1: 1.223727762 3-4記事を読む Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2021.12.14www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... secret 2021.12.14 22:10 #18145 Vitaly Muzichenko #:OnTradeTransaction ありがとうございます。ただ地獄)MT5のアルゴトレーダーがかわいそうです。 Vitaly Muzichenko 2021.12.14 22:13 #18146 secret #: ありがとうございます。ただ地獄)mt5のalgotradersが不憫です。 mt5では注文が何倍も速く処理されるので、その価値はあります。そして、テストはもっともっともらしく、テスターのグレイルはほとんどないのです。 Alexander Avksentyev 2021.12.14 22:17 #18147 Vitaly Muzichenko #:3~4件の投稿を読む。ええ、そうです。今、手に入れた。 ありがとうございます。間違いかと思いましたが、当たり前なんですね。 Alexander Avksentyev 2021.12.14 22:18 #18148 Tretyakov Rostyslav #:1,12500*Point=0.0000112500 すべて修正したが、結果は変わらなかった。 もしかして、ロジックにあるのかな? どうにかしてTSLを開くが、停止してしまう。 Tretyakov Rostyslav 2021.12.15 06:08 #18149 Alexander Avksentyev #:直したが、結果は変わらなかった。ロジックのせいかな?まあ、なぜかTSLは開くのですが、ストップとして。 関数は次のようになります。 NormalizeDouble((Bid - OrderOpenPrice()*Point),Digits) NormalizeDouble((1,12700 -1,12500/100000),5) ポイント」の 役割を理解する必要があります。 プリントを作成する。 Print(DoubleToString(NormalizeDouble(Point,Digits),Digits)); Alexander Avksentyev 2021.12.15 09:44 #18150 Tretyakov Rostyslav #:関数は次のようになります。NormalizeDouble((1,12700 -1,12500/100000),5)ポイント」の 役割を理解する必要があります。プリントを作成する 前 void TrailSL() { if(iTrailStart <= 0.0)return; double tp,sl_lev; 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) { if(iTrailTakeProfit > 0.0) { tp=OrderTakeProfit() + NormalizeDouble(iTrailTakeProfit * Point(),_Digits); if(NormalizeDouble(((tp - OrderTakeProfit())) < 0.0,Digits))return; tp = OrderTakeProfit(); }else tp = 0.0; if (NormalizeDouble(Bid - OrderOpenPrice(),Digits) <= iTrailStart * MarketInfo(Symbol(),MODE_POINT) );//true { if(OrderStopLoss() < OrderOpenPrice() || OrderStopLoss() == 0 && NormalizeDouble(Bid - OrderStopLoss(),Digits) <= iTrailDist * MarketInfo(Symbol(),MODE_POINT));//true { if(iTrailStep > 0.0 && OrderStopLoss() != 0.0 && NormalizeDouble((Bid - OrderStopLoss()) - iTrailDist * MarketInfo(Symbol(),MODE_POINT),Digits) < iTrailStep * MarketInfo(Symbol(),MODE_POINT));//true { sl_lev = Bid - iTrailDist * MarketInfo(Symbol(),MODE_POINT); if(NormalizeDouble(Bid - sl_lev,Digits) < MarketInfo(Symbol(),MODE_STOPLEVEL));//false { if(!OrderModify(Forder,OrderOpenPrice(),sl_lev,tp,0,Red))return; Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError()); } } } } } } 後 void TrailSL() { if (iTrailStart <= 0.0 || iTrailStep <= 0.0) return; double sl_lev; for (int i = OrdersTotal() - 1; i >= 0; i--) { if(!OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) continue; if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue; if(OrderType() == OP_BUY) { if (NormalizeDouble(Bid - OrderOpenPrice(),Digits) < iTrailStart * MarketInfo(Symbol(),MODE_POINT) ) continue; if (OrderStopLoss() >= OrderOpenPrice() || NormalizeDouble(Bid - OrderStopLoss(), Digits()) < iTrailDist * MarketInfo(Symbol(),MODE_POINT)) continue; if (OrderStopLoss() == 0.0 || NormalizeDouble((Bid - OrderStopLoss()) - iTrailDist * MarketInfo(Symbol(),MODE_POINT),Digits) < iTrailStep * MarketInfo(Symbol(),MODE_POINT)) continue; sl_lev = Bid - iTrailDist * MarketInfo(Symbol(),MODE_POINT); if (NormalizeDouble(Bid - sl_lev,Digits) < MarketInfo(Symbol(),MODE_STOPLEVEL)) continue; if (!OrderModify(OrderTicket(), OrderOpenPrice(), sl_lev, OrderTakeProfit(), 0, clrRed)) Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError()); }}} しかし、今は全く電源が入らなくなった。 コンパイラやターミナルにエラーはなく、ただ電源が入らないだけです。 魔法の問題は何ですか? 何ですか? 乱入してすみませんでした。 1...180818091810181118121813181418151816181718181819182018211822...1953 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
修正し、動作するようになりました。もちろん正しくはないのですが、うまくいっています。
停止位置がおかしいのですが、どうしたらいいですか?
OrderOpenPrice()*Point
OrderStopLoss()* Point
1,12500*Point=0.0000112500
1,12500*Point=0.0000112500
2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373
2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05
。
OnTradeTransaction
2021.12.15 00:26:55.086 2021.01.04 00:00:00 test1 EURUSD,M1: 1.22373
2021.12.15 00:30:09.557 2021.01.04 00:00:00 test1 EURUSD,M1: 1.2238e-05
3-4記事を読む
OnTradeTransaction
ありがとうございます。ただ地獄)mt5のalgotradersが不憫です。
mt5では注文が何倍も速く処理されるので、その価値はあります。そして、テストはもっともっともらしく、テスターのグレイルはほとんどないのです。
3~4件の投稿を読む。
ええ、そうです。今、手に入れた。
ありがとうございます。間違いかと思いましたが、当たり前なんですね。1,12500*Point=0.0000112500
すべて修正したが、結果は変わらなかった。
もしかして、ロジックにあるのかな?
どうにかしてTSLを開くが、停止してしまう。
直したが、結果は変わらなかった。
ロジックのせいかな?
まあ、なぜかTSLは開くのですが、ストップとして。
関数は次のようになります。
NormalizeDouble((1,12700 -1,12500/100000),5)
ポイント」の 役割を理解する必要があります。
プリントを作成する。
関数は次のようになります。
NormalizeDouble((1,12700 -1,12500/100000),5)
ポイント」の 役割を理解する必要があります。
プリントを作成する
前
後
しかし、今は全く電源が入らなくなった。
コンパイラやターミナルにエラーはなく、ただ電源が入らないだけです。
魔法の問題は何ですか?
何ですか?
乱入してすみませんでした。