ユニバーサルMAクロスEA

 

私は、どのような移動平均線クロス戦略にも対応できるようなEAを作ろうと思っています。このEAに何か追加すべき点があれば教えてください。

共通設定

-----------------

ストップロス(デフォルト100)

ストップロスを設定します。ストップロスを使いたくない場合は0を指定します(推奨しません)。

テイクプロフィット(デフォルト:200)

Take Profit(利食い)を設定します。オープンターゲットを使いたい場合は0を指定します。

トレーリングストップ設定

----------------------

ver.6 TrailingStopType(デフォルト:1)

トレーリングストップの種類を設定します。1:pips単位の利益が大きくなったらトレール開始/TrailingStopと同じ。2:利益確定後、すぐにトレーリングを開始します。(提案されれば他のタイプのトレーリングストップを追加します。最新の提案はSafeZone trailing stop post #99https://www.mql5.com/en/forum/general)

TrailingStop (デフォルト40)

トレーリングストップを設定します。トレーリングストップを使用しない場合は、0を指定します。

移動平均の設定

------------------------

FastMAPeriod(デフォルト10)

高速移動平均の周期を設定します。

FastMAType(デフォルトはEMA / 1)

Fast Moving Average Type 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice (デフォルト Close / 0)

高速移動平均の適用価格 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift(デフォルト0)

高速移動平均の移動量

SlowMAPeriod (デフォルト80)

Slow Moving Averageの周期。

SlowMAType (デフォルト EMA / 1)

Slow Moving Average Type 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice (デフォルト Close / 0)

Slow Moving Average 適用価格 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift(デフォルト0)

低速移動平均の移動量

最小クロス距離 :

------------------------

ver.2 MinCrossDistance (デフォルト0)

FastMAとSlowMAのクロスとして成立するピップディスタンスを設定します。0を指定すると、このフィルタが無効になります。

ver.7 MaxLookUp (デフォルト1)

クロスした後、FastMAとSlowMAの最小距離を基準に、何本目までエントリー条件をチェックし続けるかを設定します。この機能を有効にするにはMinCrosDistance > 0が必要です。0を指定すると無効になります。

終了設定 :

-------------

StopAndReverse (デフォルトtrue)

TRUEに設定すると、シグナルが変化したときに、すべての取引を終了し、ポジションを反転させます。

PureSAR (デフォルトfalse)

TRUEに設定すると、ストップロス、テイクプロフィット、トレーリングストップを使用しない。これは常にプレイ中の設定です。

ExitOnCross (デフォルトfalse)

TRUEに設定すると、反対方向のクロスがあった場合、追加のフィルターを考慮することなく取引を終了します。つまり、純粋に移動平均のクロスを基準に終了します。

第3のMA設定

------------------

ver.5 UseThirdMA (デフォルトfalse)

UseCounterTrend = FALSE) に設定すると、ThirdMAの方向性(買いは上、売りは下)に従ってのみ取引を行うようになります。

ver.5 UseCounterTrend (デフォルトfalse)

TRUEに設定すると、ThirdMAの方向が逆であっても取引を継続しますが、StopLossとTakeProfitは異なります。この機能を有効にするにはUseThirdMA = TRUEとする必要があります。

ver.7 OnlyCounterTrend (デフォルトfalse)

TRUEに設定すると、EAはカウンタートレンドトレードのみを行うようになり、ThirdMAより下にクロスしたら買い、ThirdMAより上にクロスしたら売りを意味します。この機能を有効にするにはUseCounterTrend = TRUEが必要です。

ver.5 ThirdMAPeriod (初期値100)

第3移動平均の期間。

ver.5 ThirdMAType (デフォルト EMA / 1)

第3移動平均のタイプ 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (デフォルトClose / 0)

第3移動平均の適用価格 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 ThridMAshift(デフォルト0)

第3移動平均の移動量

ver.5 CTStopLoss (デフォルト0)

カウンタートレンドのトレードのストップロスを設定します。ストップロスを使いたくない場合は0を指定してください(推奨しません)。

ver.5 CTTakeProfit (デフォルト0)

カウンタートレンド(逆張り)取引の利食い額を設定します。オープンターゲットを使用する場合は、0を指定してください。

Pivot Filter 設定 :

-------------------

ver.8.0 Use.Pivot.Filter(デフォルトfalse)

S1-S2間でSlow MAとFast MAがクロスした場合のみ買い、R1-R2間でSlow MAとFast MAがクロスした場合のみ売り、というように取引をフィルタリングしたい場合はtrueを指定します。

注文設定

--------------

ReverseCondition (デフォルトfalse)

エントリー条件を反転させる場合はTRUEを指定します。

ver.3 ConfirmedOnEntry (デフォルトtrue)

TRUE に設定すると、クロスが確認された次のバーで売買を開始します。FALSEに設定すると、クロスが確認されると同時に取引を開始/終了します。

ver.4 OneEntryPerBar (デフォルトtrue)

TRUEに設定すると、1つのバーで1回だけ取引を行う。FALSEに設定すると、一度に一回だけですが、エントリー条件が有効な場合、一回のバーで複数回取引します。

NumberOfTries (デフォルト5)

注文がシステムによって拒否された場合に試行する回数。

スリッページ (初期値 5)

スリッページの設定値。

MagicNumber (デフォルト 1234)

マジック・ナンバーを生成するために使用。同じペア、同じ時間帯で異なる設定でEAを動作させたい場合のみ、この数値を変更してください。

複数オープントレード設定 :

-----------------------------

ver.5 MaxOpenTrade (デフォルト2)

