MT5への願い - ページ 113

 

MQLに欠けているのは、指定したシンボル/タイムラインの変更されたバーの数を出力する関数です。 変更を見つけるために、毎回、履歴全体をチェックして、前の履歴と比較しなければなりません。 非常に不合理で、履歴全体を配列に保存するために無駄なメモリを必要とし、さらに同じ履歴を取り出して比較するコストも必要です。特にMT5では、定期的に以前の履歴がメモリから削除され、ディスクからダウンロードする必要があります。 また、コードを複雑にする話でもありません。 歴史が変更されたかどうかを正確に知っているメタトレーダーに尋ねる代わりに、多くのばかげた困難があります。

インジケータは同様のメカニズム(パラメータprev_calculated)を持っていますが、インジケータが動作しているシンボルと期間に対してのみです。 そして、異なるシンボルが計算に参加することができます。 したがって、任意のシンボルの更新バー数(または更新バーが開始される時間)を返す関数が必要です。

 
開発者の皆さん、MetaEditorで通常のシンタックスハイライトを 行う予定はありますか? 例えば、型/クラスは1色、変数は別の色、関数は3色、マクロは4色など、一般的なIDEのように。 そうしないと、標準MQLツールだけがハイライトされます。 その結果、OOPを積極的に使用すると、コード全体が(演算子を含まない)黒ベタのテキストになってしまうのです。クラス、オブジェクト、関数の名前をすぐに見分けることはできないでしょう。コードのわかりやすさのために(黒い塊に見えないように)標準のプリミティブを使う方がよっぽどすっきりする、とよく思います。 それに、こうであってはならないのです。
 
meat:
開発者の皆さん、MetaEditorで通常のシンタックスハイライトを 作る予定はありますか? 例えば、型/クラスはある色で、変数は別の色で、関数は別の色で、マクロは4番目で、など。 一般的には、通常のIDEのように。 そうしないと、標準のMQLツールしかハイライトされません。 その結果、OOPを活発に使用すると、コード全体が(演算子を含まない)黒一色に変わってしまうんです。クラス、オブジェクト、関数の名前をすぐに見分けることはできないでしょう。私はよく、コードをわかりやすくするために標準的なプリミティブを使ったほうがいい(黒い塊に見えないように)、と考えることがあります。 しかし、これではいけない。
他のコンパイラで開く!!!
 

このスレッドで開発者が誰も答えないのは残念です。 彼らはここを見ているのでしょうか... サービスデスクでも、すべての提案はたいてい答えられない(バグだけが答えられる)。 良くないことです。

でも、さっそくやってみましょう。

例えば、Expert Advisor が、この EA 専用(正確にはこのインスタンス専用)のファイル(またはグローバル変数)を作成して使用するような問題に直面することがあります。また、他のEAはこのファイル/グローバル変数を使用せず、独自のものを使用しているはずです。 では、端末の再起動後やパラメータの再初期化後に、EAはどのようにファイル/変数を見つけるべきなのでしょうか?

ファイル名がEA/シンボル/タイムフレーム名である場合、同様のチャート上にあるこのEAの他のインスタンスがそのファイルを開きます。 ファイル名がウィンドウハンドルである場合、リロード後にハンドルは無効となります。

要するに、EA/インジケータにユニークなIDが必要で、それはリロード時に変更されることはないでしょう。例えば、EAとチャートの結合時間などです。 このパラメータをMQLInfoIntegerに追加することを提案します。

 

MetaEditorでは、一歩戻ることができるようにしたいのです。

つまり、関数「Function_A」から関数「Function_B」を呼び出す ことです。

bool Function_A(void)
  {
   Function_B()
   return(true);
  }

Function_B」のテキストをクリックし、 中ボタン またはAlt+Gを クリック すると-「Function_B」に切り替わります。コードを見直した後は、呼び出された場所、つまりFunction_ Aに戻る必要があります。しかし、そのような機能はありません。そして、そうしたいのです。

 
Karputov Vladimir:

MetaEditorでは、一歩戻ることができるようにしたいのです。

つまり、関数「Function_A」から関数「Function_B」を呼び出す ことです。

Function_B」のテキストをクリックしてから、 中ボタン またはAlt+Gを クリックすると、Function_Bに 切り替わります。コードを見直した後は、呼び出された場所、つまりFunction_ Aに戻る必要があります。しかし、そのような機能はありません。しかし、私たちはそれを望んでいるのです。

そうですね、便利でしょう。サービスデスクにも手紙を出す。

定義に素早くアクセスできる(Alt+G)ようになっています。定義から背面への素早い切り替えが必要です。

 
Karputov Vladimir:

MetaEditorでは、一歩戻ることができるようにしたいのです。

つまり、関数「Function_A」から関数「Function_B」を呼び出す ことです。

Function_B」のテキストをクリックしてから、 中ボタン またはAlt+Gを クリックすると、Function_Bに 切り替わります。コードを見直した後は、呼び出された場所、つまりFunction_ Aに戻る必要があります。しかし、そのような機能はありません。そして、そうしたいのです。

前進 Ctrl+-, 後退 Ctrl+Shift+-
 
Vitalie Postolache:
前進 Ctrl+-, 後退 Ctrl+Shift+-
そんなことはありません。うまくいかないんです。
 
Karputov Vladimir:
そんなことはありません。うまくいかないんです。

不思議なことに、私の場合はうまくいくのです。関数呼び出しで Alt+Gを押して関数定義に ジャンプし、Ctrl+-を押して元に戻る。

上の組み合わせは逆で、一歩進んでCtrl+Shift+-、一歩下がってCtrl+-です、すみません。

 
Karputov Vladimir:
そんなことはありません。うまくいかないんです。
試してみました。私には効果的です。)