MQL5への願い - ページ 3

 
alexnau:
wellx:
以前にも書いたが、もう一度言っておく。
- 端末本体と連動するコールバック関数
- 接続の解除/復元
- 複数のEAのキューを管理する(ミューテックス、クリティカルセクション・・・)。
- デバッガ
-
- MQL関数からDLLを作成(ライブラリの作成に役立ち、多数のインジケータを含むコード全体を削減します。


不確かなまま問題を解決しても、更新されたMQLが改善されるとは思えない。なぜ、現在のバー(ゼロバー)の番号を計算するために、何らかのアラートが必要なのでしょうか?

カウントダウン」とはいえ、必要なバーを決定するロジックは明確でシンプルだと私は思います。

現在のバリアントを変更するのではなく、サポートを追加するだけです。 これで何ができるかというと、新しいバーごとに履歴を再計算するのではなく、バーの数の変化だけをチェックすればいいのです。その結果、端末の負荷が軽減され、ページインの頻度も少なくなります。
 
バーの数はまだコントロールできます。そのためのBars です。
 
alexnau:
wellx:
- バー番号の直接指定(古いものから新しいものへ)、バー番号の変更通知機能


を使用して不確実性問題を解決しても、更新されたMQLが改善される可能性は低いと思われます。なぜ、現在のバー(ゼロバー)の番号を後から計算するようなアラートが必要なのでしょうか?

カウントダウン」とはいえ、必要なバーを決定するロジックは明確でシンプルだと私は思います。


これにより、履歴の中から正しいバーを見つける問題は、その「後方」インデックスを指定することに減り、より経済的になる。

えー、以前のような熱意と楽観はなくなりました :) が、私の5コペックを追加します。

テスターでは、「チェックポイント」モードの代わりに、「すべてのティック」パラメータ「バーごとのExpert Advisorの起動数」を追加します。建値によるモードは、よりコンパクトなfxtが使用されるため、いずれにせよキャンセルされるべきではないでしょう。しかし、そうではなく、"at close prices "モードに置き換えた方が良いのです :)

そして、もう一度。

-initにおいて、プログラム変数にグローバル変数のバインドを追加。

-テスター用のexeファイルを作成するため。

-インジケータバッファに 追加する 変数の種類ごとに)-Expert Advisorとの効果的なデータ交換のために。

 
また、任意の名前のfxtファイルをテストする機能を追加しました。なぜ、現在、fxtファイル名と文字の関係が硬直化しているのですか?
 
これまで思いついた新システムへの要望を挙げてみます(降順)。

言語
----

最大精度(> 8)でdoubleをstringに変換する。

条件付きコンパイル (#ifdef, #ifndef, #define, #undefine)

キーワードを#defineで置き換える機能(条件付きコンパイルのため)。値は空でもよい。
の例です。
//#define EXTERN extern // 通常時
#define EXTERN // コンテスト
EXTERN int opt = 0;

ネストしたコメント /* */。
ANSIではないが、ほぼすべての場所で実装されている(そして無効化されている)。大きなコードの塊を、通常のテキストコメントで素早くコメントアウトできるようにします。

構造物(約束)

多次元配列で、より良いdin管理。

デバッガ(約束?)

イベント情報

例外事項

エーピーアイ

リスト、デッキ、...のためのポインタまたは類似のもの。

データベースへのインターフェース(SQLまたはODBC)。データベースはサーバーであってはならない。

インライン関数

機能の 過負荷

難読化(逆コンパイルが困難)している。
EA初期化時に1回だけ復号化する文字列の暗号化、コードフローの変更、コードの混在、未使用コードの削除を行わない。
ジャンクコードやデータを追加する...
これをすべて#pragmaで制御する。


ターミナル
--------
設定では、コンパイルの前(と後?)に呼び出すオプション(とメタ変数)を持つプログラムまたはMQLスクリプトを指定します(カスタムの前処理用)。


編集部
--------
コメント/アンコメントの操作(ボタンやホットキーによるもの)
 
1.テスターを別のプログラム(MQLエディターやターミナルなど)で作成する。
2.より強力な遺伝的 アルゴリズムを作る(10の20乗の変種数でテストできるようにする)。
3.テスト工程のスピードアップ(15〜30時間はほとんど待ちません!(殺人的な作業になります。
4.ポジションの反転機能を紹介する(例:5ロットの買いポジションを持っている場合、5ロットの売りに転換することができる)。
以上、今回はこの辺で。
 

もう一つの願いは、ティータートッターです。最適化期間以外に、見つかったパラメータのクロスチェックの期間を指定できると良いですね。この機能により、取引システムの再教育(またはNSの再教育)が少し節約できる。

 
機能が欲しい。入力データは、最適化データに加えて、返される値の範囲です。出力はもちろん、最適化された値である。
 
klot:

もう一つの願いは、ティータートッターです。最適化期間以外に、見つかったパラメータのクロスチェックの期間を指定できると良いですね。この機能により、取引システムの再教育(またはNSの再教育)が少し節約できる。

これこそが、私たちが本当に必要としているものなのです。
 
Integer:
drknn:
さて、ささやかな提案があります。そこで、与えられた値がある配列のセルの数を返す(失敗した場合はマイナス1を返す)関数を言語に導入することを提案します。 そうしないと、毎回ループを組まなければならなくなるからです。ArrayBsearch()関数は適切ではありません - 間違った値を返します。

この関数で返される値もやはり等値性チェックが行われる -1 ので、ArrayBsearch が返すインデックスを持つ値が目的の値と等しいかどうかをチェックすることができる。大きな差はない

参考文献を引用します。

int ArrayBsearch(...)
配列の1次元目で最初に見つかった要素のインデックスを返します。
配列中に指定した値を持つ要素が存在しない場合は,(値で)最も近い要素のインデックスを返す。

配列の番号だけでなく、注文のチケットのインデックスを検索する場合、この関数はまったく適しません。まさにこのチケットが必要なのに、なぜ最も近い類似チケットのインデックスが必要なのか、それがない場合、その注文は市場のものではない、つまりクローズしているので、履歴から見つける必要があります同期的にシフトする配列を扱う場合、インデックスは非常に重要なものであり、正確であるか、利用できないかのどちらかでなければなりません。