Meta Traderへの願い 4/5

 

1) ゴルダゴのような直感的なドラッグ&ドロップ式のストラテジービルダーを作る(あるいはもっと複雑なストラテジービルダーを作る)。 これは、多少なりとも体系的にトレードしたいが、MQLの学習やポインティングに多くの時間を費やしたくない新しいユーザーを確実に惹きつけるだろう。トレーダーの仕事は、マーケットを考え、オプションを試すことであって、プログラムコードのどこにバグがあるかということではないのです。

2)検査のためのダニ歴 競争や変化が起こるため、いずれにせよ「for all」をしなければならないでしょうし、知識が豊富で「長い」人は、とにかくMT4でテストに取り組む方法を知っているのです。

これらを実行すれば、MTは間違いなく長い間ナンバーワンになれるでしょう。そして、あなたがやらなくても、他の人がやる(そして、すでにやっている)。しかし、これらの必要なことを積み重ねた上で、十分に高品質で適切な製品をすでにお持ちなのですね。

理解してほしいという願いを込めて。

 
とても素朴です。

目視でサイコロを振って終わり」という夢に抗える人はほとんどいないでしょう。厳しい現実と長期にわたる実践は、それがうまくいったことがなく、うまくいったこともなく、うまくいく見込みもないことを証明している。私たちは、プログラマーに焦点を当て、彼らに完全な開発ツールを提供するという、まったく逆の方向に進んでいるのです。
 
レナートへ。


Meta Trader 4 の新バージョンで可能でしょうか?
ストラテジーテスターの「ログ」ページで右クリック後に表示されるメニューから
「自動スクロール」の項目と一緒に
「テスターメッセージの出力を無効にする」の項目を追加してください。
"ログ出力を無効にする"。

そのため、ログにはExpert Advisorの結果のみが表示され、メッセージは表示されません:

2007.09.04 22:49:44 Expert: loaded successfully
2007.09.04 22:55:37 2006.01.02 07:00 Expert: EURUSD,M1: open #1 buy 0.50 EURUSD at 1.1832 sl: 1.1732 tp: 1.1882 ok
2007.09.04 22:55:38 2006.01.03 06:03 Test:take profit#1 at 1.1882 (1.1883 / 1.1886)

および同様のメッセージが表示されました。
Expert Advisor がテスト期間内に多数の注文を送信した場合
Expert Advisor 自体のメッセージを見つけることはほとんど不可能であり
デバッグが非常に困難になる。
ディスク上のログから何かを探し出すのは不便だ。

よろしくお願いします。
 
1)歴史と戯れる充実の機能
2)最適化時に2変数の空間の全体形状を見ることができる機能
であり、他のすべての値を固定した場合の最良の結果だけではありません。
3)自動WFAを行うことができること。
4) 多通貨(ポートフォリオ)EAのテストと最適化ができること。
 
Renat:
とても素朴です。

さあ、サイコロを投げておしまい」というタイプの夢に抗える人は少ないだろう。厳しい現実と長い実践は、それがうまくいかなかったこと、うまくいかないこと、そしてそのようにうまくいく可能性が低いことを証明しています。私たちは、プログラマーに焦点を当て、彼らに完全な開発ツールを提供するという、まったく逆の方向に進んでいます。


変な答えだなあ。"政治的"、ちなみに他の多くの答えと同じです。私は、「夢物語」ではなく、「現実のインターフェイス」について話しているのです。 そして、何が、誰が、どのように「機能」するのか、いわば議論に時間を浪費するつもりはありません。その代わり、複雑なプログラミングは残して開発し、それに加えてCAプラットフォームの別の部分に視覚的な直感的なデザイナーを加えることを提案します。プログラミングと機能的に同じにし(すぐにはできないにしても)、さらに、この2つの方法を組み合わせる機能を持たせれば、ユーザーがどのように戦略を立てるか、コードによって、「サイコロ」によって、あるいは総括的に、どんな違いがあるのでしょうか。

どうやら、「こんなくだらないことをする資源はない」と言われそうですね。残りの人生を同じ曲で過ごす」、そんな感じでしょうか?

 
ADI:


どうやら、「こんなくだらないことをする資源はない」と言われそうですね。残りの人生、同じ曲を歌うことになる」そんな感じでしょうか?

理論もいいですが、私たちは実践者です。トレーダーのためにシンプルなソリューションを作る」という試みは、以前から行われていました(MQL、MQL2)。これまでにも何度も書いてきた。

