目次
概要
『あの4億円脱税主婦が教えるFXの奥義』(池辺雪子)の袋とじで紹介されているyukikovチャートを使用したトレードルールを検証します。
yukikovチャートのインジケータのソースコードは以下の記事で紹介しています。
→yukikovチャートをMT4で表示するインジケータ
トレードルールの確認
エントリールール
・陰線同士のはらみ足
→買いのシグナル
・陽線同士のはらみ足
→売りのシグナル
エグジットルール
・反対のシグナルの発生
※つまり、ドテン(今まで持っていたポジションを決済すると同時に、逆のポジションを取る)
今回の検証は、単純化するために、ポジションは最大で1つしか持ちません。
例えば、売りのシグナルが発生する前に、買いのシグナルが2回発生した場合、2回目の買いのシグナルは無視します。
ソースコード
※以下のソースコードは、
『FXメタトレーダー実践プログラミング (現代の錬金術師シリーズ)』(豊嶋久道)
で紹介されているライブラリーを使用しています。
そのため、コピペだと動きません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
// マイライブラリー #include <MyLib.mqh> // マジックナンバー #define MAGIC 20094060 #define COMMENT "池辺本_yukikov" // 外部パラメータ extern double Lots=0.1; extern int Slippage=3; extern ENUM_MA_METHOD MaMetod = MODE_SMA; extern int MaPeriod = 3; extern int SLpips= 0; // 損切り値幅(pips) extern int TPpips= 0; // 利食い値幅(pips) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int EntrySignal(int magic) { // オープンポジションの計算 double pos=MyCurrentOrders(MY_OPENPOS,magic); double haOpen_0=GetHaOpen(0); double haClose_0=Open[0]; double haOpen_1=GetHaOpen(1); double haClose_1=Open[1]; //陽線のはらみ足になっている bool isPositiveBar_0=haClose_0>haOpen_0; bool isPositiveBar_1=haClose_1>haOpen_1; bool isPositiveHarami=haOpen_0>haOpen_1 && haClose_0<haClose_1; //陰線のはらみ足になっている bool isNegativeBar_0=haClose_0<haOpen_0; bool isNegativeBar_1=haClose_1<haOpen_1; bool isNegativeHarami=haOpen_0<haOpen_1 && haClose_0>haClose_1; bool buySignal=isNegativeBar_0 && isNegativeBar_1 && isNegativeHarami; bool sellSignal=isPositiveBar_0 && isPositiveBar_1 && isPositiveHarami; int ret=0; // 買いシグナル if(pos<=0 && buySignal) ret=1; // 売りシグナル if(pos>=0 && sellSignal) ret=-1; return(ret); } // スタート関数 int start() { // エントリーシグナル int sig_entry=EntrySignal(MAGIC); // 買い注文 if(sig_entry>0) { MyOrderClose(Slippage,MAGIC); MyOrderSendSL(OP_BUY,Lots,Ask,Slippage,SLpips,TPpips,COMMENT,MAGIC); } // 売り注文 if(sig_entry<0) { MyOrderClose(Slippage,MAGIC); MyOrderSendSL(OP_SELL,Lots,Bid,Slippage,SLpips,TPpips,COMMENT,MAGIC); } return(0); } //+------------------------------------------------------------------+ bool MyOrderSendSL(int type,double lots,double price,int slippage,int slpips,int tppips,string comment,int magic) { int mult=1; if(Digits == 3 || Digits == 5) mult=10; slippage *= mult; if(type==OP_SELL || type==OP_SELLLIMIT || type==OP_SELLSTOP) mult*=-1; double sl=0,tp=0; if(slpips > 0) sl = price-slpips*Point*mult; if(tppips > 0) tp = price+tppips*Point*mult; return(MyOrderSend(type, lots, price, slippage, sl, tp, comment, magic)); } //+------------------------------------------------------------------+ double GetHaOpen(int shift) { int offset=1; double maOpen=iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_OPEN,shift+offset); double maClose=iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_CLOSE,shift+offset); double maLow=iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_LOW,shift+offset); double maHigh=iMA(NULL,0,MaPeriod,0,MaMetod,PRICE_HIGH,shift+offset); return (maOpen+maClose+maLow+maHigh)/4; } //+------------------------------------------------------------------+ |
結果
プロフィットファクタの値が1を下回るので、有効なトレード手法だとは言えません
改善点
・複数ポジション持てるようにする。
本書で紹介されている手法は、複数ポジション取りうるので、可能な限り本書と同じ手法で検証する
・別のインジケータでフィルターをかける
・利確、損切を決める
・足の実体が短い場合、取引を見送る
関連記事
- 『あの4億円脱税主婦が教えるFXの奥義』(池辺雪子)の手法を検証
- 『あの4億円脱税主婦が教えるFXの奥義』(池辺雪子)の感想・レビュー
(※RSIの乖離を利用した手法) - yukikovチャートをMT4で表示するインジケータ
~FXを始めてみませんか?~
XMは、口座を開設するだけで、3000円のボーナスが無料でもらえます。
資金はないけど、FXを試しに挑戦してみたい方でも大丈夫です。
(サイト主もXMを使用しています)