MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1694 1...168716881689169016911692169316941695169616971698169917001701...1953 新しいコメント Galim_V 2021.10.24 11:35 #16931 Aleksei Stepanenko #:なぜそのようにするのか、本来はブーリアン関数なのですが。 こんな感じです。enumの場合、要素は0から始まるので、Ok=0 , AllocError=1。すなわち、GetRepeat は 0 または 1 を返します。それぞれGetRepeatは戻り値の否定です0が偽、1が真です。 頭を壊すのは簡単です その通り!))ありがとう、アレクセイ! Aleksei Stepanenko 2021.10.24 11:44 #16932 どういたしまして :) EVGENII SHELIPOV 2021.10.24 13:56 #16933 ごきげんよう!!! ここでは、グリッド状に並んだ注文の平均価格を計算し、チャートに表示する関数を紹介します。グリッドを閉じた後、平均線を示す水平線は削除されません。 注文のグリッドが閉じられた後、これらの行が削除されるような関数を書くのを手伝ってください。ありがとうございます!!! //+----------------------------------------------------------------------------+ //| Расчет среденй цены (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); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrMagenta); return(avg_price); } Tretyakov Rostyslav 2021.10.24 14:08 #16934 EVGENII SHELIPOV #:ごきげんよう!!!ここでは、グリッド状に並んだ注文の平均価格を計算し、チャートに表示する関数を紹介します。グリッドを閉じた後、平均線を示す水平線は削除されません。注文のグリッドが閉じられた後、これらの行が削除されるような関数を書くのを手伝ってください。ありがとうございます!!! ここはその場ではありません。 void OnTick() { //--- if(ObjectFind(0,"AveragePriceLine"+0)==0&&CountTrade(0)<1)//для бай {ObjectDelete(0,"AveragePriceLine"+0);} if(ObjectFind(0,"AveragePriceLine"+1)==0&&CountTrade(1)<1)//для селл {ObjectDelete(0,"AveragePriceLine"+1);} ..... } EVGENII SHELIPOV 2021.10.24 14:25 #16935 MakarFX #:ここはその場ではありません。 Makarさん、void OnTick()でどのようにバインドするのでしょうか? EVGENII SHELIPOV 2021.10.24 14:56 #16936 MakarFX #:ここはその場ではありません。 マカーさん、ありがとうございます!ちょっとファイルを加工すれば大丈夫です。 EVGENII SHELIPOV 2021.10.24 16:18 #16937 アドバイスをお願いします。 Expert Advisor は、オープンオーダーの開始時刻と終了時刻を設定します。この時間をチャートに表示させたい。まだできていないのです。以下はそのコードです。お願いしたいことがあります! //-------------------------------------------------------------------+ Команда на открытие первых ордеров в сетке if((UseHour==1&&Hour()>=StartTime&&Hour()<=StopTime)||UseHour==0) ObjectCreate(0, "Начало торговли", OBJ_VLINE,0,0, StartTime); ObjectSetInteger(0, "Начало торговли",OBJPROP_COLOR, clrBlue); ObjectCreate(0,"Окончание торговли", OBJ_VLINE, 0, 0, StopTime); ObjectSetInteger(0, "Окончание торговли", OBJPROP_COLOR, clrBlue); { if(CountTrade(0)==0 && CountTrade(1)==0 && TradeSignal()==0) SendFirsOrder(0); if(CountTrade(1)==0 && CountTrade(0)==0 && TradeSignal()==1) SendFirsOrder(1); } Tretyakov Rostyslav 2021.10.24 16:34 #16938 EVGENII SHELIPOV #:アドバイスをお願いします。Expert Advisor は、オープンオーダーの開始時刻と終了時刻を設定します。この時間をチャートに表示させたい。まだできていないのです。以下はそのコードです。お願いしたいことがあります! StartTimeとStopTimeの変数を表示する EVGENII SHELIPOV 2021.10.24 16:35 #16939 MakarFX #: StartTimeとStopTimeの変数を表示します。 extern string TIME = "Настройки времени"; extern int UseHour = 1; // Торговля в установленное время "0"-ВЫКЛ, "1"-ВКЛ extern int StartTime = 1; // Начало торговли extern int StopTime = 19; // Окончание торговли Tretyakov Rostyslav 2021.10.24 17:13 #16940 EVGENII SHELIPOV #: if((UseHour==1&&Hour()>=StartTime&&Hour()<=StopTime)||UseHour==0) { if(ObjectFind(0,"Начало торговли"+TimeToString(Time[0],TIME_DATE))!=0) { ObjectCreate(0,"Начало торговли"+TimeToString(Time[0],TIME_DATE),OBJ_VLINE,0,Time[0]+(StartTime*3600),0); ObjectSetInteger(0,"Начало торговли"+TimeToString(Time[0],TIME_DATE),OBJPROP_COLOR, clrBlue); ObjectCreate(0,"Окончание торговли"+TimeToString(Time[0],TIME_DATE),OBJ_VLINE,0,Time[0]+(StopTime*3600),0); ObjectSetInteger(0,"Окончание торговли"+TimeToString(Time[0],TIME_DATE),OBJPROP_COLOR, clrBlue); } if(CountTrade(0)==0 && CountTrade(1)==0 && TradeSignal()==0) SendFirsOrder(0); if(CountTrade(1)==0 && CountTrade(0)==0 && TradeSignal()==1) SendFirsOrder(1); } 1...168716881689169016911692169316941695169616971698169917001701...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なぜそのようにするのか、本来はブーリアン関数なのですが。
こんな感じです。
enumの場合、要素は0から始まるので、Ok=0 , AllocError=1。
すなわち、GetRepeat は 0 または 1 を返します。
それぞれGetRepeatは戻り値の否定です
0が偽、1が真です。
頭を壊すのは簡単です
その通り!))ありがとう、アレクセイ!
ごきげんよう!!!
ここでは、グリッド状に並んだ注文の平均価格を計算し、チャートに表示する関数を紹介します。グリッドを閉じた後、平均線を示す水平線は削除されません。
注文のグリッドが閉じられた後、これらの行が削除されるような関数を書くのを手伝ってください。ありがとうございます!!!
ごきげんよう!!!
ここでは、グリッド状に並んだ注文の平均価格を計算し、チャートに表示する関数を紹介します。グリッドを閉じた後、平均線を示す水平線は削除されません。
注文のグリッドが閉じられた後、これらの行が削除されるような関数を書くのを手伝ってください。ありがとうございます!!!
ここはその場ではありません。
ここはその場ではありません。
Makarさん、void OnTick()でどのようにバインドするのでしょうか?
ここはその場ではありません。
マカーさん、ありがとうございます!ちょっとファイルを加工すれば大丈夫です。
アドバイスをお願いします。
Expert Advisor は、オープンオーダーの開始時刻と終了時刻を設定します。この時間をチャートに表示させたい。まだできていないのです。以下はそのコードです。お願いしたいことがあります!
アドバイスをお願いします。
Expert Advisor は、オープンオーダーの開始時刻と終了時刻を設定します。この時間をチャートに表示させたい。まだできていないのです。以下はそのコードです。お願いしたいことがあります!
StartTimeとStopTimeの変数を表示します。