MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1620 1...161316141615161616171618161916201621162216231624162516261627...1953 新しいコメント pribludilsa 2021.09.20 13:25 #16191 Volodymyr Zubov #:https://www.mql5.com/ru/docs/predefined/_digits 引用ではなく、変数です。文字列変数にカウントがあり、double が指定された精度で文字列変数に変換される。これはもちろん強いです。 pribludilsa 2021.09.20 13:31 #16192 Volodymyr Zubov #:https://www.mql5.com/ru/docs/predefined/_digits ちなみに、これは5桁で見積もったものが、小数点以下5桁以上で入ってくるというテーマで。自動チェックをしたかったのですが、この言語ではそう簡単ではないことがわかりました。とりあえず、プリンターで手動で確認しました。小数点以下が5桁もない、そんなことはよくあることなのでしょうか?もしかして、第4ターミナルにあったのかな? pribludilsa 2021.09.20 13:44 #16193 OK、メッセージの組織的な無視がある。またスレッドを立ち上げるべき Valeriy Yastremskiy 2021.09.20 14:19 #16194 pribludilsa #: なるほど、組織的なメッセージの無視があるんですね。またスレッドを立ち上げるべき は、すでにこのテーマに関するトピックがあります。を文字列に変換し、文字列の数を数える。本当は小数点の前の桁数をまず数えなければならないのですが。整数に変換することができます。しかも、文字列がぎこちない)))) giros 2021.09.20 15:46 #16195 Alexey Viktorov #:mt4テスターでは、他のペアで注文を出すことはできませんが、それ以外は問題なく使用できます。 ありがとうございます。確かに、テスターで他の機器からインジケーターの値を取得することは可能です。 Alexander #: AUDUSDのクォートの可用性を、正しいTFで確認する。 まさにそれが問題だったのです。問題は、休日(日曜日)にテストをしていて、必要なシンボル(AUDUSD)の相場アーカイブを「ダウンロード」したのですが、その休日にFXディーラーのサーバーが利用できないため、ダウンロードされていないだけだということが判明しました。そして本日月曜日、見積書アーカイブのダウンロードとテストが成功しました。 。 MakarFX#: すみません、間違えました、自分でも知りませんでした。 大丈夫、プライベートメッセージでの返信の方がよっぽど貴重なんです。 ここで回答してくれる人たちがいて、助け合えるのは本当にありがたいことです。すべての回答がドキュメントに記載されているわけではありません) pribludilsa 2021.09.20 16:06 #16196 Valeriy Yastremskiy #:は、すでにこのテーマに関するトピックがあります。を文字列に変換し、文字列の数を数える。本当は小数点の前の桁数をまず数えなければならないのですが。整数に変換することができます。あと、文字列に)))を持ってくるのもちょっとやっかいですね。 はい、私もそうしたかったのですが、doubleからstringへの変換だけは、精度を指定して行い、精度を指定しない場合は、デフォルトで8桁にします。 pribludilsa 2021.09.20 16:15 #16197 Valeriy Yastremskiy #:は、すでにこのテーマに関するトピックがあります。を文字列に変換し、文字列の数を数える。本当は小数点の前の桁数をまず数えなければならないのですが。整数に変換することができます。しかも、文字列がぎこちない)))) 整数変換は、そうですね、それしかないでしょう。私も思いついたのですが、掛け算の循環とか、10で割るとか、面倒くさそうなんですよね。まだよく考えていないんです。 EVGENII SHELIPOV 2021.09.20 17:23 #16198 MakarFX #: //+----------------------------------------------------------------------------+ //| Модификация ордеров | //+----------------------------------------------------------------------------+ void ModifyOrders(int otype) { double BuyPriceMax = 0, BuyPriceMin = 0, BuyPriceMaxLot = 0, BuyPriceMinLot = 0, SelPriceMin = 0, SelPriceMax = 0, SelPriceMinLot = 0, SelPriceMaxLot = 0; int BuyPriceMaxTic = 0, BuyPriceMinTic = 0, SelPriceMaxTic = 0, SelPriceMinTic = 0; double op = 0, lt = 0, order_lots = 0; int tk = 0, b = 0, s = 0; price = 0;tp = 0; for(int i = OrdersTotal() - 1; i >= 0; i--) if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) if(OrderMagicNumber() == Magic) if(OrderSymbol() == Symbol() && OrderType() == otype) { op = NormalizeDouble(OrderOpenPrice(), Digits()); lt = NormalizeDouble(OrderLots(), 2); tk = OrderTicket(); if(otype == OP_BUY) { b++; if(op > BuyPriceMax || BuyPriceMax == 0) { BuyPriceMax = op; BuyPriceMaxLot = lt; BuyPriceMaxTic = tk; } if(op < BuyPriceMin || BuyPriceMin == 0) { BuyPriceMin = op; BuyPriceMinLot = lt; BuyPriceMinTic = tk; } } if(otype == OP_SELL) { s++; if(op > SelPriceMax || SelPriceMax == 0) { SelPriceMax = op; SelPriceMaxLot = lt; SelPriceMaxTic = tk; } if(op < SelPriceMin || SelPriceMin == 0) { SelPriceMin = op; SelPriceMinLot = lt; SelPriceMinTic = tk; } } if (otype == OP_BUY || otype == OP_SELL) { price += OrderOpenPrice() * OrderLots(); order_lots += OrderLots(); } } //*************************************************************// double AwerageBuyPrice = 0, AwerageSelPrice = 0, avg_price = 0; if(b >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) AwerageBuyPrice = NormalizeDouble((BuyPriceMax*BuyPriceMaxLot + BuyPriceMin*BuyPriceMinLot)/ (BuyPriceMaxLot + BuyPriceMinLot) + TakeProfitMinMaxOrder* Point(), Digits()); if(s >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) AwerageSelPrice = NormalizeDouble((SelPriceMax * SelPriceMaxLot + SelPriceMin * SelPriceMinLot)/ (SelPriceMaxLot + SelPriceMinLot) - TakeProfitMinMaxOrder* Point(), Digits()); if (Drawdown < DrawdownClosingMinMaxOrder) avg_price = NormalizeDouble(price / order_lots, Digits); //*************************************************************// for(int i = OrdersTotal() - 1; i >= 0; i--) if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) if(OrderMagicNumber() == Magic) if(OrderSymbol() == Symbol()) { op = NormalizeDouble(OrderOpenPrice(), Digits()); tp = NormalizeDouble(OrderTakeProfit(), Digits()); lt = NormalizeDouble(OrderLots(), 2); tk = OrderTicket(); if(otype == OP_BUY && b >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) { if(tk == BuyPriceMaxTic || tk == BuyPriceMinTic) if(Bid < AwerageBuyPrice && tp != AwerageBuyPrice) if(!OrderModify(tk, op, OrderStopLoss(), AwerageBuyPrice, 0, clrRed)) Print("OrderModify error #", GetLastError()); if(tk != BuyPriceMaxTic && tk != BuyPriceMinTic && tp != 0) if(!OrderModify(tk, op, 0, 0, 0, clrRed)) Print("OrderModify error #", GetLastError()); } if(otype == OP_SELL && s >= 2 && Drawdown >= DrawdownClosingMinMaxOrder) { if(tk == SelPriceMaxTic || tk == SelPriceMinTic) if(Ask > AwerageSelPrice && tp != AwerageSelPrice) if(!OrderModify(tk, op, OrderStopLoss(), AwerageSelPrice, 0, clrRed)) Print("OrderModify error #", GetLastError()); if(tk != SelPriceMaxTic && tk != SelPriceMinTic && tp != 0) if(!OrderModify(tk, op, 0, 0, 0, clrRed)) Print("OrderModify error #", GetLastError()); } if (Drawdown < DrawdownClosingMinMaxOrder) if (otype == OP_BUY) tp = NormalizeDouble (avg_price + TakeProfitGroupOrder*Point, Digits); if (otype == OP_SELL) tp = NormalizeDouble (avg_price - TakeProfitGroupOrder*Point, Digits); { if(OrderModify(OrderTicket(), OrderOpenPrice(), 0, tp, 0)) Print("Ордера успешно модифицированы!"); else Print("Ошибка модификации ордеров!"); } } } Alexey Viktorov 2021.09.20 18:01 #16199 Valeriy Yastremskiy #:私が知らないことがあるのでしょうか?また、他の測定器からテスターの時刻でバーデータを取得することはできず、現在の時刻で受信することになります。だから、4kaでは計算部分だけでも多通貨のテストができないんです。いつも思うのですが、MT4のテスターは1つの楽器の環境を完全にエミュレートし、MT5は利用可能な環境を全てエミュレートしています。それとも、そうではないのでしょうか? ヴァレリー、セリフに注目 sd = (int)MarketInfo("EURJPY", MODE_DIGITS); は、私のコードに含まれています...私は長い間、hex関数を使ってきましたが、以下は似たような関数です。 SymbolInfoInteger("EURJPY", SYMBOL_DIGITS); はスタッキー0を出した。 だから、どこにバグがあるか考えてみてください...そして、mt4がサポートを拒否している以上、絶対に修正されないと思ってください...。 それ以外はすべてチェックしなければならない。思い出したくもないくらい長い間、気にもしていませんでした。 giros 2021.09.21 14:23 #16200 Alexey Viktorov #: フライデー機能をずっと使っています MQL5を(ロシア語で)学べるところを教えてください。 1...161316141615161616171618161916201621162216231624162516261627...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
https://www.mql5.com/ru/docs/predefined/_digits
https://www.mql5.com/ru/docs/predefined/_digits
なるほど、組織的なメッセージの無視があるんですね。またスレッドを立ち上げるべき
は、すでにこのテーマに関するトピックがあります。を文字列に変換し、文字列の数を数える。本当は小数点の前の桁数をまず数えなければならないのですが。整数に変換することができます。しかも、文字列がぎこちない))))
mt4テスターでは、他のペアで注文を出すことはできませんが、それ以外は問題なく使用できます。
AUDUSDのクォートの可用性を、正しいTFで確認する。
。
すみません、間違えました、自分でも知りませんでした。
ここで回答してくれる人たちがいて、助け合えるのは本当にありがたいことです。すべての回答がドキュメントに記載されているわけではありません)
は、すでにこのテーマに関するトピックがあります。を文字列に変換し、文字列の数を数える。本当は小数点の前の桁数をまず数えなければならないのですが。整数に変換することができます。あと、文字列に)))を持ってくるのもちょっとやっかいですね。
はい、私もそうしたかったのですが、doubleからstringへの変換だけは、精度を指定して行い、精度を指定しない場合は、デフォルトで8桁にします。
は、すでにこのテーマに関するトピックがあります。を文字列に変換し、文字列の数を数える。本当は小数点の前の桁数をまず数えなければならないのですが。整数に変換することができます。しかも、文字列がぎこちない))))
私が知らないことがあるのでしょうか?また、他の測定器からテスターの時刻でバーデータを取得することはできず、現在の時刻で受信することになります。だから、4kaでは計算部分だけでも多通貨のテストができないんです。
いつも思うのですが、MT4のテスターは1つの楽器の環境を完全にエミュレートし、MT5は利用可能な環境を全てエミュレートしています。
それとも、そうではないのでしょうか?
ヴァレリー、セリフに注目
は、私のコードに含まれています...私は長い間、hex関数を使ってきましたが、以下は似たような関数です。
はスタッキー0を出した。
だから、どこにバグがあるか考えてみてください...そして、mt4がサポートを拒否している以上、絶対に修正されないと思ってください...。
それ以外はすべてチェックしなければならない。思い出したくもないくらい長い間、気にもしていませんでした。
Alexey Viktorov #:
フライデー機能をずっと使っています
MQL5を(ロシア語で)学べるところを教えてください。