*

ディナポリ手法で利用するDMA (2)

公開日: : 最終更新日:2019/09/24 マネー

前回の記事「ディナポリ手法で利用するDMA」で、ディナポリ移動平均線を使った自動売買プログラムを作りましたが、25本線があまり活躍していないので、トレンド期間でないときの損失を減少させる方策として 25本線の向きをフィルタに使うことにしました。

これでうまくいけばトレンド期間でないときの損失を半分にできるかも。しかもトレンドのときの利益には差し障りがないはず。

ポンド円 30分足での成績はかえって悪くなりましたが、なんとなく予感していたように性格がのんびり、つまり短期足では損益しか出ません。

タイムフィルタで日本時間の午前10時から午後7時まで動かして、91回とだいぶ動作回数が減少し、純益はプラス 12.19%どまり。

改良前後のポンド円4時間足どうしを比較します。

勝率が 44.68%と増加し、最大ドローダウンが 3.43%とやや減少。でもまだまだ改善の余地があります。

動作時間が増えたのに動作回数は減少しています。

勝率はトレンドフォロワーなら優秀なほうです。最大ドローダウンもあと頑張っても半減くらいかな。純益がもっと伸びないといけませんが、相場次第ですね。

移動平均線を使ったものはトレンドフォロワーという性格上、トレンドの部分でいかに多くの部分をおいしくとれるかという問題と、トレンドでない期間での損失をいかに小さくするかという問題があり、取る方策にとっては二律背反のこともあるのが頭が痛い点ですね。

プログラムソース

//
// ysDMAX01b.mq4
//
//  2019.9.22  ディナポリチャートその2
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びで 25×5DMA が上向きのとき

//マジックナンバーの定義
#define MAGIC  42404

//パラメーターの設定//
extern double Lots = 0.1;     //取引ロット数(0.1 は1万通貨)
extern int Slip = 10;         //許容スリッページ数
extern string Comments = “”; //コメント

extern double ILC = 40 ;

extern int in_time = 3; // 開始時間(サーバー時間 0から)
extern int out_time = 20; // 終了時間(サーバー時間 24まで)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int start(){

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

double dma1 = iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,4);
double dma2 = iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,6);
double dma3a = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,6);
double dma3b = iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,7);

//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();

if(    ( Close[1] < dma2 || ( OOPL – lc * Point >= Close[1] ) )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();

if(    ( Close[1] > dma2 ||( OOPS + lc * Point <= Close[1] ) )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}

//買いエントリー
if( Close[1] > dma1 && dma3a > dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Red);
}

//売りエントリー
if( Close[1] < dma1 && dma3a < dma3b
&& Hour() >= in_time && Hour() < out_time
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);
}

return(0);

}

関連記事

[FX] 今週の戦略 2015/5/5

ゴールデンウィークなので日本円がらみのペアは避けたいわけですが、もともと EURUSD と GB

記事を読む

タックスヘイヴン TAX HAVEN / 橘 玲

タックスヘイヴン TAX HAVEN 橘 玲 幻冬舎 2014-04-10

記事を読む

KOSPI ベアETN が熱い (3)

「KOSPI ベアETN が熱い (2)」の続きです。 また、「アメリカ高官が日韓の媒

記事を読む

【FX】ThreeTrader で新たなタイプの口座を開いてみる

以前の記事「ThreeTrader という FX業者」で書きましたが、ThreeTrader は な

記事を読む

投資信託の買い増し方の一例(私の場合)[2]

以前の記事「投資信託の買い増し方の一例(私の場合)」の続きです。 具体例を提示します。

記事を読む

いますぐ妻を社長にしなさい / 坂下 仁

いますぐ妻を社長にしなさい 坂下 仁 サンマーク出版 2014-02-19

記事を読む

【FX】Voorloper という EA(3) デモトレード5日目

「Voorloper という EA(2) 同時トレード数と通貨ペア数の変更」の続きです。 変更

記事を読む

【FX】Fintokei チャレンジ 16日め またまたやらかし

以前の記事「【FX】Fintokei チャレンジ 14日め」の続きです。 やっちまった。

記事を読む

【FX】Alpinist という EA(3) リアルトレード

以前の記事「【FX】Alpinist という EA(2)」の続きで、バックテストで合格、デモ口座での

記事を読む

【FX】グリッドトレード(グリッド戦略)

グリッドトレード(グリッド戦略)とは株や外為で昔からよくある方法で、相場に対し等間隔の値幅で複数のポ

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

THE WEALTH LADDER(富の階段) / ニック・マジューリ

「Just Keep Buying」の著者 ニック・マジューリ

【FX】CCI をエントリトリガに使ったEA を試作してみた(2)

前回の記事「【FX】CCI をエントリトリガに使ったEA を試作してみ

【FX】CCI をエントリトリガに使ったEA を試作してみた

CCI は Commodity Channel Index(商品チャネ

日本漢字全史 / 沖森卓也

★★★★☆ 日本における漢字の歴史について、これほどわかりや

【FX】ボリンジャーバンドをトリガーにするEA

以前にも 4つほど作りましたが、ボリンジャーさんの動画を久々に観たので

→もっと見る

  • 2026年1月
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
  • アクセスカウンター
PAGE TOP ↑