MQL5の初心者の質問です。プロは素通りしない。 - ページ 7

 
Artyom Trishkin:

DRAW_NONE == 0

DRAW_LINE == 1

どこかに別のものがあるわけですね。あなたにも効くはずです。

まだ何とも言えませんが、いつもうまくいくわけではありません。
 
このトピックに関連しないコメントは、「MQL4 MT4 MetaTrader 4初心者からの質問」に移動しました。
 
Artyom Trishkin:

いいえ、その必要はありません。全てはlimit>1で一度だけ行われます。これは最初の実行と履歴の読み込みです。また、平滑化期間_sm=10とした場合、この場合の制限値は10少なくなるはずです。それに呼応するように

if(limit>1)
  {
   limit=rates_total-period_sm-1;
   ArrayInitialize(Buffer,InitValue);
  }

InitValue - バッファを初期化するための値 - 0 または EMPTY_VALUE - 適宜。または-100500 ...

あなたの例にあるように -- これは正しいやり方ではありません -- あるいは、あなたが理解できないのであれば、詳しい説明をしてください。

これは最初の実行と読み込みの履歴です」と呼ぶものを決める -- prev_calculatedによって行われる

制限(あなたの場合、制限が何であるかは不明です) - それは再計算を開始するバーの数である場合 - その後、ここで制限は、例えば、接続のない5分、1以上であってもよい - M1上の接続外観で制限= 5、および最初から指標を再計算する必要はありません。

は、標準的なターミナルの例で、すべての使い方を見ることができます。

の例は、"Bears "インジケータから。

MQL4(小節の最初から最後までの番号付け)。

   int limit=rates_total-prev_calculated;
//---
   if(rates_total<=InpBearsPeriod)
      return(0);
//---
   if(prev_calculated>0)
      limit++;
   for(int i=0; i<limit; i++)

MQL5(小節の終わりから始まりへのナンバリング)。

   if(prev_calculated<InpBearsPeriod)
      limit=InpBearsPeriod;
   else limit=prev_calculated-1;
//--- the main loop of calculations
   for(i=limit;i<rates_total && !IsStopped();i++)
 

皆さん、こんにちは。以前、MT-5でデモ口座を持っていました。Windowsを再インストールしたら、MT-5にログインするためのパスワードがわからなくなった。これでWebターミナルに登録しました

私のデモ口座 MT-5。オールオッケーです。通常のMT-5ホームターミナルに新しいログインとパスワードを入れました。新規注文のF9を開くときだけ、すべてうまくいきます。

をクリックすると、新しい注文のウィンドウが表示されます - 「買う」「売る」ボタンは有効ではありません。注文ができない。どうか、どうしたらいいのでしょうか?

申し訳ありませんが、お伺いします。

注文はありません、ありがとうございました。

 
Shara1:

皆さん、こんにちは。以前、MT-5でデモ口座を持っていました。Windowsを再インストールしたら、MT-5にログインするためのパスワードがわからなくなった。これでWebターミナルに登録しました

私のデモ口座 MT-5。オールオッケーです。通常のMT-5ホームターミナルに新しいログインとパスワードを入れました。新規注文のF9を開くときだけ、すべてうまくいきます。

をクリックすると、新しい注文のウィンドウが表示されます - 「買う」「売る」ボタンは有効ではありません。注文ができない。どうか、どうしたらいいのでしょうか?

申し訳ありませんが、お伺いします。

ありがとうございます。

問題点を把握した。新規注文画面F9で出来高が0,00だったんだけど。0.01を入れたらうまくいきました。

 

一部のExpert Advisorでこのような文字列があるのですが、アドバイスをお願いします。

  double highest=DBL_MIN,lowest=DBL_MAX;

質問:これらの定数DBL_MIN, DBL_MAXに等しい変数は何のためにあるのでしょうか?

 
refounder83:

一部のExpert Advisorでこのような文字列があるのですが、アドバイスをお願いします。

質問ですが、この定数DBL_MINと DBL_MAXに等しい変数は何のためにあるのでしょうか?

DBL_MAXより明らかに少なく、DBL_MINより明らかに多い実データと比較するため。

例えば、こんな感じです。

double x=DBL_MIN;
int total=ArraySize(array);
for(int i=0; i<total; i++)
  {
   double y=array[i];  
   if(y>x) x=y;
  }
Print("x=",DoubleToString(x,Digits()));
 
ありがとうございます、そうですか)
 

この手順は、サーバーの時間を 秒に換算するために行うのでしょうか?

datetime time=TimeTradeServer()+60*60*24;
   
  
 
refounder83:

この手順は、サーバーの時間を秒に換算するために行うのでしょうか?

サーバー時間」に1日(60秒×60分×24時間)を加えた時間です。

PeriodSeconds() を使用することができます。

Print("PeriodSeconds(PERIOD_D1)=",PeriodSeconds(PERIOD_D1),", PeriodSeconds(PERIOD_H1)*24=",PeriodSeconds(PERIOD_H1)*24,", 60*60*24=",60*60*24);