*

ディナポリ手法で利用するDMA (3) HLバンドトレイリングストップ

公開日: : 最終更新日:2021/06/03 マネー

前回の記事「ディナポリ手法で利用するDMA」で、ディナポリ移動平均線を使った自動売買プログラムを作りましたが、25本線の向きをフィルタに使ってもあまりかんばしい結果がでませんでした。

HLバンドトレイリングストップを導入してみます。

これは、HL_period という期間内の終値の最高値と再低値を、それぞれ売りの場合の損切り、書いの場合の損切りに設定するものです。

  • double HH1 = High[iLowest(NULL, 0, MODE_HIGH, HL_period, 1)];
  • double LL1 = Low[iHighest(NULL, 0, MODE_LOW, HL_period, 1)];

 

のように書けば、HH1 に1つ目のバーから数えて期間内の最高値が入力され、LL1 には最低値が入力されます。

以前、終値だけの幅を考えて

  • double HH1 = Close[iHighest(NULL, 0, MODE_CLOSE, HL_period, 1)];
  • double LL1 = Close[iLowest(NULL, 0, MODE_CLOSE, HL_period, 1)];

のようにヒゲを無視した書き方を採用していましたが、自分でもしっくりいかないので、ヒゲを含めたほうをとることにします。

これでうまくいけばトレンド期間のときの逆行による損失を減少できるかもしれません。

トレンドでないときにはあまり貢献しないかもしれませんが。

ポンド円 4時間足での成績が

利益は 15.14%。勝率 36.8%、最大ドローダウンが 5.35%。利益と勝率はわずかに改善。ドローダウンはやや増加ぎみです。

125回の動作で、原法よりは半分以下の動作回数なので効率はよくなった(長いトレンドの中で何度も利確してまた入り直すなどがなくなった?)のかも。

プログラムソース

 

//
// ysDMAX01c.mq4
//
// 2019.9.23 ディナポリチャート
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びのとき
//                 HLバンドトレーリングストップを導入

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

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

extern double ILC = 40 ; 初期ロスカット
extern int HL_Period = 9; //HLトレーリングストップの期間

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 HH1 = High[iLowest(NULL, 0, MODE_HIGH, HL_Period, 1)];
double LL1 = Low[iHighest(NULL, 0, MODE_LOW, HL_Period, 1)];

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

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

if( ( Close[1] < dma2 || ( OOPL – lc * Point >= Close[1] ) || Bid <LL1 )
&& ( 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] ) || Ask > HH1)
&& ( 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/4/9-18

エントリ時刻 売買 ロット 通貨 価格 エクシット時刻 決済価格 収益

記事を読む

AIPI, CEPI, FEPI の利回りが過少評価されている件

ずっと前から AIPI, CEPI, FEPI などカバードコール商品の利回りが楽天証券では低めに表

記事を読む

【FX】7月開始

本日は特に大したネタというものはないのですが、 TitanFX 10周年ロト開始 F

記事を読む

【FX】メタトレーダー(MT4)の武装化

インストールしたばかりのチャートソフト(売買機能付き)のメタトレーダー(MT4)はまだ素手の状態なの

記事を読む

MSCIインデックス・セレクト・ファンド コクサイ・ポートフォリオ 売却

* * 私は新生銀行で投資信託(ファンド)を買っています。 1年前まで投資していて最近

記事を読む

[FX] 早朝のスプレッド 10/23

本日 10/23 早朝のスプレッドの酷さを晒します。 OANDA 5:22:13 AM

記事を読む

Schaff Trend Cycle について

Schaff Trend Cycle は私の好きな指標の一つで、MACD のストキャスをストキャ

記事を読む

アメリカ株投資 2021-7-13

以前の記事「アメリカ株投資 2021-7-2」 で純益が 145万円を超えたと書きましたが、

記事を読む

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

VQ という摩訶不思議なインジケーターがあります。始値、終値、高値、安値のそれぞれの移動平均線を使っ

記事を読む

[FX]冬時間から夏時間への切り替わりの検証(2)

前回の記事「冬時間から夏時間への切り替わりの検証」の結果はミモフタもないものでしたが、夏時間に切

記事を読む

Message

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

【AI】Perplexityという検索特化の AI

Perplexity という検索特化の AI があります。 きち

ネクスト・ジェネレーションと世界のベスト 5月の配当

毎月配当の超高配当投資信託の「ネクスト・ジェネレーション」と「世界のベ

AIPI, CEPI, FEPI の利回りが過少評価されている件

ずっと前から AIPI, CEPI, FEPI などカバードコール商品

【FX】MetaTrader4 build 1470 の不具合

MetaTrader4 build 1470 の不具合については以前も

投資商品乗り換え完了

ようやく2月くらいから始めた 投資信託+日本株の入れ替えが完了しました

→もっと見る

  • アクセスカウンター
PAGE TOP ↑