MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 214

 
Vladimir Tkach:

2日前から、素敵なパネルを作っています。しかし、入力として設定されたExpert Advisorのパラメータを、それを通して変更 することができないことが判明しました。

どうしたらいいんだろう?

想像力がないのか?

input double _PARAM=1.0; // да, input менять в коде нельзя, они типа const

double PARAM=0;         // но никто не заставляет использовать только и исключительно их

int OnInit()

{

   if (MoonPhaze()==0 && _PARAM>0.1) {

       PARAM=_PARAM;       // всё что задаёт пользователь через input должно проверяться и использоваться только внутри OnInit - это просто хороший тон

   }

}
 

私は誤解されているようです。

パネル(グラフ上にある)上のパラメータを変更しても、Expert Advisorでは変更されない。悲しさ、切なさ。


 
番組の 中で彼らの価値観は変化していきますが。OK、それでいい。
 
missha32:

私はこの関数を書くのに完全に混乱しています、私を助けてください。

一日に決済された注文の 数を返す関数が必要です


私ならこう書きます。

int CountInHistoryCloseOrder() 
{
int kp=0;
for(int i=OrdersHistoryTotal(); i>=0; i--) 
 {
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) 
   {
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==mn) 
     {//mn - должна быть глобальной
      if(TimeToString(OrderCloseTime(),TIME_DATE)==TimeToString(TimeCurrent(),TIME_DATE))
       {
        kp++;
       }
     }
   }
 }
return(kp);
 
missha32:

私はこの関数を書くのに完全に混乱しています、私を助けてください。

一日に決済された注文の 数を返す関数が必要です

int OrdersClosedInDay(datetime time) {

datetime from=time-TimeHour(time)*60*60-TimeMinutes(time)*60-TimeSeconds(time);

datetime to=from+24*60*60;

int count=0;

for(int pos=OrdersHistoryTotal()-1;pos>=0;pos--) {

   if (!OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)) continue;

   if (OrderCloseTime()>=from && OrderCloseTime()<to)   count++;

}

return count;

}

 
Valerius:


私ならこう書きます。

しかし、値がリセットされるのは新しい日の始まりだけで、次の一連の注文が1日で決済されるまで、この値を維持する必要があります。

私はそれを理解し、別の関数を追加しました

 
Artyom Trishkin:
オブジェクトは描けない。しかし、CCanvas クラスを使用して描画することができます。
ありがとうございました。
 
Vladimir Tkach:

私は誤解されているようです。

パネル(グラフ上にある)上のパラメータを変更しても、Expert Advisorでは変更されない。悲しさ。


重複したインスタンスを作成し、さらにプログラム内で使用したくない場合は、常にユーザーパラメータを「extern」として設定することができます - その値は、作業の過程でプログラムにより変更することができます。
 
アドバイスをお願いします。次のローソク足で閉じるようにEAを設定するにはどうすればよいですか?
 
AlGuru:
アドバイスをお願いします。次のローソク足で閉じるようにEAで指定するにはどうしたらいいですか?
ポジションを建 てたバーが1であれば、そのポジションを決済します。
理由: