*

ディナポリ手法で利用する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/6/15 今週のパラメーター

記事を書くのを忘れていましたが、今週のパラメーターは、2015/6/1-2015/6/14 で最

記事を読む

Bollinger BandWidth について

ボリンジャーバンド Bollinger Band という、投資家にとってはなくてはならないものが

記事を読む

VQ を使ったシンプルな自動売買システム (2)

今日はインジケーターの VQ を使ったシステムの再検証、というか宿題の回答。 前回の記事「VQ

記事を読む

早起きは5pipsの得 (2)

本日は休日だということに朝7時に気づきました。^^ 前回の記事で紹介した「早起きは5pipsの

記事を読む

CEPI / REX クリプト・エクイティ・プレミアム・インカムETF

昨年の 12月から日本で売られている まだ1年経っていない新しい ETF に CEPI というものが

記事を読む

【FX】いわゆる指標トレード

米国の雇用統計のときに動く自動売買プログラム(EA)を以前作ってみたものの、上手く動かなかったのです

記事を読む

商売は、運。(2)

昨日の記事「商売は、運。」の補足です。 * いろんな本に商売のやり方として、「儲かればそ

記事を読む

山根亜希子のFXで儲ける超投資術

山根亜希子のFXで儲ける超投資術 山根 亜希子 シーアンドアール研究所 20

記事を読む

厚生年金について

今回は厚生年金の話。 moneiro のページにわかりやすい表がありました。 上

記事を読む

ホンダジェット最新型「エリートII」発表

ホンダジェットの最新型「エリートII」というのが発表されたようです。 最大離陸重量を

記事を読む

Message

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

最後の万博へ

本日、ワタシ的には最後になるであろう 閉会まであと1週間あまりの万博に

【FX】Fintokei 入門プランを無料で試してみる

プロップファームの Fintokei のチャレンジプランの二次試験の経

【FX】Fintokei の「入門プラン」

プロップファームの Fintokei に「入門プラン」という新しいコー

【FX】AXI いい感じ

海外FX業者である AXI のプレミアム口座を開いたのが先月の 29日

【FX】Fintokei 豹変す

プロップファームの Fintokei ですが、私はパール(500万円コ

→もっと見る

  • 2025年10月
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • アクセスカウンター
PAGE TOP ↑