一度に開くことのできる最大取引数です。この設定はStopAndReverse / PureSAR = FALSEのときに使用され、反対方向のシグナルがあったときにEAが建玉を決済せず、新しい取引を開始するようにします。オープントレードの許容数を設定します。StopAndReverse / PureSAR = TRUE の場合、この設定は常に1、つまり一度に1つの取引を行うことを意味します。

ver.6 MinPriceDistance (デフォルト5)

MaxOpenOrder>1かつOneEntryPerBar=FALSEで複数回取引可能な場合、この数値は同一方向の各取引間の最小距離を決定します。

時間フィルタ設定:

-------------------

UseHourTrade (デフォルトfalse)

TRUEに設定すると、EAは特定の時間帯にのみアクティブになります。

StartHour (デフォルト10)

EAがアクティブになる時間(UseHourTrade = TRUEと併用)。

EndHour (デフォルト11)

EAが停止する時間(UseHourTrade = TRUEと併用)。

ロットと資金管理の設定 :

------------------------------------

Lots (デフォルト1)

1トレードあたりのロット数。

MM (デフォルトfalse)

TRUEに設定すると、ビルドイン・マネー・マネージメントを使用します。

AccountIsMicro (デフォルトfalse)

マイクロ口座を使用する場合、これをTRUEに設定する。

Risk (デフォルト10)

MM = TRUE と共に使用し、取引ごとのリスクを設定します。

クロスアラート設定 :

--------------------

ver.5 EnableAlert (初期値: true)

移動平均のクロス、クロスUP、クロスDOWNがあったときにアラートを鳴らします。

ver.5 SoundFilename (デフォルト "alert.wav")

アラートのファイル名。

BackTest Setting(バックテスト設定):

------------------

PrintControl (デフォルトtrue)

バックテストに関するコメントを表示します。

Show_Settings (デフォルトtrue)

チャート上に設定を表示する。

もし、この設定に問題があるようなら、教えてください。コードの一部を提供してくれたcodersguruとpengieに感謝します。お役に立てれば幸いです。

ジャーナル

-----------

バージョン6.0

- ConfirmedOnEntryのバグを修正。

- イミディエイト・トレーリングストップを追加

- 複数のオープントレードのためのMinPriceDistanceを追加。

バージョン7:

- MaxLookUp機能を追加、MinCrossDistanceに関するクロスからあるバー以降のエントリーをチェックし続ける。

- ThirdMAフィルターを使用する場合、OnlyCounterTrend機能を追加。

バージョン7.1:

- MinCrossDistanceのバグを修正。

バージョン7.2:

- ConfirmedOnEntry = FALSEの場合のMinCrossDistanceのバグを修正。

- MAシフトパラメーターを追加

- ExitOnCross機能を追加

バージョン7.3:

- COMMENTの画面表示を修正

バージョン8.0:

- Pivot Filterを追加。

バージョン8.1:

- Build 206のバグを修正。

ファイル:
 

こんにちは、Dave。

素晴らしい内容だ............。

ババール

 

こんにちは。

このEfforesに感謝します。

私はそれが1つのアカウントで動作するように知っていただきたいと思います。

1 同じペアの異なるTF。

2.それは1つのアカウントで複数のペアを動作させます。

3. 同じペアで同じTFでも、異なる設定、つまりTPやSLなどで動作するのでしょうか、もし私たちがMagin No.を使用する場合。

 

最適なTFをお知らせください。

 
kumawat:
こんにちは。

ありがとうございます。

私はそれが1つのアカウントで動作するように知っていただきたいと思います。

1 同じペアの異なるTF。

2。それは1つのアカウントで複数のペアを動作させます。

3. 同じペア、同じTFでも、TPやSLなどの設定が異なる場合、Magin No.を使用しても動作しますか?

こんにちは、kumawat。ご質問のすべてにお答えします。注文マジックナンバーを生成するために、MagicNumberの種を追加しました。MagicNumberは質問3のEAを使用する場合のみ変更してください。お役に立てれば幸いです。

 
Fxparadise:
最適なTFをお知らせください。

時間軸はストラテジーに依存すると思います。デフォルトの設定では、1時間足チャートで使用することができます。ご参考になれば幸いです。

 

いいEAですね。どのMAと設定が一番良いと思われましたか?

私はこれを試してみて、4時間足で本当に良い結果を出しました。

-------

extern int

FastMAPeriod = 10,

FastMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice = 1, //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

SlowMAPeriod = 100,

SlowMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice = 2; //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted(加重)

外部文字列

Exit_Setting = "---------- 終了設定";

extern bool

ReverseCondition = false, // TRUE:買い-売り、売り-買い

ConfirmedOnEntry = false, // TRUE:次のシグナルバーでエントリー

StopAndReverse = true, // TURE:シグナルが変化した場合、終了して逆行する

PureSAR = false; // TRUE:SL、TP、TSなし

--------

 
firedave:
kumawatさん、こんにちは。ご質問の件、すべて承知しました。MagicNumberの種を追加して、Order Magic Numberを生成するようにしたところです。MagicNumberの変更は、質問3のEAを使用する場合のみ行ってください。お役に立てれば幸いです。

マジックナンバーは素晴らしいですね。すべてのEAに搭載されるべきで、そうすればユーザーは心配することなく、自動的にソートされます。

 

こんにちは。

MACD、RSI、stochesticを入れれば、もっといいEAになると思います。

素晴らしいEAになるかもしれません。

 

素晴らしいアイデア

素晴らしい作品firedave

そして、とても良いアイデアです

 
codersguru:
素晴らしい作品 です。

こんにちは、codersguruさん、お褒めの言葉ありがとうございます。私はあなたの生徒の一人ですが、EAではすべてあなたのコードです。

理由: