mql4言語の特徴、微妙なニュアンスとテクニック - ページ 3

 

スクリプト、インジケータ、Expert Advisorを起動すると、Input Parametersタブに変数名が表示されます。

extern int Период=10;


property strict指示文がある場合、変数名の代わりにコメントが表示されます

#property strict
extern int Период=10;  // Период отображения информации

こちらの方が参考になる、IMHO

 
LRA:

スクリプト、インジケータ、Expert Advisorを起動すると、Input Parametersタブに変数名が表示されます。


property strict指示文がある場合、変数名の代わりにコメントが表示されます

IMHOは、より有益な情報を提供します。

じゃあ、特に知らなかった人たちへ。スクリーンショットをご覧ください。すべてクリアになっています。


 

MT4で、デポが999999より大きい場合、詳細レポートのチャートから1桁が欠ける不具合があります。

999999を超える場合は、2桁が欠落しています。常に上位5桁のみが表示されます。


 
LRA:

MT4で、デポが999999より大きい場合、詳細レポートのチャートから1桁が欠ける不具合があります。

999999を超える場合は、2桁が欠落しています。常に上位5桁のみが表示されます。


システム設定でフォントのスケールを125%に設定していることをお忘れなく
 
void OnStart()
{
  Alert("Ордеров = ",OrdersHistoryTotal());
}   

物語の長さを設定できることをご存じですか?これは、検索にかかる時間に影響します

今日を 設定すれば - すべてが少なくなる!真夜中には、物語は空っぽになるのでしょうか?最適なのは、直近の3 日間。

開発者の方へ:プログラムで履歴の深さを設定する方法は?

 
MQL5と異なり、MQL4では静的配列は サイズを変更することができます。
 
fxsaber:
MQL5と異なり、MQL4では静的配列はその サイズを変更することができます。

ヘルプに誤りがあるのでしょうか?

//+-------------------------------------------------------+
//| ArrayResize                                 PROBA.mq4 |
//+-------------------------------------------------------+
#property strict
void OnStart()
{
  int x[7];         int СтарыйРазмер=ArrayRange(x,0);
  ArrayResize(x,5); int МеньшийРазмер=ArrayRange(x,0);
  ArrayResize(x,9); int БольшийРазмер=ArrayRange(x,0);
  Alert("MQL4: СтарыйРазмер = ",СтарыйРазмер, "   МеньшийРазмер = ",МеньшийРазмер, "   БольшийРазмер = ",БольшийРазмер);
} 


//+-------------------------------------------------------+
//| ArrayResize                                 PROBA.mq5 |
//+-------------------------------------------------------+
#property strict
void OnStart()
{
  int x[7];         int СтарыйРазмер=ArrayRange(x,0);
  ArrayResize(x,5); int МеньшийРазмер=ArrayRange(x,0);
  ArrayResize(x,9); int БольшийРазмер=ArrayRange(x,0);
  Alert("MQL5: СтарыйРазмер = ",СтарыйРазмер, "   МеньшийРазмер = ",МеньшийРазмер, "   БольшийРазмер = ",БольшийРазмер);
}
 
LRA:

証明書に間違いはありませんか?

MQL4では静的配列は 存在しないと考えればエラーにはなりません。
 
静止画の話ですが、どちらの言語でも微妙な点があります

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

mt4ビルド1066

ジェームズ・ケーター さん 2017.04.28 16:53

関数内のスタティック変数の初期化順序の回帰エラーを発見しました。

ビルド1065で動作していました。サービスデスクに報告 しました

#property strict
#property indicator_chart_window

int TestBrokenStatic()
{
   static int stInt = 101;
   
   stInt++;
   return stInt;
}

int OnInit()
{
   static int result = TestBrokenStatic();
   
   Print("TestStatic Expected result 102   - Actual result=", result);
   result = TestBrokenStatic();
   Print("TestStatic Expected result 103   - Actual result=", result);
   
   return INIT_SUCCEEDED;
}

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   return rates_total;
}


2017.04.28 15:42:30.941 TestStatic EURCHF,H1: TestStatic 期待値103 - 実績値=102

2017.04.28 15:42:30.941 TestStatic EURCHF,H1: TestStatic 期待結果102 - 実績結果=1


 
fxsaber:
どちらの言語でも、微妙な瞬間がある

なんだ、微妙なところか...。SDで書かれたのですか?
理由: