超シンプルな自動売買プログラム(7) はらみ線(はらみ足)
公開日:
:
最終更新日:2015/02/24
マネー
超シンプルな自動売買プログラムとして、日本古来のローソク足での定番「はらみ足」を利用したものをご紹介します。
孕石(はらみいし)は女性の間では有名ですが、はらみ足(はらみ線)とは1本前のローソク足の実体の中に次の足の実体が含まれるもの。
ラリー・ウィリアムズも信奉しているくらいポピュラーなものです。
はらみ足のうち、「陽の陰はらみ」と「陰の陽はらみ」を売買シグナルにした EA を作ってみました。
そのままだと成績がいまいちなので、「陰の陽はらみ」では「その前が陰線」、「陽の陰はらみ」には「その前が陽線」という前提を加えたところ、いい結果に。
決済条件は損切り 20pips固定、利益確定 40pips固定のみとしました。
ドル円 5分足(2014/1/1 – 2015/1/1)
え、「たいしたことないじゃないか」って?
いえ、私が気に入っているのは、
- 5分足という短い時間足であること
- グラフの前半のドル円相場がトレンドでない時期にもそこそこ稼げている
- むしろ後半の強い上昇トレンドでは成績がふるわない
という、これまで私の作ってきた EA とは真逆の性格を持っているからです。
もうちょっと研究してみます。
ちなみに、損切り 50pips、利益確定 420pips とすると、下のように売買回数がぐんと少なくなりますが、最大ドローダウンをそのままに利益を伸ばせます。
ただポジションの保有時間が長くなります(最大7ヶ月)。
プログラムソース
// // yasciiSimple06 // はらみ足 // //マジックナンバーの定義 #define MAGIC 42108 //パラメーターの設定// extern double Lots = 1.0; //取引ロット数 extern int Slip = 10; //許容スリッページ数 extern string Comments = "Simple06"; //コメント extern double ILC = 20.0 ; extern double TP = 40.0 ; //変数の設定// 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() { if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ; double lc = ILC; if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ; double tp = TP; if(( Digits ==3 ) ||(Digits ==5)) tp = tp*10.0 ; //買いポジションのエグジット OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET); OOPL = OrderOpenPrice(); if( (Close[1] < OOPL - lc*Point || Close[1] > OOPL + tp*Point) && (Ticket_L != 0 && Ticket_L != -1 )) { Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue); if( Exit_L ==1 ) {Ticket_L = 0;} } //売りポジションのエグジット OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); OOPS = OrderOpenPrice(); if( (Close[1] > OOPS + lc*Point || Close[1] < OOPS - tp*Point) && (Ticket_S != 0 && Ticket_S != -1 )) { Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red); if( Exit_S ==1 ) {Ticket_S = 0;} } //買いエントリー if( Close[1] > Open[1] && Close[2] < Open[2] && Close[3] < Open[3] && Close[3] > Close[2] && Close[2] < Open[1] && Open[2] > Close[1] && ( 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,Blue); } //売りエントリー if( Close[1] < Open[1] && Close[2] > Open[2] && Close[3] > Open[3] && Close[3] < Close[2] && Close[2] > Open[1] && Open[2] < Close[1] && ( 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,Red); } return(0); }
###
関連記事
-
-
[FX] TDI( Traders Dynamic Index ) について
TDI は traders-dynamic-index というファイルネームで提供されているインジケ
-
-
[FX] ロンドンコーリング改良版 冬条件
ボリ平さんのロンドンコーリングを改良した自動売買プログラムの yasciiLOCalling02t.
-
-
MTF-CCI インディケーター( yMTF_Forex_freedom_Bar )を使った FX手法
上の AUDJPY 15分足のチャートのサブウィンドウに表示しているのはマルチタイムフレーム
-
-
日本年金機構からのお尋ね
先日、日本年金機構からのお尋ねなる封書が来ていました。 私の過去の共済年金記録の欠落部分につい
-
-
高配当ETF 利回りランキング 2020-11-24 版
本日たまたま見つけたサイト(↓)に載っていた表です。 >高分配金ETF(海外):
-
-
マーフィーのスパンモデルについて
マーフィーの最強スパンモデルFX投資法 柾木 利彦 日本実業出版社 2010
-
-
Evidence-based FX
evidence-based medicine 最近の医療では EBM(evidence-ba
-
-
[FX]冬時間から夏時間への切り替わりの検証(2)
前回の記事「冬時間から夏時間への切り替わりの検証」の結果はミモフタもないものでしたが、夏時間に切
-
-
Loto6 またまた
* 一昨日、夢で1等賞があたった。 目覚めた。 やるせないが、夢だった。 昨日、カミサン