MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1839 1...183218331834183518361837183818391840184118421843184418451846...1953 新しいコメント EVGENII SHELIPOV 2022.01.01 13:00 #18381 こんにちは!!!皆さん、明けましておめでとうございます!!! 以下は、グリッドにおける注文の平均価格の表示を示すスクリーンショットです。 以下は、平均価格と銘打った横線を作成するコードです。 //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 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_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,100); ObjectSet("signal4",OBJPROP_YDISTANCE,260); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 100); ObjectSet("signal3",OBJPROP_YDISTANCE, 280); ObjectSetText("signal3", "- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); return(avg_price); } 以下は、横線を除去するコードです。 //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if(CountTrade() == 0) { if(ObjectFind(0,"AveragePriceLine" + IntegerToString(0))==0&&CountTrade(0)<1)//для бай { ObjectDelete(0,"AveragePriceLine"+ IntegerToString(0)); } if(ObjectFind(0,"AveragePriceLine" + IntegerToString(1))==0&&CountTrade(1)<1)//для селл { ObjectDelete(0,"AveragePriceLine" + IntegerToString(1)); } } 行の上に銘板が表示され、行を削除すると銘板が削除されるように、コードを書き直すのを手伝ってください ご協力ありがとうございました。 Andrei Sokolov 2022.01.01 14:08 #18382 EVGENII SHELIPOV #:というようにコードを書き換えるのを手伝ってください。 助けられると したら、具体的に何ができないのでしょうか? EVGENII SHELIPOV 2022.01.01 14:26 #18383 Andrey Sokolov #:助けられると したら、具体的に何ができないのでしょうか? 失礼のないようにしましょう。 やり方を知っていたら、ここに来なかったでしょう。 問題は非常にシンプルで、水平線を基準にした碑文の座標を知る必要があるのですが、その計算方法がわかりません。 Andrei Sokolov 2022.01.01 14:37 #18384 EVGENII SHELIPOV #:失礼のないようにしましょう。 やり方を知っていたら、ここに来なかったでしょう。質問としては、水平線を基準にした碑文の座標を知りたいのですが、計算方法がわかりません。 失礼のないようにしよう」ってどういうこと?私は「助けて」と書いて「してもらう」ではなかったか。 Tretyakov Rostyslav 2022.01.01 17:22 #18385 EVGENII SHELIPOV #:こんにちは!!!皆さん、明けましておめでとうございます!!!水平線を除去するウォーターコードありがとうございました。 これで十分すぎるほどです。 //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if(CountTrade() == 0) { ObjectsDeleteAll(0,"AveragePriceLine"); } EVGENII SHELIPOV#: 問題は非常にシンプルで、水平線を基準にした碑文の座標を知る必要があるのですが、その計算方法がわかりません。 ここで支援できること ChartTimePriceToXY(チャートタイムプライストゥーエックスワイ チャートXYToTimePrice EVGENII SHELIPOV 2022.01.02 09:51 #18386 Tretyakov Rostyslav #:十分すぎるほどです。ここでは、そのヘルプをご紹介します。ChartTimePriceToXY(チャートタイムプライストゥーエックスワイチャートXYToTimePrice Rostislavさん、ありがとうございます。しかし、私は何か間違っているようです。 0Y軸だけを変更したいのですが、銘板が水平線と結婚したがりません。 コードとスクリーンショットを添付しますので、エラー箇所を教えてください。 //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; int x = 0, y = 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_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,500); ChartTimePriceToXY(0, 0, 0,avg_price, x, y); ObjectSet("signal4",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 500); ChartTimePriceToXY(0, 0, 0, avg_price, x, y); ObjectSet("signal3",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal3","- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); return(avg_price); } Tretyakov Rostyslav 2022.01.02 10:37 #18387 EVGENII SHELIPOV #:Rostislav, 教えてくれてありがとう、でも何か間違っているようだ。0Y軸だけを変更したいのですが、銘板が水平線と結婚したがりません。コードとスクリーンショットを添付しますが、どこがエラーになっているか教えてください。 ブラケットもお忘れなく。 //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; int x = 0, y = 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_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) { ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,500); ChartTimePriceToXY(0, 0, 0,avg_price, x, y); ObjectSet("signal4",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); } if(ot==1) { ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 500); ChartTimePriceToXY(0, 0, 0, avg_price, x, y); ObjectSet("signal3",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal3","- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); } return(avg_price); } EVGENII SHELIPOV 2022.01.02 11:18 #18388 Tretyakov Rostyslav #:ブラケットもお忘れなく。 いや、他にも足りないものがある。 Tretyakov Rostyslav 2022.01.02 13:26 #18389 EVGENII SHELIPOV #:いいえ、何かが足りないのです ログブックに誤りがあること Vitaly Muzichenko 2022.01.04 11:30 #18390 配列にコピーする MqlRates CopySymb[]; if(CopyRates(mSymbol,PERIOD_CURRENT,0,6,CopySymb)<0) return; Print( ArrayMaximum(???) ); 配列の最大値を取得する方法を教えてください。 1...183218331834183518361837183818391840184118421843184418451846...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは!!!皆さん、明けましておめでとうございます!!!
以下は、グリッドにおける注文の平均価格の表示を示すスクリーンショットです。
以下は、平均価格と銘打った横線を作成するコードです。
以下は、横線を除去するコードです。
行の上に銘板が表示され、行を削除すると銘板が削除されるように、コードを書き直すのを手伝ってください
ご協力ありがとうございました。
というようにコードを書き換えるのを手伝ってください。
助けられると したら、具体的に何ができないのでしょうか?
助けられると したら、具体的に何ができないのでしょうか?
失礼のないようにしましょう。 やり方を知っていたら、ここに来なかったでしょう。
問題は非常にシンプルで、水平線を基準にした碑文の座標を知る必要があるのですが、その計算方法がわかりません。
失礼のないようにしましょう。 やり方を知っていたら、ここに来なかったでしょう。
質問としては、水平線を基準にした碑文の座標を知りたいのですが、計算方法がわかりません。
失礼のないようにしよう」ってどういうこと?私は「助けて」と書いて「してもらう」ではなかったか。
こんにちは!!!皆さん、明けましておめでとうございます!!!
水平線を除去するウォーターコード
ありがとうございました。
これで十分すぎるほどです。
問題は非常にシンプルで、水平線を基準にした碑文の座標を知る必要があるのですが、その計算方法がわかりません。
ここで支援できること
ChartTimePriceToXY(チャートタイムプライストゥーエックスワイ
チャートXYToTimePrice
十分すぎるほどです。
ここでは、そのヘルプをご紹介します。
ChartTimePriceToXY(チャートタイムプライストゥーエックスワイ
チャートXYToTimePrice
Rostislavさん、ありがとうございます。しかし、私は何か間違っているようです。
0Y軸だけを変更したいのですが、銘板が水平線と結婚したがりません。
コードとスクリーンショットを添付しますので、エラー箇所を教えてください。
Rostislav, 教えてくれてありがとう、でも何か間違っているようだ。
0Y軸だけを変更したいのですが、銘板が水平線と結婚したがりません。
コードとスクリーンショットを添付しますが、どこがエラーになっているか教えてください。
ブラケットもお忘れなく。
ブラケットもお忘れなく。
いや、他にも足りないものがある。
いいえ、何かが足りないのです
配列にコピーする
配列の最大値を取得する方法を教えてください。