記事「MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第2回):指標シグナル:多時間枠放物線SAR指標」についてのディスカッション

 

新しい記事「MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第2回):指標シグナル:多時間枠放物線SAR指標」はパブリッシュされました:

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。今回は、PERIOD_M15からPERIOD_D1までの多時間枠でパラボリックSARまたはiSARという1つの指標のみを使用します。

多通貨EAは1つの指標シグナルを使用しますが、PERIOD_M15、PERIOD_M30、PERIOD_H1、PERIOD_H4、PERIOD_D1から始まる5つの時間枠を使用します。

このEAでは、指標シグナルの計算に固定時間枠を使用しないため、シグナル計算時間枠を決定する必要はありません。

これは、EA「FXSAR_MTF_MCEA」がPERIOD_M1からPERIOD_MN1までの任意の時間枠で使用でき、FXSAR_MTF_MCEAは依然としてiSARPERIOD_M15、PERIOD_M30、PERIOD_H1、PERIOD_H4、PERIOD_D1に基づいてシグナルを計算するということです。

これら5つのパラボリックSAR時間枠が出された注文のシグナルを決定します。

一方、シグナルが弱まったときに注文を決済するには、注文が利益状態にある場合にiSAR指標PERIOD_M15を使用します。

また、トレーリングストップとトレーリングプロフィットをおこなうには、iSAR指標PERIOD_H1を使用します。


iSARシグナル状態戦略の式:

UP=(PRICE_LOW[0] > iSARLine)または(PRICE_LOW[0] > iSAR[0])

DOWN=(PRICE-HIGH[0] < iSARLine)または(PRICE-HIGH[0] < iSAR[0])

買いシグナルまたは売りシグナルを取得する場所:

5つのiSAR指標の時間枠の合計が、買いの場合は5xUP、売りの場合はDOWNである必要があります。

iSAR指標untukBUYatauSELLを図1に示します。

iSAR_Signal_売買


作者: Roberto Jacobs

 

ボス、多品種や多サイクルの考え方や、チャートの描き方を学びました。とても実用的だ。

ありがとう

 
cloudchina #:

ボス、多品種や多サイクルの考え方や、チャートの描き方を学びました。とても実用的だ。

ありがとう

どういたしまして。

 
異なるペアに対する最適化の結果を詳しく教えてください。各ペアで最良の結果を返すのでしょうか?
 
Camilo Mora #:
異なるペアでの最適化の結果を詳しく教えてください。各ペアで最良の結果を返すのでしょうか?

このExpert Advisorは単一ペアのみを取引するのではなく、複数通貨または複数ペアを取引します。そのため、テスト結果は全ペア(30ペア提供)に対するものです。

 
30ペアでEA全体の1ループを実行するのにかかる時間を比較しましたか?各チャートに30個の単一通貨EAがある場合と比較しましたか?関連する質問ですが、各ティックまたは各バーでこのマルチカレントシーEAを実行する場合、次のティックまたはバーが到着する前にフルループの操作が行われますか?このEAのバックテスト 速度は、他のEAの実行速度からすると遅いと感じました。
 

もちろん遅いです!「高速EA」の30倍の計算をしています。 30個の高速EAを同時に動かしてみて、どうなるか試してみてください。 このEAがはるかに高速であることは間違いないでしょう。 テスト実行での75%以上の勝率が維持されるのであれば、4回中3回のトレードで勝てているのであれば、誰が速度を気にするでしょうか?より高速なマシンを購入するだけです。

静的な代入を移動させるためにループを見たり、計算を減らすためにループや関数でローカル変数を使ったり、同じ関数が複数回呼び出されないようにしたり、1回だけの呼び出しや静的な計算をグローバル変数に移動させることによってOnInit関数でできる限りの作業をしたり、などなど。

シンボルのプレフィックス・サフィックスの問題を回避するには、各シンボルに2つの変数を使用することを検討してください。 6つのchr名と、プレフィックスとサフィックスを含むフルネームの引用符で囲まれた名前のペアです。 2つの変数を設定するには、文字列関数で名前を調べます。

より詳細にバーを追跡する適応的なパラボリックストップロスを 作成したいかもしれません。ガイドとして使用する適応的なPSARインジケータがいくつかあると思います。

ロベルトがこのEAに費やした労力を過小評価すべきではありません。

 
CapeCoddah #:

もちろん遅いです!「高速EA」の30倍の計算をしています。 高速EAを30個同時に動かしてみて、どうなるか試してみてください。 このEAがはるかに高速であることは間違いないでしょう。 テストランでの75%以上の勝率が維持されるのであれば、4回中3回トレードで勝てているのであれば、誰がスピードを気にするでしょうか?より高速なマシンを買えばいいだけです。

