新しいMQL4コンパイラとエディタを含むMetaTrader 4 IDEのベータ版 - ページ 8

 

すべてうまくいっているようです。

Alt+Mでドロップダウンする機能一覧を「ナビゲータ」ウィンドウに常時表示できないでしょうか?コードをナビゲートするのに非常に便利だと思います。

 
BorisMQL4:
従来のようにToolbarをカスタマイズする方法はないのでしょうか?

はい、既存のツールバー項目を右クリックし、「カスタマイズ」を選択します。


全てはMetaEditor 4と同じです。

 
Renat:

旧バージョンのMQL4との違いは何でしょうか。

  • 論理AND/OR演算の優先順位が変更になりました。これで、すべてが古典的なC/C++のようになりました。

  • 論理式の短縮評価が導入されました。論理式を評価する際に、残りの部分式は評価されないようになりました。C/C++のように。

  • switch演算子が整数値のみを使用するようになりました。以前は本物を使うことができました。

  • さて、変数名にはフルストップは使えません。また、変数名に '@', '$', '?' を使用することはできません。

  • スタート機能への要求事項が厳しくなりました。従来は、スタート関数の中でパラメータを指定することができました。これで、すべてのエントリポイント init, start, deinit, OnInit, OnStart, OnTick, OnTimer などは、そのシグネチャに正確に一致する必要があります。

  • short, long, float, const, virtual, input, delete, new, do, char のような型の名前は使えなくなりました。

  • 現在、インポートされたDLL関数は、文字列の配列をパラメータとして受け取ることができません。MQL5と同様

  • 現在、定義済みの変数名_Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeedがあり、既存のソースコードで同名で宣言した単純変数と競合する可能性があります。

  • datetime型は、MQL5と同様に8バイトになりました。

この違いは致命的なものではなく、コードの中で簡単に修正することができます。その代わり、MQL5の多くの機能、実行速度、より厳密な品質管理が利用できます。

特に最初の2つの項目は、コンパイルはできても正しく動作しない可能性があり、危険です。

追加してもよろしいですか?そうでない場合は、修正をお願いします(ベータテストとフルテストの時間がない)。(というわけで、絶対的な真実に見えないように最後に(?)書きます)。

  • 文字列がユニコード(2バイト)になった。そのため、1バイト文字を操作することを前提としたアルゴリズムは正しく動作しないか、まったく動作しない(?)
  • 関数のパラメータを記述する際に,配列の2次元目以上を明示的に指定する必要があります(?)
  • ローカル変数や 配列が自動的に初期化されない(?)
  • デフォルトの配列が静的でなくなった(?)
  • 256文字以上の文字列は切り捨てられません(?)
  • 一部の定数で内部表現が変更されました。例えば、グラフの期間がH1から始まる場合(?)
  • ...
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 

MQL4新番組のエントリーポイント一覧

1.既存のソースとの互換性を保つため、おなじみの init, start, deinit はそのまま残されています。

2.追加されました。

OnInit, OnDeinit(エキスパートアドバイザー、インジケーター、スクリプトでは、関数initとOnInit、deinitとOnDeinitの同時存在は許可されていません。)

スクリプト用OnStart(OnStartとstartの同時存在は不可)。

Expert AdvisorのOnTick(OnTickとstartの同時存在は不可。)

インジケータ用OnCalculate(OnCalculateとstartの同時存在は不可)。

も追加されました。

Expert AdvisorとインジケーターのためのOnTimer

Expert AdvisorとインジケータのOnChartEvent

Expert Advisors用OnTester

 

このような表現の計算方法の変更は、もっと前から行われていたはずです。作者が膨大な表現を書いていない限り、ほとんど問題になることはない。

文字列は、内部的にはUnicodeで、ターミナル外で使用する場合(オーダーのコメント送信)には自動的にANSIに変換され、DLLに渡す場合には前後に自動的に再コード化されるなど、問題はありません。つまり、互換性が完全であることです。

配列の寸法はそうです。多次元配列は 構造体で完全に置き換えられるので、多次元 配列の乱暴な遊びはもう忘れてください。

MQL4の配列は決して静的なものではなく、それどころか常に動的なものでした。

いいえ、256文字という制限はもうありません。

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
stringo:

MQL4新番組のエントリーポイント一覧

1.既存のソースとの互換性を保つため、おなじみのinit, start, deinitはそのまま残されています。

2.追加されました。

OnInit, OnDeinit(エキスパートアドバイザー、インジケーター、スクリプトでは、関数initとOnInit、deinitとOnDeinitの同時存在は許可されていません。)

スクリプト用OnStart(OnStartとstartの同時存在は不可)。

Expert AdvisorのOnTick(OnTickとstartの同時存在は不可。)

インジケータ用OnCalculate(OnCalculateとstartの同時存在は不可)。

も追加されました。

Expert AdvisorとインジケーターのためのOnTimer

Expert AdvisorとインジケータのOnChartEvent

Expert Advisors用OnTester

OnTradeとOnTradeTransactionは 予定されているのですか?
 
Renat:

もしかして、スタジオはロシア?

ええ、ロシア語です。それは重要なことですか?
 
fyords:
はい、ロシア語です。クリティカルですか?

ロシア語のまだら模様のフレーズ以外は批判的なものではありません。このテキストは、スタジオの回答から差し引かれます。

この問題の解決に努めます。

 
Renat:

ロシア語のまだら模様のフレーズ以外は批判的なものではありません。このテキストは、スタジオの回答から差し引かれます。

この問題の解決に努めます。

なるほど、ありがとうございます。5台目のスタジオユニットを見つけることについては、問題が解決されるのか、それとも私に問題があるのでしょうか?
 
Urain:
OnTradeとOnTradeTransactionは予定されているのですか?
残念ながら、そうではありません。