*

ディナポリ手法で利用するDMA (4) ATRトレイリングストップ

公開日: : マネー

前回の記事「ディナポリ手法で利用するDMA (3) HLバンドトレイリングストップ」で、ディナポリ移動平均線を使った自動売買プログラムに HLバンドトレイリングストップを導入してみましたが、その代わりに(両方使うこともできます) ATRバンドトレイリングストップを使ってみることにします。

ATRバンドトレイリングストップは、ATR(真の値)という値幅(高値と低値の差)の何倍かをトレーリングストップ用の値幅に用いるものです。

ATR を計算する期間は時間とともに変わるので、損切りの値幅は固定値ではなく、刻一刻と変わるのが特徴。

値動きの少ない場合は小さめの損切り、激しい場合は自動的に大きめの損切りになるわけです。

実際は ATR の何倍か分、エントリ時の買値(あるいは売値)の下(売りの場合は上)に損切りが自動的に設定されるわけです。

今回は固定ストップロスも併用することにしました。

ポンド円 4時間足で今年(元日~9/21)の成績です。

タイムフィルタで日本時間の午後2時から午後10時まで動かして 118回動作し、純益はプラス 16.5%とイマイチで、勝率が 42.86%(トレンド系にしてはまあまあ)なのはいいとしても、最大ドローダウンが 5.71%は改善の余地あり。

HLトレーリングストップとも併用できます。今度やってみましょう。

プログラムソース

 

//
// ysDMAX01d.mq4
//
//  2019.9.24  ディナポリチャート
// エントリ: 終値が 3x3DMA を上抜け
// イグジット: 終値が 7x5DMA を下抜け
// フィルタ: 3本の DMA が順並びのとき
// 暴落対策付き(ATRトレーリングストップ)

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

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

extern double ILC = 40 ; // initial loss cut(固定ストップロス)
extern int    ATRperiod = 9 ;
extern double ATRtimes = 3.0 ;

extern int in_time = 3; // 開始時間(サーバー時間)
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 TrailingStop;

TrailingStop = NormalizeDouble(iATR(NULL,0,ATRperiod,1)*ATRtimes,Digits);

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] ) || (OOPL – TrailingStop >= Bid) )
&& ( 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 >= OOPS + TrailingStop))
&& ( 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);

}

 

関連記事

###

関連記事

サブプライム後のマネー経済入門 / 藤田 勉

サブプライム後のマネー経済入門 (Mainichi Business Books

記事を読む

東京五輪PRに 12億円

  あのPRがたった 12億円 リオ五輪閉会式で流された 東京五輪のPR(ビデ

記事を読む

中国バブル崩壊は不動産から始まる?

中国内部からのいい情報源を見つけました。 中国経済が上向く要素はなにもない ということです。

記事を読む

[FX] フィボナッチ・トレーリングストップ(初期型)

最近本業が忙しくて改良のネタをいろいろ思いつくのですが、なかなかプログラミングしてテストできませ

記事を読む

[FX]web-keepers Windows VPS についてのトラブル(5) やはりトラブル多発

以前の記事「web-keepers Windows VPS についてのトラブル(4) あれトラブ

記事を読む

名波はるか&Kumaさんが教える!![日経225&mini]で始めるシステムトレード入門

名波はるか&Kumaさんが教える!!で始めるシステムトレード入門 名波

記事を読む

一戸建てにも修繕積立金は実は必要

* 分譲住宅を選ぶ際に、一戸建てがいいかマンションがいいか という議論が よく雑誌や新聞に載っ

記事を読む

超シンプルな自動売買プログラム(13) 前週の平均値と順張り 時間特性

前回の記事「超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性」ですが、どの

記事を読む

臆病者のための億万長者入門 / 橘 玲

臆病者のための億万長者入門 (文春新書) 橘 玲 文藝春秋 2014-05-

記事を読む

スローな TII にしてくれ

TII をさらに使いやすくする方法を考えました。 下のチャートのサブウィンドウに3種類の TI

記事を読む

Message

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

Google Workspace はいかが?

Google Workspace というサービスは名前だけ知っていたの

Ryzen5 ミニPC 購入

また ミニPCをアマゾンで注文。 「インテルは逝ってる」ようなの

「pCloud」というクラウドストレージサービス

pCloud というクラウドストレージサービスが Youtube で紹

イラン・イスラエル戦争

イスラエルがイランを攻撃してから数日しか経っていませんが、イランは戦闘

SUV は嫌い

先日、愛車(2017年式)の点検に行ってきました。 半日かかるの

→もっと見る

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