しかし、私たちはコンストラクタ/ビザードで作業します。簡単な基本骨格(完全なプログラムではない)を自動的に作成することを試みます。
 
通常の変数宣言に加えて、文字列名で同様の変数を作成し、インジケータやExpert Advisorの動作中に変更できるパラメータとして機能させたいと考えています。これは、グローバル変数と似ていますね例えば、こんな風に。
CreatIntVariable("Variable_Name");
 

Renatさん、今後のバージョンアップでiCustom 関数のプロトタイプを考えてみてはいかがでしょうか。これで、コードに明示的にパラメータリストを書く必要があり、例えばユーザーが設定した任意のインジケータの引数の数が事前に分からないため、名前で呼び出すことができなくなりました。iCustomの使用を厳しく制限しています。さらに、iCustomの引数リストの最後に2つの呼び出しパラメータ(int mode, int shift)があります。つまり、インジケータパラメータはプロトタイプのiCustomパラメータを「壊す」のです。

そんなプロトタイプを提案することができます。

double iCustom( string symbol, int timeframe, string name, int mode, int shift, object[] indicatorParams)

すなわち、iCustom自体の必須パラメータはすべて先頭にあり、関数の最後の引数は、新しい任意のオブジェクト型(実際にはint, bool, double, datetimeなどのMQL組み込み型)の指示引数の配列で、配列内の番号は変数である。5年ほど前、ある人が「プログラマーは絶滅したクラスだ、プロフェッショナルとコンピューターの間にある不必要なレイヤーだ」と言ったことがあります。ITソリューションの数と複雑さは増すばかりで、時間が経つにつれ、その予言は逆に真実味を帯びてくる。

また、IndicatorArgsCount()、ArgsItemName[i]はパラメータ名を返すなど、指標の引数を列挙する関数があるとよいでしょう。
そして最も重要なことは、MQL 5のデバッガー であることです。

 

chvへ- iCustomでデフォルトのパラメータを使用することはまだ可能です -https://docs.mql4.com/ru/indicators/iCustom をご覧ください。

MQL4は原則的にすべてを表現していますが、さらに多くのことが可能です。 以下は、私のリストです。

1.)StopLossまたはTakeProfit注文がちょうど終了したかどうかを判断することが可能です。これは現在でも可能ですが、かなり複雑です。

3つの機能

intOrderJustClosedCount() - ストップ時に決済された注文の数を返します。

intOrderJustClosed(int pos) - チケット番号

voidOrderJustClosedClear() - バッファをクリアする -OrderJustClosedCount が 0 を返した直後 - 処理に時間がかかりすぎた場合。

2.)オブジェクトによっては(例えば線形回帰チャネル)、描画後にいくつかの値を読み込むことができません(例えば、チャネルの終端での価格)。

3.)MathArcTan2の追加 - 少なくともMathArcTan2 - もちろん多くはMQL4で既に実装されていますが、それでも - なぜそれらを統合しないのでしょうか?

また、デバッガについては、すでに取り組んでおられると思います;-)

 
Itso:

1.)StopLossまたはTakeProfit注文がちょうど終了したかどうかを判断することが可能です。これは現在でも可能ですが、かなり複雑です。

それから、トリガーされた保留中の注文のリストもあります。

一般的には、「イベント」という概念を導入すれば、そのような状況にも対応できます。
例えば、「注文が発生した」、「SLが発生した」、「有効期限 内に注文が削除された」などのイベントです。
 
Itso:

chvさん へ - iCustomでデフォルトのパラメータを使用する可能性はまだあります -https://docs.mql4.com/ru/indicators/iCustom を参照してください。


iCustom関数のプロトタイプはすでに読んでいますよ;)。デフォルトのパラメーター」では、必要なことができないのです。エキスパートアドバイザーは、任意のインジケーターの名前と、テキストファイルのパラメーターの値をカンマで区切ったリストを引数として受け取ります。Expert Advisorは、指定された引数値でインディケータを名前で呼び出し、その値を受け取ってジャーナルに表示する必要がありますが、例えば、iCustomの記述にフレーズが含まれているとします。

...   -   Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных  пользовательского индикатора.

今、私たちは任意の指標に対してこれを行うことはできません - 私たちが知らないことを書いてください。Expert Advisor をコンパイルした段階では、インジケータの引数の数や種類は不明です。ランタイム実行時にのみ決定される。プログラミング言語では、これを「レイトバインディング」と呼ぶ。現時点ではMQLには存在しません。