静的な代入を移動させるためにループを見たり、計算を減らすためにループや関数でローカル変数を使ったり、同じ関数が複数回呼び出されないようにしたり、1回だけの呼び出しや静的な計算をグローバル変数に移動させることによってOnInit関数でできる限りの作業をしたり、などなど。

シンボルの接頭辞と接尾辞の問題を回避するには、各シンボルに2つの変数を使用することを検討してください。 6つのchr名と、接頭辞と接尾辞を含むフルネームのquotedのペアです。 どちらかの名前を文字列関数で調べて、2つの変数を設定します。

より詳細にバーを追跡するアダプティブ・パラボリック・ストップロスを 作成するとよいでしょう。

ロベルトがこのEAに費やした労力を過小評価すべきではありません。

ご支援ありがとうございます。特殊なシンボル名、接頭辞、接尾辞を持つブローカーの自動検出と処理を追加する記事を作成する予定です。

 

ロベルト

悪い知らせです、私はあなたのEAをEURUSD H4で2023/1/1から2023/11/1まで$1,000の初期残高で稼働させました。 EAは3ヶ月未満で口座を破産させました。 $10,000では完全に稼働しましたが、$8,250を失いました。 グラフは最初から最後まで一貫した損失を示しており、急激な山や谷はありません。

第一に、絶望しないでください!FX取引は難しいですし、多通貨EAを設計するのはもっと難しいです。 私は知っています、MQ4からMQ5にEAを改造している最中です。

最も簡単な方法は、ペアの文字列を入力項目とし、STRSPLITを使用して文字列内の各ペアを区切り、ペアの読み込みを可能にすることです。 より良い方法は、30ペア表示を使用して、ユーザーがクロックオンして色を変更することにより、実行するペアを選択できるようにすることです。 最近のGUI記事は2つあります:ヒントとコツ......。私は後者を使用していますが、Tips and Tricksの方がより完全で良いと思います。 また、コメント機能を 使用する代わりに、GUIを使用してデータを表示する必要があります。

私はパレートの法則の信奉者です:特性の80%は20%の要素から生まれる。 これは、全体の利益の80%は6つのペアから生まれ、それに応じて6つのペアが損失の80%に貢献することを意味します。

多通貨テストにおける個々のペアのストラテジーテスター統計の強化は、問題領域とパレートの法則の特定を可能にするために必須です。 バックテストタブの要素は、純利益、総利益、総損失など、ペアレベルで必要です。

私は、SARのアダプティブ・プロセスが利益を向上させると考えています。 文中の売り買いチャートを見ると、バー・サイズの増加に基づいてSARの加速速度を増加させるアダプティブ機能が、チャート上の最初の4つの売り買いイラストで利益を増加させるようにSARをフレックスさせるでしょう。 このアダプティブ・フレックスは2つの利点をもたらします:

より重要なのは、次の取引が5ドルから10ドル早く開始できるようになることです。 したがって、このフレックスの影響は、各取引で全体として10ドルから20ドルになる可能性があります。 しかし、それに対応して全体的な利益が減少し、多くの負け取引が追加される可能性もあります。

これらのターゲットと最適な時間枠に集中すれば、収益性は大幅に向上します。 私はまだ動的な評価プロセスを理解していないことを認めます。

 
CapeCoddah #:
私はパレートの法則の信奉者です。つまり、全体の利益の80%は6つのペアからもたらされ、それに応じて6つのペアが損失の80%に貢献するということです。

ご意見ありがとうございます。

結論4と5で申し上げた通りです:

このFXSAR_MTF_MCEAマルチカレンシーエキスパートアドバイザーは、アイデアを学び開発するための単なる例です。

ストラテジーテスターでのテスト結果はまだ良くありません。そのため、より正確なシグナル計算を行う優れたストラテジーが実装され、より優れたタイムフレームが追加されれば、現在のストラテジーよりも良い結果が得られると思います。

ですから、より良い結果を得るための適応機能というものを使ってアップグレードするかどうかはあなた次第です。

 

こんにちは、ロベルト、

私はマルチタイムフレームシステムが好きです。

SARが固定値計算の場合、シングルSARのタイムフレームをどのように変更できるのか理解できません。
(片側ですべてを待つのではなく)すべてのタイムフレームで売買する方法はありますか?

この場合、1分足で売り、5分足で買いなど、仮に0.1ずつ可変のロングとショートを持つことができます。

1.1.24からGOLDで テストしてみましたが、何も起こりません。

何か提案はありますか?あなたはプライベートでも私に書き込むことができます。


ありがとうございました。

マルコ