月別アーカイブ: 1月 2015

FXブレイクアウトシステムのテスト

ブレイクアウトシステムは今まで食わず嫌いでしたが、試作してみました。

ルールはシンプル。

  • 直近39期間の最高値を終値が上回る(ブレイクアウト)と買い。
  • 直近39期間の最低値を終値が下回る(ブレイクアウト)と売り。
  • 買いの決済は、直近19期間の最低値を終値が下回るとき。
  • 売りの決済は、直近19期間の最高値を終値が上回るとき。

プログラムソースは後述。

*

検証期間は 2013/3/15 から先週まで。

下は USDJPY 1時間足の結果です。Fast_period = 15 ; Slow_period = 30 に最適化しています。

 

プロフィットファクターは 1.30 ですが、勝率 38.5%とがブレイクアウトシステムにしては高いのは円安相場が長く続いた影響でしょうか。

ちょっと改良の余地がありそうです。

プログラムソース

//
// yasciiBreakout01.mq4
//
//

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

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  ""; //コメント

extern int Fast_period = 18 ;
extern int Slow_period = 39 ;

//変数の設定//
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 FastHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double FastLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double SlowHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Slow_period, 2)];
   double SlowLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Slow_period, 2)];

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   

   //買いポジションのエグジット
   if(  (Close[2] >=FastLL2 && Close[1] < FastLL2) // || ( OOPL - ILC*Point >= Close[1] ))  //|| ( OOPL+TP*Point <= Close[1] ))
       && ( 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[2] <=FastHH2 && Close[1] > FastHH2) // ||( OOPS + ILC*Point <= Close[1] ))  //|| ( OrderOpenPrice()-TP*Point >= Close[1] ))
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(    Close[2] <= SlowHH2 && Close[1] > SlowHH2
       && ( 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,Yellow);
    }

   //売りエントリー
   if(    Close[2] >= SlowLL2 && Close[1] < SlowLL2
       && ( 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ブレイクアウトシステムのテスト(2)

###

RVI のクロスを使った逆張り系FX自動売買システム

RVI( relative vigor index )という指標は素直でわかりやすいなぁと前から思っていましたが、シグナルラインも標準で備えているのでプログラム化するのも非常に簡単。

RVI はオシレーター系ですので逆張りに向いています。レンジ相場に強く、トレンド相場には全く向いておりません。

ということで作ってみました(ソースは後述)。

*

RVI とシグナル線のゴールデンクロスとデッドクロスでエントリします。

検証すると EURUSD 4時間足 との相性がいいです。

結果を見ると無駄打ちも結構あるので、とことん逆張りさせようと思い、移動平均線(4EMA)の上にあるときのみ売り、下にあるときは買いのみというフィルタをかけました。

2010/1/18 から先週までの 5年間のデータを使った結果はこちら。

 

資産曲線は後半の伸び悩みがもったいない。

レンジ相場はやはり強いですね。

まだまだ改良の余地がありそうです。トレンドが発生すると自動的にエントリをやめるとか・・・

EURUSD は 2014年の 5月からは一貫して下降トレンドでした。

2014年5月から先週まで、動作を「売り」に制限したら下のような感じになります。

未来がわかればいいのになあ。

プログラムソース

//
// yasciiRVIcross01.mq4
// 
//

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

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  ""; //コメント

extern int RVI_period = 10 ;
extern int EMA_period = 4 ;

extern double ILC = 80 ; 
extern double TP = 110 ;

//変数の設定//
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 RVI_MAIN1 = iRVI(NULL, 0, RVI_period, MODE_MAIN, 1);
   double RVI_SIG1 = iRVI(NULL, 0, RVI_period, MODE_SIGNAL, 1);
   double RVI_MAIN2 = iRVI(NULL, 0, RVI_period, MODE_MAIN, 2);
   double RVI_SIG2 = iRVI(NULL, 0, RVI_period, MODE_SIGNAL, 2);

   double Ema21 = iMA(NULL, 0, EMA_period , 0, MODE_EMA ,PRICE_CLOSE, 1) ;

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   

   //買いポジションのエグジット
   if(    ((RVI_MAIN1 < RVI_SIG1 && RVI_MAIN2 > RVI_SIG2) || ( OOPL - ILC*Point >= Close[1] ) ) // || ( OOPL+TP*Point <= Close[1] ))
       && ( 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(    ((RVI_MAIN1 > RVI_SIG1 && RVI_MAIN2 < RVI_SIG2)||( OOPS + ILC*Point <= Close[1] ) ) // || ( OrderOpenPrice()-TP*Point >= Close[1] ))
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(    RVI_MAIN1 > RVI_SIG1 && RVI_MAIN2 < RVI_SIG2 && Ema21 > 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,Yellow);
    }

   //売りエントリー
   if(    RVI_MAIN1 < RVI_SIG1 && RVI_MAIN2 > RVI_SIG2 && Ema21 < 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);
  }

###

MTF-CCI インディケーター( yMTF_Forex_freedom_Bar )を使った FX手法

上の AUDJPY 15分足のチャートのサブウィンドウに表示しているのはマルチタイムフレーム対応の CCI のインディケータです。

yMTF_Forex_freedom_Bar という名前で、無料でダウンロードできます。

ここでも以前、「MTF Forex Freedom Bar の威力 」で紹介しました。

*

任意の 4つ(上では 15分、30分、1時間、4時間にしています)のタイムフレームの CCI の値を正なら白箱、負なら赤箱で示します。

白が上下に4つ並ぶとどの時間軸でも上昇トレンド、赤なら下降トレンドということになります。

白が4つで買い、赤なら売り、そして決済は一番上もしくは上の二つが反転したときというのが典型的な売買法になります。

*

で、プログラム化して検証してみましたが、どうもうまくいきません。資産は減るばかり。

そこで移動平均線(21EMA)より終値が上になるときだけ買い(売りの場合は下)という条件を付け加えました。やや改善しますが、ほとんどの通貨で資産曲線は下降。

21EMA の代わりに動きの遅い 62EMA を使用してもだめ。

4つの時間足の組み合わせをいろいろ変えましたが、どうもうまくいかないようです。

印象としてはエントリはまずまずよいのですが、決済がだいぶ遅れるのが原因のように思えます。

決済はほかの敏感なインディケータ(Schaff Trend Cycle など)で行うといいかもしれません。

プログラムソース

//
// yasciiCCI_MTF1501.mq4
// 
//

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

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  ""; //コメント

extern int CCI_Period = 14;

extern double LC = 80 ; 
//extern double TP = 110 ;

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数

double   CCI_Value1 ;
double   CCI_Value2 ;
double   CCI_Value3 ;
double   CCI_Value4 ;
double   Ema21 ;

int OS ;

int start()
  {

   if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

   CCI_Value1 = iCCI(NULL, 15, CCI_Period , PRICE_CLOSE, 1 );
   CCI_Value2 = iCCI(NULL, 30, CCI_Period , PRICE_CLOSE, 1 );
   CCI_Value3 = iCCI(NULL, 60, CCI_Period , PRICE_CLOSE, 1 );
   CCI_Value4 = iCCI(NULL, 1440, CCI_Period , PRICE_CLOSE, 1 );

   Ema21 = iMA(NULL, 30, 21 , 0, MODE_EMA ,PRICE_CLOSE, 1) ;

   OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);  

   //買いポジションのエグジット
   if(    (CCI_Value1 <0  || Ema21 > Close[1] ||  OrderOpenPrice()-LC*Point >= Close[1] ) // || ( OrderOpenPrice()+TP*Point <= Close[1] ))
       && ( Ticket_L != 0 && Ticket_L != -1 ))
    {     
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
      if( Exit_L ==1 ) {Ticket_L = 0;}
    }    

   OS = OrderSelect(Ticket_S, SELECT_BY_TICKET); 

// Comment(Point);

   //売りポジションのエグジット
   if(    (CCI_Value1 >0  || Ema21 < Close[1] || OrderOpenPrice()+ LC*Point <= Close[1] ) // || ( OrderOpenPrice()-TP*Point >= Close[1] ))
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(    CCI_Value1 >0 && CCI_Value2 >0 && CCI_Value3 >0 && CCI_Value4 >0 && Ema21 < 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,Red);
    }

   //売りエントリー
   if(     CCI_Value1 <0 && CCI_Value2 <0 && CCI_Value3 <0 && CCI_Value4 <0 && Ema21 > 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,Blue);     
    } 

   return(0);
  }

関連記事

MTF Forex Freedom Bar の威力

###

MACDのマルチタイムフレームシステム(FX自動売買プログラム)

ある本に載っていたある人の売買法をプログラムにして自動売買してみました。

長期の時間足と日足を見て、上昇トレンドの際には MACD とシグナル線とのゴールデンクロスを買いサインにするというものです(売りサインはこの真逆)。

手仕舞いは MACDとシグナル線が反転したときというもの。

長期の時間足と日足における上昇トレンドの判定にも MACD が使えますから、MACD をトリプルフレームで使えばいいとひらめきました。

ということで、MACDシステムのマルチタイムフレーム化を試してみたことになります。

3つの時間足の異なる MACD のパラメーターは汎用性のあるもので統一しました(ここを変えた方がいいのかもしれません)。

で、プログラム(後述)ができあがり、いろんな通貨の 5分足、15分足、30分足、1時間足で試しましたが、どれもかんばしくありません。

移動平均線のクロスという基本ロジックの限界でしょう。

同じロジックの「シングルタイムフレームでパラメーターを変えた3種類のMACDで構成した」マックトリプルバーガーシステムにも勝てていません。

マックトリプルバーガーシステムもオーバーフィッティングであることは変わりないので、根本的に異なるシステムを解発する法がいいでしょう。

現在、「未来予測システム」と「簡略化MarketForceシステム」と「フィボナッチピボットシステム」を研究中です。

プログラムソース

//
// yasciiMACD_MTF15_1.mq4
//

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

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数(pips)
extern string Comments =  ""; //コメント

extern int Fast_EMA_Period = 12;
extern int Slow_EMA_Period = 26;
extern int Signal_Period = 9;
extern double ILC = 80 ;
// extern double TP = 110 ; 

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;

double   MACD_MAIN1_1 ;
double   MACD_SIGN1_1 ;
double   MACD_Value1_1 ;

double   MACD_MAIN1_2 ;
double   MACD_SIGN1_2 ;
double   MACD_Value1_2 ;

double   MACD_MAIN1_3 ;
double   MACD_SIGN1_3 ;
double   MACD_Value1_3 ;

double   OOPL;
double   OOPS;

int start()
  {

   if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

   MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;

   MACD_MAIN1_2 = iMACD(NULL, 240, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_2 = iMACD(NULL, 240, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;

   MACD_MAIN1_3 = iMACD(NULL, 1440, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_3 = iMACD(NULL, 1440, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   

   //買いポジションのエグジット
   if(   ( MACD_Value1_1 <0 ||  OOPL - ILC*Point >= Close[1] ) // || ( OOPL+TP*Point <= Close[1] ))
       && ( 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(    (MACD_Value1_1 >0  || OOPS + ILC*Point <= Close[1]  ) //|| ( OrderOpenPrice()-TP*Point >= Close[1] ))
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(    MACD_Value1_1 >0 && MACD_MAIN1_2 >0 && MACD_MAIN1_3 >0
       && ( 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,Yellow);
    }

   //売りエントリー
   if(    MACD_Value1_1 <0 && MACD_MAIN1_2 <0 && MACD_MAIN1_3 <0 
       && ( 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 ほんとうに稼いでいるトレーダーの解体新書 / 杉田 勝

FX ほんとうに稼いでいるトレーダーの解体新書 FX ほんとうに稼いでいるトレーダーの解体新書

杉田 勝

青月社 2009-06-29

売り上げランキング : 373117

Amazonで詳しく見る

by G-Tools

★★★☆☆(ある程度は参考になりそう?)

業界では有名ながら、ある事で信頼性を疑われている杉田氏の本。

この本もタイトルにわざわざ「ほんとうに」と付いているのが、疑われているのを気にしているのだろうかと思わせます。

この本は弟子の中から優秀な人を選んでのインタビューという形式で、各人の手法を紹介しています。

最後の人を除いてほとんどの人の手法はごくごくオーソドックスなものですね。

ほんとうにこれだけで儲けられるのでしょうか。

それぞれの手法をプログラム化してどれだけ有効か実証してみたいような気がしますが。

関連記事

FX先生 / 杉田 勝

###

一番売れてる投資の雑誌ザイが作った「FX」入門 / ザイFX!編集部 羊飼い

一番売れてる投資の雑誌ザイが作った「FX」入門 一番売れてる投資の雑誌ザイが作った「FX」入門

ザイFX!編集部 羊飼い

ダイヤモンド社 2009-03-27

売り上げランキング : 4655

Amazonで詳しく見る

by G-Tools

★★★☆☆(わかりやすいが今ひとつ)

初心者用のFX解説本。

有名ブロガー羊飼いさんが担当しています。この人のブログは非常に役に立ちます。

全くの初心者にはちょっと難しいかも。

最後の方に個人投資家たちの方法を紹介していますが、どれも参考にならない(失礼!)。

ということで、FX 手法は載っていないのでほかの本で研究してください。

###

【名曲】 星降る森 / 池田綾子

池田綾子の名曲「星降る森」をご紹介します。

カジシン(梶尾真治)の小説に出てきそうな情景が目に浮かびます。

池田綾子は武蔵野音大の声楽科出身でさまざまな声質を使い分けるのは KOKIA と同じ。

美しいメロディと心に染みいる詞を創作する能力も KOKIA と同じ。

ともに当代きってのアーティストと申せましょう。

なのに世には知られておりません。

私はバカどもには教えないでコッソリ楽しむことにしていますが。

星降る森 星降る森

池田綾子

39ERS Records 2006-09-30

売り上げランキング : 181387

Amazonで詳しく見る

by G-Tools

関連記事

【名曲】白いギフト / 池田綾子

###

株って儲かりますか?

この前知人と話していて、投資の話になりました。

その人が株でだいぶ損をしていると言うので、

他人の思惑を想像したり 噂を聞いたりして とかという理由で株を買ったらダメでしょ。

会ったこともない海千山千のゼニゲバ親父の思惑なんてわかりませんよ。

いっしょに住んでいるカミサンの思惑すらわかりっこないのに。

と言ったら、すごく納得されました。

###

FXトレード 2014/1/7

FXトレードの記録です。

ようやく OANDA にリアル口座を開きました。早ければ来週あたりに実稼働です。

で、昨日の成績は(まだデモ口座です)以下のようになりました。

時間はサーバーの時間で日本時間より 7時間遅れています。

幸いなことに全勝。

マックトリプルバーガー(自動売買プログラム)

  1. 2015.01.07 03:12:51 buy 1.00 usdjpy 118.855 ⇒ 2015.01.07 03:22:07 118.909 5400

10分も仕事せずに 5400円で終了。

もっと仕事しろよ。

実際はバージョンアップ(Damiani フィルタの組み込み)のために止めていた時間が長かったのですが。

にっこり(自動売買プログラム)

  1. 2015.01.07 01:08:29 sell 0.30 eurusd 1.18781 ⇒ 2015.01.07 02:18:34 1.18746 1248
  2. 2015.01.07 02:18:35    sell 0.30 eurusd 1.18738 ⇒ 2015.01.07 16:07:44 1.18168 20427
  3. 2015.01.07 17:00:01 sell 0.30 eurusd 1.18189 ⇒ 2015.01.08 14:18:09 1.17619 20496

昨日買った本についていた EA です。
計3回発動し、42171円のゲット。
10万通貨でなく、3万通貨なのは負けた時の金額が超でかいので。

裁量つまり手動(えつこチャート)

  1. 2015.01.06 15:30:00 sell 1.00 usdjpy 119.056 ⇒ 2015.01.06 16:44:14 118.915 14100
  2. 2015.01.06 16:45:00 sell 1.00 usdjpy 118.898 ⇒ 2015.01.06 17:03:15 118.731 16700

裁量はしないはずなのですが、ちょっとヒマだったものでつい。^^

15分足なのでちょっと忙しかったですが、1回目を利益確定したらすぐ2回目のベルが鳴りました。ちょっとびっくりしました。

「まだ降りたらアカン」と言われたような感じです。

###

 

ドクター田平の「最強」外貨投資―5年後に資産家になる / 田平 雅哉

ドクター田平の「最強」外貨投資―5年後に資産家になる ドクター田平の「最強」外貨投資―5年後に資産家になる

田平 雅哉

主婦と生活社 2006-10

売り上げランキング : 140859

Amazonで詳しく見る

by G-Tools

★★★☆☆(最強ではなく普通)

これもブックオフで見つけた田平先生の FX 本。

似たような本をいくつも書いておられますね。

初心者向けの解説本ですが、「ユーロは12月に高く、1月に安くなる」と書いてあり、確かに現在も昨年の 12/16 をピークにずっと下げていますね。

EURUSD 1時間足

あと、初心者用にしては珍しく手法の説明があります(そっけないですが)。

この方法は他の本にも載っていましたが、MACD(パラメーターは標準的) とストキャスティクス(パラメーターは驚異の 42日間:閾値は85%と15%)とを使ったものです。

42日間のストキャスなんて世界最長記録ではないでしょうか。普通は 5日間ですもんね。

でも42日間にすると結構レートと似てくるので、わかりやすかったりします。

↑ 上からレート、5日間のストキャス、42日間のストキャスです。

関連記事

###

【名曲】白いギフト / 池田綾子

 

池田綾子の『白いギフト』が YouTube にアップされていました。

2年以上前にアップされているのに再生回数が少ないなあ。

最近、チラチラ降る雪を見ると、この歌が真っ先に思い起こされるのですが。

歌詞はこちら> http://www.utamap.com/showkasi.php?surl=B10078

Lunar Soup

この曲が収められたアルバムはこちら。

池田綾子のアルバムの中でも3本の指に入る名作と思います。

Lunar soup Lunar soup
池田綾子
ユニバーサルJ 2005-07-06
売り上げランキング : 22132
Amazonで詳しく見る
by G-Tools

 

ちなみに最近涙もろくなった私が思わず落涙する綾子さんの歌。

『君と在りし日々の歌』

『時の旅人』

関連記事

###

ほったらかしでも月100万円儲かるFX自動売買 / 榊原卓丸

ほったらかしでも月100万円儲かるFX自動売買 ほったらかしでも月100万円儲かるFX自動売買

榊原卓丸

かんき出版 2010-05-07

売り上げランキング : 458303

Amazonで詳しく見る

by G-Tools

★★★★★(わかりやすく、オマケつき)

いつもどうでもいい本を紹介しているので今日はいい本を。

昨日本屋で見つけました。

FX の自動売買についての教科書です。

初心者でも非常にわかりやすく、しかも3本の EA(自動売買ソフト)がついてきます。

誰でもこの本を買えば無料で(デモ口座で)この3本の EA を体験できてしまいます。

にっこりシステムという EA

ちなみに、この3本、私が少しだけバックテストしたところ、その1本(にっこりシステム)は今の相場でもちゃんと働きそうです。

さっそく、昨晩からデモ口座で起動しています。

この EA はトレンド相場で働くブレイクアウトシステムです。推奨は EURUSD 1時間足。

ブレイクアウトなので勝率は低いのが普通ですが、なんと 90%以上。

秘密は損切りの額が利益確定の額の6倍にしてあるから。

負けたときはイタイのですが、よく勝つのでトータルでは儲かるというわけです。

下は 2014/3/10 から今日までの約 10ヶ月のバックテストの結果です。

資産曲線

39戦35勝(最後の1敗はテスト終了のため強制打ち切りになったので、本当なら勝ちに転じていた可能性もあります)。

売りなら25戦全勝。すごいですね。負けの金額もすごいですが。

さて、昨晩起動したところですが、現在の結果は1回めが起動してすでに終了しています。いま2回目が起動中。

1回目の結果は 2015.01.07 00:00:04 sell 0.30 eurusd 1.18861 ⇒ 015.01.07 13:34:48 1.18291  (+20373円)

コワイので 30000通貨単位と、いつもの 3割の投資金額で稼働していますが、うれしい 2万円超え。

いつもの 1.0ロットなら 67000円くらいですね。1400円の本代が早速挽回できます。

2回目はまだ 2000円弱みたいですけど。

リアル口座で使えるといいですね。

最初の負けが早くにくるとくじけそうになるでしょうから、もう少し検討してみます。

###

Damiani フィルタ(関数版:MetaTrader4用)のソース

公開されているインディケーター Damiani_volatmeter のソースより抜き出して、私が関数版に書き直したものがこちらです。

ご自分の EA にお使いください。

戻り値はトレンド相場のとき1、レンジ相場のとき0です。

//+------------------------------------------------------------------+
//            Damiani volatmeter 関数版 終値を使用
//
// 戻り値はトレンド相場のとき1、レンジ相場のとき0
//+------------------------------------------------------------------+

//---- input parameters
extern int       Viscosity=13;
extern int       Sedimentation=50;
extern double    Threshold_level=1.3;
extern bool      lag_supressor=true;

double   lag_s_K=0.5;
double   s0 = 0; 
double   s1= 0;
double   s2 = 0;
double   s3 = 0;
double   vol=0;
double t=Threshold_level;

int damiani_f()
{

      double sa=iATR(NULL,0,Viscosity,1) ;
      double ia = iATR(NULL,0,Sedimentation,1) ;
      if(lag_supressor){
         if (ia == 0) vol = 1.0 ;
         else vol= sa/ia + lag_s_K*(s1-s3) ;   
      }else{
         if (ia == 0) vol = 1.0 ;
         else vol= sa/ia ;   
      }

      double anti_thres=iStdDev(NULL,0,Viscosity,0,MODE_LWMA,PRICE_TYPICAL,1) ;

      double isd = iStdDev(NULL,0,Sedimentation,0,MODE_LWMA,PRICE_TYPICAL,1) ;
      if (isd == 0) anti_thres = 1.0 ;
      else anti_thres = anti_thres/isd ;

      t=t-anti_thres;

      s3 = s2; s2 = s1; s1= s0; 
      s0 = vol;

      if (vol>t){
      	return(1);
      }else{
      	return(0);
      }

}

###

マックトリプルバーガーシステムの改良 / Damiani フィルタ使用

マックトリプルバーガーシステムの改良をしてみました。

改良点: Damiani フィルタを用いて「Do not trade」の時期はエントリを回避する

結果は取引数が直近の 22ヶ月間で 14回減少と、あまり効果はないようですが、プロフィットファクターは 1.70 とやや改善。

勝率は 1%弱ダウン。

収益も 若干ですが、改善しています。

年率は 79%。

オリジナル(yasciiMaCD_3cross4.ex4)買いのみ

改良型(yasciiMaCD_3cross5.ex4)買いのみ

改良型(yasciiMaCD_3cross5.ex4)買い+売り

売りも行うようにしてもプロフィットファクターは低下し、勝率も低下。収益はわずかに改善するものの誤差の範囲かもしれません。

取引数は倍近くに増えますが、手数料(スプレッド含む)を考えると疑問。

これからの相場がダウントレンドが多いと有効でしょうけど。

あ、まだ売りの場合の最適化はできていませんけどね。

売り(円高用)のほうが急激な下落に対応しないといけないケースが多いので、パラメーターを変えるか、別のロジックを使った EA を採用するほうがよいと思います。

改良型(yasciiMaCD_3cross5.ex4)買いのみの収益グラフ

改良型(yasciiMaCD_3cross5.ex4)買い+売りの収益グラフ

見た目も上のグラフの方がなめらかで気分がいいですね。

関連記事

###

FXトレード 2014/1/6

うちのマックトリプルバーガーと名づけた EA(自動売買プログラム)は売りと買いとで成績が違いすぎます。

買いでは抜群ですが、売りは非常に不満。

売りのパラメーター調整中のために現在は”買い”のみ有効にしています。

そのためか本日は一度も起動しませんでした。

しかし、Kolachi を両方向起動にしているのでこれが起動しました。

  1. 2015.01.05 21:10:00 sell 1.00 usdjpy 119.579 ⇒ 2015.01.06 01:00:07 119.327 (+25200)
  2. 2015.01.06 02:45:00 sell 1.00 usdjpy 119.351 ⇒ 2015.01.06 02:53:11 119.351 (+0)
  3. 2015.01.06 04:25:00 sell 1.00 usdjpy 119.296 ⇒2015.01.06 07:32:18 119.127 (+16900)
  4. 2015.01.06 10:45:00 sell 1.00 usdjpy 118.937 ⇒ 2015.01.06 12:37:31 118.899 (+3800)

計4回発動し、45900円のゲット(デモ口座ですが・・・シクシク)。

これら 4回の売りエントリと決済の位置を図に示しました。

3回目の決済の位置が解せませんね。

移動平均線のクロスをシグナルにしている EA は時に全然関係のないところで発動するときがありますが、それでしょうか。

Kolachi について

以前の記事 「FX トレード 2014/11/28-2014/12/1 」でも紹介しましたが、5本の移動平均線を利用したロジックで、トレンドに乗って利益を伸ばすタイプの EA です。

うれしいことに無料です。ダウンロード> https://www.mt4fan.net/2014/10/kolachi-method-ea/

さすがにプログラムごとの配布ではないので内部の動作原理がわかりません。

USDJPY 5分足で使用していますが、私は WMA_Period を 6 に、SL を 150に設定しています。

###

Evidence-based FX

evidence-based medicine

最近の医療では EBM(evidence-based medicine)と言って、科学的根拠のある治療法を選択するのが金科玉条となっています。

根拠の無い治療を行って患者の不利益が生じた場合は訴えられるご時世。

evidence-based FX (私の造語)

昨日読んだFX本の中に、裁量トレードはカンに頼る行き当たりばったりのトレードで何の役にも立たないというようなことが書いてあり、トレーダーの 95%近くは裁量トレーダーでしょうからほとんどの皆さんを否定することになっています。勇気がありますね。

FX でも根拠のある手法を選択し、その手順をきっちり守るのがスジですね。要するに自動売買が”最良”トレードだってことです。

根拠(再現性)のある手法を研究し、バックテストを行い(効果の検証)、平静心で実行する・・・後ろの2つはコンピューターにやらせればいいのですから。

ビジネスも同じ

普通のビジネスで考えてみましょう。

たとえば ド素人がいきなり店舗を出してラーメン屋をやっても、9割はつぶれます。

普通のビジネスは、まずビジネスモデルを作り、マーケティング調査をし、アンテナショップでテストし、それから実店舗を借りて営業するわけです。

FX でも同じ。

ド素人がいきなり実戦に出て行っても 9割はすってしまいます。

まず、トレードメソッドを作り、バックテストを行い、それからデモ口座で実働させ、それからリアル口座で稼ぐわけです。

これを私は evidence-based FX と呼んでいます。

###

FXトレード 2014/1/5

うちのマックトリプルバーガーと名づけた EA(自動売買プログラム)のトレードですが、早速ビビリました。

先週末 1/2 23:00(サーバー時間なので日本より7時間遅れ) に 120.477 で 1.0ロット買ったようですが、それが先週中にさばけず、この週末 2100円のマイナスの評価損で残っていました。

本日はいきなりのダウントレンド。

マイナス 4万円少しの評価損まで行きましたが、ボリンジャーバンドの -2σで反転し、無事に上昇トレンドの最後で決済してくれました(上図の↓)。

ということで、2015/1/5 00:07:48 に 120.478 で決済。わずかに 100円プラスでした。

週をまたぐのは危険ですね。週末になにが起きるかわかりません。

金曜日は売買しないようにプログラムし直そうか検討しています。

VQインディケーター

ちなみに上の図の下のウィンドウには VQ が表示されています。

VQのとおりに売買するとよかったかもね。

VQベースの EA は製作していますが、まだテスト中です。

###

外人観光客の福袋買い

円高で外人観光客が増えているこの頃ですが、大量の福袋買いが今朝のTVで話題に。

福袋以外にも定番の炊飯器、抹茶味のキットカット、紙おむつ、化粧品、衣類などがよく売れているようです。

フジTVなのであてになりませんが、そのTV局の調べではおみやげ購入金額の平均が 10万円を超えるとか。

フジTVのコメンテーターは「昔日本人も円高のときはいろいろ買いあさっていましたね」とかコメントを述べていましたが、彼らの場合はちょっと違います。

特にアジアから来ている観光客にはかなりセミプロが混じっていて、帰国してから荷物を売りさばけば旅行代を差し引いてもおつりが来るのです。

半分仕事にしている人も多いです。通常の本業(またはバイト)で買い付け資金を稼ぎ、日本に来て商品を仕入れるわけですね。

福袋でモトがとれるかはちょっと疑問ですけど。

###

田平雅哉のFX「スイングトレード」テクニック / 田平 雅哉

田平雅哉のFX「スイングトレード」テクニック (WINNER’S METHOD SERIES) 田平雅哉のFX「スイングトレード」テクニック (WINNER’S METHOD SERIES)

田平 雅哉

日本実業出版社 2005-11-17

売り上げランキング : 134436

Amazonで詳しく見る

by G-Tools

★★★☆☆(なかなかよい)

これも先に紹介した『ドクター田平の株よりローリスク! 1万円からできる 外貨で3000万円儲ける法』と同じ著者が同じ年に出版した本。

こちらはやや中級者向けかもしれません。

メソッドも同じく MACD とストキャスティクスとの組み合わせのようですが、こちらの本のほうがやや詳しく紹介。

チャートは日足が多いです。

ストキャスティクス は K period が 42足分というムチャクチャ長いのを使ってらっしゃるのが特徴的。

ストキャスティクスは 85%、15% をラインにした買われすぎ、売られすぎの逆張りシグナルに使いますが、売買サインとしては MACD のほうがメインで、フィルター的な使われ方をしています。

MACD のゴールデンクロス、デッドクロスをメインの売買サインにしていますが、それぞれトレンドのある方向しか採用しないのではないでしょうか。

たぶんトレンドのあるときはとてもうまくいくと思われます。

関連記事

ドクター田平の株よりローリスク! 1万円からできる 外貨で3000万円儲ける法 / 田平 雅哉

###

ドクター田平の株よりローリスク! 1万円からできる 外貨で3000万円儲ける法 / 田平 雅哉

<ドクター田平の株よりローリスク! 1万円からできる>外貨で3000万円儲ける法 <ドクター田平の株よりローリスク! 1万円からできる>外貨で3000万円儲ける法

田平 雅哉

日本実業出版社 2005-02-17

売り上げランキング : 144765

Amazonで詳しく見る

by G-Tools

★★★☆☆(入門用としてはいいのでは)

田平さんは内科医。投資が趣味。

医師だけあって内容は科学的でわかりやすいです。

内容が古いのですが、投資マインドなどの基礎を知るのには十分役に立ちます。

彼のメソッドは MACD とストキャスティクスのコンビというオーソドックスなもの。トレンド相場では今でも十分に使える方法です。

タイトルの「1万円からできる」は 1万円で「3000万円儲ける」わけではないのでご注意を。

###

【かんたん図解】しっかり儲けるFX入門 / 今井 雅人 酒匂 隆雄

【かんたん図解】しっかり儲けるFX入門 【かんたん図解】しっかり儲けるFX入門

今井 雅人/酒匂 隆雄

日本実業出版社 2007-10-31

売り上げランキング : 278253

Amazonで詳しく見る

by G-Tools

★☆☆☆☆

昨日、京都の八坂神社に詣でたついでに四条のブックオフで 200円の2割引でゲット。

今井さんの話が載っているので買いました。

古い本です。

全くの初心者への解説本なので、それ以外の人にはほとんど役に立ちません。

今井さんの解説もテーマがテーマだけにフツーです。

図解が多いので全くの初心者には理解を促すいい本だと思いますけど、これだけでトレードはできません。メソッドの紹介がないからです。

運転技術を教えることなしに、高速道路への入り方を教えるようなものですね。事故して死ねと言っているようなもの。

メソッドなしで外為どっとコムの口座を開かせて、アリ金すらせるのが本来の目的なのかな、とも思ってしまいますね。

まあ、この本のほかに 10冊くらいは読んで手法を練らないとトレードしてはいけません。

###

MACDバーシステム昨日正式稼働

私の自動売買システムですが、昨日 VPS(クラウド上のWindows サーバー)上のデモ口座で正式稼働開始しました。

TakeProfit、LossCut を不完全ながらも最適化しています。

yasciiMACD_3cross04.mq4 というのがプログラム名ですが、長いので愛称をつけます。

MacD tripple burger(マックトリプルバーガー)というのはどうでしょうか。^^

デモ口座は複数

デモ口座は複数のFX業者で持っており、手数料、スプレッドやスリッページの比較をしていますが、

  1. テスト用デモ口座
  2. 長期稼働用デモ口座

に分けています。

ごっちゃにすると集計がたいへんなので。

これまでの成績

2015/1/2 11時(日本時間)ごろ正式に稼働開始。

  • 2015/1/2 13:44:58 に 120.362 で 1.0 ロット買い
  • 2015/1/3 2:0:0 に 12.626 で決済

日本円で +26400円のゲット。幸先のいいスタートです。

もう 4時間ほど早く起動していたらその前の 119.9 くらいで買えていたと思います。

トレードの間は私は 1回確認しただけです。2回目ではすでに終わっていました。

自動売買でないと何度も何度もチャートを見て、こんなに長時間もてずに決済してしまっていたでしょうね。

自動売買の利点

自動売買+VPS は偉大です。

24時間寝ずに監視してくれます。

少なくとも私よりトレードはうまい。常にゾーン(無我の境地)にあるわけですから。

それに、成績がいいから給料を上げてくれとも言いません。^^

###

元旦雪の帰郷

もう昨日の話ですが、神戸の実家に帰るのに、雪が心配なので車はやめてJRにしました。

いつもは車なんですが。

結果的にこれが正解で、ときおり強風混じりの雪が吹きすさぶクレージーな状態。

走っていたバイクも転倒するほどの悪天候でした。

私の実家とカミサンの実家をめぐり、夜に帰るときには、神戸では降っていなかったのが高槻あたりから雪が降り、すでに何時間も降っているようで結構大きな道路にまで雪が積もっているというありさま。

乗っていた電車も途中で何度も止まりましたが、無事に自宅に着きました。

車で行っていたらどこかで足止めを食らっていたはずですね。

高速道路もあちこちで通行止め、チェーン規制のようでした。

まあ、とにかく家のヒーターにあたりホットしました。

###

MetaTrader4 でのプロフィットファクター

以前の記事「FXトレードの利益」 でプロフィットレシオ(ペイオフレシオ)の話をしましたが、MetaTrader4 のバックテスト(プログラム名はストラテジーテスター)で示されるプロフィットファクターとは違うものです。

MetaTrader4 で示されるプロフィットファクターは(総利益÷総損失)です。

わが yasciiMACD_3cross04 のドル円 1時間足での結果(本日)を下に示します。

通常のペイオフレシオは(平均勝トレード ÷ 平均負トレード)で表され、ここでは 350.09ドル÷ 107.07ドルですので、3.27 になります。

ペイオフレシオをα、勝率をβとすると、ここでの勝率は 0.2779 ですから、{(α+1)β-1}の値は 0.187 と正の値になり利益が出ているわけです。

ちなみに MetaTrader4 のプロフィットファクターは αβ/(1-α) で示されますね。勝率を含んだ数字です。

2013/3/5 からの総損益(総利益-総損失)が 19693 ドル、総取引数は 986 ですから 取引1回分の期待値は +20.0 ドル(1.0ロットを毎回売買した場合)。

一日あたり 30ドル弱の儲けになりますね。

最大レバレッジ25倍の口座ならドル円だけを 1.0ロット取引するのであれば証拠金は 50万円ほどですみますが、最大ドローダウンのことを考えると最低70万円は必要でしょうが。

関連記事

###