【FX】 久々にプログラム書いてみる(日足ブレイクアウト手法)
公開日:
:
マネー
Youtube で日足(ひあし)の手法を披露あるいは検証している方が多いです。
日足のいいところは1日1回見ればいいところです。
つまり、朝出勤前に 5分程度で仕掛けができるので、勤め人の方には最適のものと思います。
*
私も1つ思いついたので、久々にプログラム(EA)を書いてみました。
日足のブレイクアウト手法です。
買い(ロング)
エントリ
N日間の最高値(さいたかね)を前日の終値(おわりね)が超えると、その日の始値(はじめね)で買いエントリ
損切り
前日の低値(ひくね)
トレーリングストップ
ロング保有中にもN日間の最高値を終値が上回るたびに損切りを低値に移動
売り(ショート)
エントリ
N日間の最低値(さいひくね)を前日の終値(おわりね)が下回ると、その日の始値(はじめね)で売りエントリ
損切り
前日の高値(たかね)
トレーリングストップ
ショート保有中にもN日間の最低値を終値が下回るたびに損切りを高値に移動
チャート
ドル円で N=7 に設定。青の点線はロング、赤の点線はショートの保有を示します。
*
ドル円の 2022/1/1~2023/12/11(昨日)までのバックテストでは、
初期証拠金 10000ドル、0.1ロット(10000通貨)で純益 3052ドル、プロフィットファクター 4.17、勝率 62.50%となりました。
保有日数も結構長いためにトレード回数が少ないです(その分一回あたりの利益も大きいですが)。
絶対ドローダウンが 157.80 ドルなので、証拠金は 10000ドルも要らない、200ドルですんだということです。
200ドルで 3052ドルの利益が得られたと考えれば爆益なのではないでしょうか。
ナンピンなし、マーチンなし、ワンポジで損切りアリの EA でですよ。
資金管理機能をつければさらに爆益になることは間違いないでしょう。
人間心理に基づいた方法なので、通貨ペアにはあまり関係しないかなと期待していたのですが、結構通貨ペアを選ぶようです。
USDJPY 以外では EURCAD、NZDCAD、CADJPY の成績がいいです(プロフィットファクター 2以上)が、それ以外ではそこそこかダメダメ。
ブレイクアウトのあとしばらく順行してくれないと利益にならないので、数日~数十日間のトレンドがよく起きる通貨ペアがいいわけですけどね。
プログラム
// jjDayBreakOut04.mq4
// N日間の最高値を超えると買い
// トレーリングストップ付き//マジックナンバーの定義
#define MAGIC 202312121//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = “”; //コメント
extern int N_Day = 20;//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double OOPL;
double OOPS;
double lc1 = 0.0;
double lc2 = 10000.0;int start(){
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
if (Close[1] > High[ iHighest(Symbol(),0,MODE_HIGH,N_Day,2) ]){ lc1 = Low[1] ;}
if (Close[1] < Low[ iLowest(Symbol(),0,MODE_LOW,N_Day,2) ]){ lc2 = High[1] ;}//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if(
Close[1] <= lc1
&& ( 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] >= lc2
&& ( 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] > High[ iHighest(Symbol(),0,MODE_HIGH,N_Day,2) ]
&& ( 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);
lc1 = Low[2] ;
}//売りエントリー
if(
Close[1] < Low[ iLowest(Symbol(),0,MODE_LOW,N_Day,2) ]
&& ( 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);
lc2 = High[2] ;
}
return(0);
}
###
関連記事
-
-
【FX】Voorloper という EA(4) リアルトレード開始
Voorloper は MQL5.com で無料配布されている自動売買プログラムです。 以前の
-
-
【FX】Yetti という EA
またまた FX の話です。 Yetti(イエティ)という自動売買プログラムがあります。
-
-
アメリカ株投資 2024-3-6
日経平均が今週 4万円を初めて超えて大盛りあがりの今日この頃ですが、米国株は FANG+ などの大型
-
-
【FX】定番のトレンドフォロー EA 10EMAタッチ法(2)
以前の記事「【FX】定番のトレンドフォロー EA 10EMAタッチ法」の続きです。 あちこちの
-
-
月収の10倍稼ぐ外資投資―横尾式トレンドフォローで着実に儲けよう / 横尾 寧子
月収の10倍稼ぐ外資投資―横尾式トレンドフォローで着実に儲けよう 横尾 寧子
-
-
【FX】現在主力の AA(仮称)という自動売買プログラム
現在、リアル口座でも主力として使っている自動売買プログラム(EA)は AA(仮称)というプログラムで
-
-
[FX] 私のやり方
先週学会に行くと、FX の質問を受けました。^^ そのときの回答ですが、一応ここでも明記し
-
-
FXブレイクアウトシステムのテスト(3)
ブレイクアウトシステムの改良です。 改良点は 21期間の値幅に制限を設けて、あまり値動きの激し
-
-
【FX】新戦略のためのデモトレード
現在の FX 自動売買は Evening Scalper Pro を中心に行っていますが、逆張りナン
-
-
最大ドローダウンについて
おまえのつくる EA は「最大ドローダウンがどれも 10%超えていて使えない」とか思っておられる