投稿者「kotaro.yasuiwa@gmail.com」のアーカイブ

民主党って

民主主義とは多数決を尊重し、みんなで決めたことをみんなで守ることと思いますが、民主党ってやつは・・・

普段自民党には全く歯が立たないくせに、仲間同士の戦争になると俄然やる気を出しますね。

主義の違いには目をつぶって数集めのために寄り合った集団なのでしょうがありません。

今度の党首選もまったく盛り上がりませんが、だれがなってもまた党内に大きな亀裂ができるだけのこと。

党首が落選する愚を繰り返したくなければ岡田しかないが、あの人と同じ方向を向いている人もそんなにいないわけで。

ランダムな方向の小粒のベクトルを集めても総和はゼロ。

民主党の存在意義ってあるのでしょうか。

###

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

ブレイクアウトシステムの改良です。

改良点は 21期間の値幅に制限を設けて、あまり値動きの激しいときにはエントリしないようにしました

ドル円 1時間足で、前回と同じく 2013年3月15日からの結果。

総損益が 18693(2.87倍) と上昇。勝率はほぼ不変ながらプロフィットファクターの向上が効いているようです。

一番大きいのはドローダウンの大幅減少ですね。

右上がりのいい曲線になってきました。

改善前の資産曲線

 

 改善後の資産曲線

関連記事

###

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

昨日のブレイクアウトシステムの検証の続きです。

USDCHF(ドルフラン)日足の成績がいいようです。

Slow_period 36、Fast_period 24 に最適化しています。

2010/6/7(この日付はたまたま日付を指定しないとデフォルトでこうなってしまった) から本日までの結果です。

 

プロフィットファクター 1.55 はともかく、勝率44%はブレイクアウトシステムとしては立派と言えるでしょう。

資産曲線は後半のドローダウンがありますが、かなりチャーミングです。

売買回数は少ないですが、5年で 5.48倍ですからなかなか有望と思います。

続いて EURUSD(ユーロドル)4時間足です。Slow_period 25、Fast_period 45 に最適化しています。

売買回数が多く、最初のドローダウンがイタイですが、5年で 5.89倍ですから有望と思います。

続いて GBRUSD(ポンドドル)4時間足です。Slow_period 19、Fast_period 44 に最適化しています。

関連記事

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

###

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自動売買システム

RVIrelative 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万円は必要でしょうが。

関連記事

###

魔術師に学ぶFXトレード―プロ化する外国為替市場への普遍的テクニック / 中原 駿

魔術師に学ぶFXトレード―プロ化する外国為替市場への普遍的テクニック (現代の錬金術師シリーズ) 魔術師に学ぶFXトレード―プロ化する外国為替市場への普遍的テクニック (現代の錬金術師シリーズ)

中原 駿

パンローリング 2008-05-16

売り上げランキング : 73936

Amazonで詳しく見る

by G-Tools

★★★☆☆(役に立たないものの検証が多すぎ!)

タートルズなどの古典的有名手法を検証してみましたという本。

古典的手法はほとんど優位性がないという恐るべき結果です。

とくにブレイクアウト手法は広く知られてから全く無効になってしまった、と書いてあり、もはや誰も使えませんね。ご愁傷さまです。

唯一使えそうかな、と思ったのは 「ADXとオシレーター」のところで紹介されていた ADX をレンジとトレンドの判定に使う方法。

ADX が上昇しているときをトレンド相場とするのですが、これは えつこチャートでも重要視している使い方です。

この本では ADX とストキャスティクスを組み合わせて売買サインに使っています。

私は ADX と VQ、ADXと RVI の組み合わせのほうがよさそうな気がするのですが。

ヒマになったら検証してみます。

###

MACDバーシステムの改良(4) 早めの利益確定

あの自動売買システム、しつこく変更しています。

上が変更前。下が変更後。 若干違いますね。

なにを変更したかというと、利益確定(定額固定)の機能をつけ、それに合わせてロスカットの値も最適化しました。

利益が出ているのに反転して負けトレードになっているのが結構あるのでは、と思ってつけ加えました。

今のところテストしやすいようにという一時的な理由で、ドル円専用になりました。

変更後は、

  1. プロフィットファクター 1.21 ⇒ 1.23
  2. 勝率 26.39% ⇒ 27.20%
  3. 総損益 +15337ドル⇒ + 18028ドル(元手 10000ドル)
  4. 最大ドローダウン 27.89% ⇒ 21.45%

といずれも改善。

22ヶ月で 2.8倍(年利 75%)を達成できるようになりました。

これからはパラメータの最適化をやりながら、トレーリングストップでも加えますかね。

関連記事

MACDバーシステムの改良(3) あれれまさかの結末?

 

プログラムソース

//
// yasciiMACD_3cross04.mq4
//                TakeProfit & LossCut(ドル円専用)
//

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

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

extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int Fast_EMA_Period2 = 12;
extern int Slow_EMA_Period2 = 26;
extern int Signal_Period2 = 9;
extern int Fast_EMA_Period3 = 18 ; // 19;
extern int Slow_EMA_Period3 = 33 ; // 39;
extern int Signal_Period3 = 11; // 9;

extern double LC = 1.0 ; // Loss Cut (円)
extern double TP = 1.1 ;  // Take Profit (円)

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

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 ;

int OS ;

int start()
  {
    if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
   MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;

   MACD_MAIN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;

   MACD_MAIN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;

   OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);  

   //買いポジションのエグジット
   if(    ((MACD_Value1_1 <0 && MACD_Value1_2 <0) || ( OrderOpenPrice()-LC >= Close[1] ) || ( OrderOpenPrice()+TP <= 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); 

   //売りポジションのエグジット
   if(    ((MACD_Value1_1 >0 && MACD_Value1_2 >0) ||( OrderOpenPrice()+ LC <= Close[1] ) || ( OrderOpenPrice()-TP >= 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_Value1_2 >0 && MACD_Value1_3 >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,Red);
    }

   //売りエントリー
   if(    MACD_Value1_1 <0 && MACD_Value1_2 <0 && MACD_Value1_3 <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,Blue);     
    } 

   return(0);
  }

MACDバーシステムの改良(3) あれれまさかの結末?

残念なお知らせ

昨日紹介したシステムですが、本日チェックしたところ、どうも残念な結果が。

どうもヒストリカルデータが狂っていたようで、再度データを取得して検証してみました。

不整合チャートエラーが大幅に減少したので、やはりデータがおかしかったようです。

取得前

取得後

ドル円の 1時間足ですが、大幅に成績は悪化。

その後も計測を繰り返しほぼ安定した結果は、

  1. プロフィットファクター 1.21
  2. 勝率 26.39%
  3. 総損益 +15337ドル(元手 10000ドル)

まあ、22ヶ月で 2.53倍にはなるのですが、最大ドローダウンが 27.89% では途中で運用が危ぶまれるレベル。

パラメータの最適化をやり直します。

関連記事

###

FXトレーダーの大冒険 / ロブ・ブッカー ブラッド・フリード

FXトレーダーの大冒険 (ウィザードブックシリーズ) FXトレーダーの大冒険 (ウィザードブックシリーズ)

ロブ・ブッカー ブラッド・フリード

パンローリング 2010-01-19

売り上げランキング : 124822

Amazonで詳しく見る

by G-Tools

★★★★☆

ロブ・ブッカーは日本でも活躍するアメリカ人FXコーチ。

彼の本はほかにも2冊ほど読みました。

この本は小説で、全くの素人がお金目当てに FX を始めたらどうなってしまうのかを描き、そして運良くその素人がもし投資の真髄に目覚めたらどうなっていくのかというお話ですね。

成功したトレーダーたちが非常に親切なのが意外かつご都合主義的ですが、小説なのでOK。

一口で言えば、あのベストセラーの『仕事は楽しいかね?』などと同じく、億万長者たちが貧乏ながらも真摯な若者を導くという類型的なお話です。

結局主人公はロブのようなアナリストっぽいトレーダーに成長していきます。

手法よりも哲学、マネーマネージメントが大切だということを教えてくれます(もっともこの本の手法は実際にはほとんど参考にもなりません)。

哲学、マネーマネージメントなどをわかっていないと9割の人は消えていく運命なんですね。

著者のロブはバックテストがとても得意で、システムを作り上げることに力を注いでおり、トレード自体は重視していません。

というか本当のトレード法はシステムを作り上げることだというわけでしょう。

実際のトレードはパソコンにやらせたほうが人間にまかすよりうまくいくことが多いわけですから。

ということでお手本にしたい著者が書いているということで少々点が甘くなりますが、FX で困っている人はぜひ読むことをお勧めします。

###

MACDバーシステムの改良(2)

前回紹介した MACDバー の自動売買プログラムですが、ロスカットありバージョンをもとに長期用の MACD のパラメータを変更してみました。

対象ペア

ドル円 1時間足

結果

上が最適化前、下が最適化後。 さらになめらかになったようです。

 

いずれも 2013年3月から昨日までの結果(ドル円1時間足)です。

1万ドルの口座が 22ヶ月で 2.83倍(最適化前)、3.25倍(最適化後)に増えています

同じ時期のドル円相場は下のようになります。

 

最初の円のところやその直前のディップは利益曲線のほうでは少しの損失でおさまっています。

2つめの円のジリ上がりのところはロスカットをつけたことで主に改善できてしまい、パラメータの最適化ではほとんど改善されませんでした。

買い発動はできていたが、ダマシ損失が結構効いていたということでしょうか。

改良後の結果

プロフィットファクターは 1.55 から 1.73に改善。

勝率は 39.42% から 32.95% にやや減少。

損益は +18301 ドルから +22491ドルに上昇。

最大ドローダウンも 9.6% とヒトケタに低下。

22ヶ月で 3.25 倍なら実稼働させてみようかと思いますよね。

ところが、この後えらいことに> MACDバーシステムの改良(3) あれれまさかの結末?

関連記事

改良版(ロスカット付き)ソースコード

 

//
// yasciiMACD_3cross03.mq4
//                LossCut
//

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

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

extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int Fast_EMA_Period2 = 12;
extern int Slow_EMA_Period2 = 26;
extern int Signal_Period2 = 9;
extern int Fast_EMA_Period3 = 18 ; // 19;
extern int Slow_EMA_Period3 = 33 ; // 39;
extern int Signal_Period3 = 11; // 9;

extern double LossCut = 100.0 ;

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

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 ;

int OS ;

int start()
  {
    if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
   MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;


   MACD_MAIN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;


   MACD_MAIN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;


   OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);  

   //買いポジションのエグジット
if(    ((MACD_Value1_1 <0 && MACD_Value1_2 <0) || ( OrderOpenPrice() - LossCut * 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); 

   //売りポジションのエグジット
   if(    ((MACD_Value1_1 >0 && MACD_Value1_2 >0) ||( OrderOpenPrice() + LossCut * 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_Value1_2 >0 && MACD_Value1_3 >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,Red);
    }

   //売りエントリー
   if(    MACD_Value1_1<0 && MACD_Value1_2 <0 && MACD_Value1_3 <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,Blue);     
    } 
    
     
   return(0);
  }

###

MACDバーシステムの改良

MACDバーを使った自動売買システム

昨日自作したプログラムですが、短期用、中期用、長期用の3つの MACD を同時に判断に使用するものです。

買いエントリ

3つのMACD全部がゴールデンクロス後 かつ 長期 MACD がゼロより上

売りエントリ

3つのMACD全部がデッドクロス後 かつ 長期 MACD がゼロより下

買い決済

短期、中期の MACD がデッドクロス後

売り決済

短期、中期の MACD がゴールデンクロス後

注意

買い増し、売り増しは行わない

ロスカットなし

結果 

2013年3月から昨日までの結果(ドル円1時間足)です。

1万ドルの口座が 22ヶ月で 2.2倍に増えています

ただし、ロットは 10万通貨なのでレバレッジは10倍強となり、買い増し、売り増しは行っておりません。

もっとも、同じ時期のドル円相場は下のように 96円から120円まで上昇していたので、ドル定期預金でも 1.2倍+金利はいただけたようですね。

 

利益曲線とレートの曲線を比べますと、最初の円のところで、ジリ下げのときに損失がふくらみ大きなディップを作っています。

2つめの円のジリ上がりのところは買い発動できていないのか、利益曲線はフラットなままです。

この2つは長期の MACD のパラメータの変更でなんとかなるかもしれませんね。

3つめの円はレートが急降下してまた反転していますが、このシステムはうまく対応してくれたようです。生身の人間ならこうはうまくいきませんね。このあたりが自動売買の最もすばらしいところです。

改良版

長期の MACD のパラメータをいじらずに、ロスカットをもうけてディップを消すことに挑戦。

最適なロスカット値を決めるのに手間取りましたが、最初の2つのディップは消えて、同じ期間で 2.8倍と収益も増加しましたね。

最初の円のところは回避できたので、2つ目の円のところの問題を消すべく、次はパラメータの最適化を行うことにします。

関連記事

改良版(ロスカット付き)ソースコード

 

//
// yasciiMACD_3cross03.mq4
//                LossCut
//

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

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

extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int Fast_EMA_Period2 = 12;
extern int Slow_EMA_Period2 = 26;
extern int Signal_Period2 = 9;
extern int Fast_EMA_Period3 = 19;
extern int Slow_EMA_Period3 = 39;
extern int Signal_Period3 = 9;

extern double LossCut = 100.0 ;

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

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 ;

int OS ;

int start()
  {
    if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
   MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;

   MACD_MAIN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;

   MACD_MAIN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;

   OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);  

   //買いポジションのエグジット
   if(    ((MACD_Value1_1 <0 && MACD_Value1_2 <0) || ( OrderOpenPrice() - LossCut * 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); 

   //売りポジションのエグジット
   if(    ((MACD_Value1_1 >0 && MACD_Value1_2 >0) ||( OrderOpenPrice() + LossCut * 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_Value1_2 >0 && MACD_Value1_3 >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,Red);
    }

   //売りエントリー
   if(    MACD_Value1_1 <0 && MACD_Value1_2 <0 && MACD_Value1_3 <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,Blue);     
    } 
    
     
   return(0);
  }

###

FX MACD+フィボナッチ勝率アップの法則 / 平田 啓 (2)

FXチャート分析 マスターブック FX MACD+フィボナッチ勝率アップの法則 (FXチャート分析マスターブック) FXチャート分析 マスターブック FX MACD+フィボナッチ勝率アップの法則 (FXチャート分析マスターブック)

平田 啓

実業之日本社 2014-01-31

売り上げランキング : 22958

Amazonで詳しく見る

by G-Tools

★★★★☆

以前に紹介したFX チャート分析の本。

網羅的ではないので、初心者にはもう一つでしょうか。

この本の特徴としては、パラメータを変えた 3本の MACD を使った MACD バーというインディケーター を紹介していることでしょうか。

3つのパラメーターを短期MACDでは (6,19,6)、中期では標準的な (12,26,9)、長期では (19,39,9) に設定しています。

面白そうなので、自動売買用のプログラム(EA)にしてみました。

本のままの原法ではなかなかうまくいきませんので、エントリの条件を MACD がゼロより大きいときに買いのみ、小さいと売りのみという条件に改良。

ドル円の 1時間足で プロフィットファクター 1.55、勝率 39.42% くらいの成績が出ました(2013年3月~2014年12月)。

今年の春くらいからの長期の中だるみをなくせばよさそうですが、この頃はトレンドがないことが結構多いときのようで、すんなり儲けることは難しそうです。

むしろよけいなエントリをしないようなフィルタをかけることにしますかね。

フィルタをかける前のソースはこちら(↓)。

プログラムソース yasciiMACD_3cross01.mq4 (MetaTrader4 用)

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

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

extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int Fast_EMA_Period2 = 12;
extern int Slow_EMA_Period2 = 26;
extern int Signal_Period2 = 9;
extern int Fast_EMA_Period3 = 19;
extern int Slow_EMA_Period3 = 39;
extern int Signal_Period3 = 9;

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

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 ;

int start()
  {
    if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
   MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;

   MACD_MAIN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;

   MACD_MAIN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;

   //買いポジションのエグジット
   if(    MACD_Value1_1 <0 && MACD_Value1_2 <0
       && ( Ticket_L != 0 && Ticket_L != -1 ))
    {     
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
      if( Exit_L ==1 ) {Ticket_L = 0;}
    }    

   //売りポジションのエグジット
   if(    MACD_Value1_1 >0 && MACD_Value1_2 >0
       && ( 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_Value1_2 >0 && MACD_Value1_3 >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,Red);
    }

   //売りエントリー
   if(    MACD_Value1_1 <0 && MACD_Value1_2 <0 && MACD_Value1_3 <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,Blue);     
    } 

   return(0);
  }

関連記事

FXチャート分析 マスターブック FX MACD+フィボナッチ勝率アップの法則 / 平田 啓

###

出稼げば大富豪2 気づいた人は動きだした / クロイワ・ショウ

出稼げば大富豪2 気づいた人は動きだした (調子ぶっこきシリーズ) 出稼げば大富豪2 気づいた人は動きだした (調子ぶっこきシリーズ)

クロイワ・ショウ

ロングセラーズ 2009-10-20

売り上げランキング : 79150

Amazonで詳しく見る

by G-Tools

★★★☆☆(なんて余白が多いんだ!)

インドネシアのバリ島に実在する日本人大富豪「兄貴」(本名 丸尾孝俊)に弟子入りした著者(理系大学院生「クロイワ」)は 前書で生きた成功理論を学び意気揚々と帰国し会社を作ったけどうまくいかず、またバリにやってきました・・・というのが今回のいきさつ。

相変わらず、ダメよダメダメな著者の情けなさ と ぶっ飛んだ兄貴の掛け合いが面白い。

クロイワは実業で成功するのか)楽しみになってきました。前書ではどうでもよかったけどね。

まあ、成功するまで続ける気だろうし、この本が売れれば一応成功するでしょう。

それに彼は実際に兄貴に会いに行くツアーまで計画し、運営しているので、この本を読んで兄貴に会いたいという方々をすでに幸せにしているところが偉いと思います。

関連記事

出稼げば大富豪 成功が見えた編 (調子ぶっこきシリーズ) / クロイワ・ショウ

###

大学病院の不健康な医者たち / 米山 公啓

大学病院の不健康な医者たち (新潮OH!文庫) 大学病院の不健康な医者たち (新潮OH!文庫)

米山 公啓

新潮社 2001-05

売り上げランキング : 698845

Amazonで詳しく見る

by G-Tools

★★★☆☆

ヨネヨネ先生の実録風エッセイ(登場人物が仮名であること以外は事実なのかな)。

著者が聖マリアンナ大学病院を辞めるいきさつを語っています。

「医者だって、リストラされるときが来るんだ・・」と表紙のイラストに書いてありますが、医者にとっては当たり前ですね。このイラストレーター菅野博子さん(や世間の皆様)には意外かもしれませんが。

私にとってはなぜそんなに医局(大学病院)にしがみつきたいのかよくわかりませんが。

著者はこの本では大学病院での検診施設にとばされて苦労されていますが、日本全体の検診のあり方について正論を吐いており、同情できます。

でもそれでメシを食っている人がいっぱいいるので、今更「役に立たない」とはなかなか言えないんですね。

関係ないですが、上のamazonの商品ページは他の本とごっちゃになっていますね。

看護婦(女性看護師)は共著していません。

関連記事

###

移動平均線とVQインディケーターとの組み合わせで自動売買(2)

USDCHF 1時間足

↑ クリックすると拡大します

以前のストラテジー(ロジック)プログラムを改良してみました。

改良点

  • VQ のパラメータを 6,3,4,2 に変更。
  • 決済ポイントの図柄を変更

結果的には、大きなトレンドで途中で降りることが少なくなり収益は少し改善しました。

VQ のパラメータを 6,3,4,2 にしたのは ドル円 ではこれがフィットすることが多いからです。

上のチャートはは ドル/スイスフラン で ドル/円 と似たような動きをしますから、このペアでもオリジナルの定数よりはマッチします。

問題点

VQ 自体が移動平均線を使ったメソッドなので、VQ を移動平均線と合わせても両者共通の弱点をカバーできません

すなわち、トレンドレス(持ち合い)相場ではダマシが頻発することです。

オシレーター系の指標でもここは除外できませんので、ボリューム系の指標をフィルタに使うことを考えています。

VQ と ADX-DMI などの組み合わせがいいでしょうか。

ただ、こうしてもブレイクアウトに乗り遅れることが多いかもしれません(VQ と移動平均線とのペアよりは遅れないでしょうが)。

まったく新しい方式もいくつか考えています。

実際には投資信託のようにいくつものシステムを同時駆動させることになるでしょう。

###

スマイル0円

ときどき、駅まで歩いての出勤途中にゴミ回収車とすれ違うときがあります。

市が委託している回収業者の車です。

運転手と助手の2人組で、助手の若いにいちゃんがゴミ袋を拾って車の回収口に放り投げています。

すれ違うときに私は「ご苦労様」か「いつもありがとう」と言うことにしています。

するとにいちゃんも笑って「おはようございます」と返してくれます。

暑い時も寒い時も大変な仕事です。

気分も鬱屈しているものと推測されます。

そういう気分でゴミ袋を扱われると中身が出たりします(これは出した人のくくり方が悪いのですが)ので、ゴミ置き場が臭くなります。

ちょっとでもいい気分で丁寧に行ってねという思惑で始めましたが、最近それ以上の効果があるなと思っております。

###

【名曲】クリスマスの響き / KOKIA

クリスマスアルバムと銘打ったCDはたくさん持っているのですが、最近は KOKIA もの(クリスマスギフト)しか聴きません。^^

 

12/23 の東京で行われた KOKIA のコンサートは行けませんでしたが、その代わりにここ数日はアルバム「クリスマスギフト」をよく聴いております。ヤケなんですな。

Youtube でも聴けます。

ところが、もう一つの名曲・・・アルバム「心ばかり」に入っている『クリスマスの響き』は Youtube では聴けませんね(地域ブロックのため)。

残念です。

すごい曲です。

冒頭部の試聴のみこちらで> クリスマスの響き

###

御隠居忍法 – 刺客百鬼 / 高橋 義夫

御隠居忍法 - 刺客百鬼 (中公文庫) 御隠居忍法 – 刺客百鬼 (中公文庫)
高橋 義夫
中央公論新社 2014-10-23
売り上げランキング : 435627
Amazonで詳しく見る
by G-Tools

★★★☆☆(いつもながら面白い)

高橋 義夫の時代小説で、「御隠居忍法」シリーズの最新刊。第9作かな。

今回主人公の親友で、娘の舅にあたる耕民さんが冒頭でいきなり横死。

第一話からの登場人物なのに残念です。

どうもお家騒動に巻き込まれたらしく、その遺志をついで主人公の狸斎(元・公儀隠密)は藩主の隠し子を江戸在住の藩主に送り届けるべく旅が始まる。

襲ってくる家老配下の多数の刺客(&くノ一)を倒しながら・・・

と思ったら最後はあっけない。

ラストボスのお出ましを期待したが、小ボスでしたな。

###

FX先生 / 杉田 勝

FX先生 FX先生
杉田 勝
扶桑社 2009-05-15
売り上げランキング : 60261
Amazonで詳しく見る
by G-Tools

★★★★☆

初歩的なことは書かれており、手法も載っています。

この本に書かれていることくらいは知っていないと怖くて実際の相場はできないと思います。

実際は知らないでいきなりやって大負けして去っていく人が多いのですが。

そういう意味で、初心者にはお薦めです。

ただ、手法はほかにもあるので、この本の手法のとおりにする必要はありませんね。

###

移動平均線とVQインディケーターとの組み合わせで自動売買

昨日のストラテジー(ロジック)をMetaTrader4 でプログラムしてみました

昨日のブログでは矢印を手で打っていましたが、今回は自動です。^^

ストラテジー(ロジック) も少し変更。

買いシグナル

  • 始値と終値がともに移動平均線(62EMA)より上に抜けた陽線が出現し、VQが上昇中であれば次の足で買い

売りシグナル

  • 始値と終値がともに移動平均線(62EMA)より下に抜けた陰線が出現し、VQが下降中になっていれば次の足で売り

決済シグナル

  • 買い(売り待ち)の場合はVQが下降し始めた場合
  • 売り(買い待ち)の場合はVQが上昇し始めた場合

まだ自動売買のファンクションを追加していませんので、きっちり計算できていませんが、20勝27敗で昨日は継続中だった最後の買いも大幅に勝ちでした。

昨日よりちょっとエントリのタイミングを遅らせた(「始値も 62EMAを突き抜ける」というブレイクアウトの要素を強めた)ので勝率は低くなりましたが、そもそもブレイクアウトのシステムは勝率は低いのが普通(その分プロフィットレシオが高いことを重視)なので、納得はできます。

それに昨日よりエントリ回数が無駄に増えた(勝率が低くなったのもこれが原因)のは VQ の定数を変更していないためです。外付けの VQ を借用したので、お気に入りの定数セット(6,3,4,2)が使えませんでした

いずれ VQ 部分も内部に取り込んで VQ の定数も実行時に変更できるようにしたいです。

しかし、それでも負けの金額はトータルでもわずかで、勝ちの金額は結構大きく、収益としてはこのままでも結構よいと思います。

ドル円 1時間足(本日まで)

↑ クリックすると拡大します

プログラム ソースコード

きれいに清書してありませんし、不要な変数(のちのち必要になるので残しています)も入っています。

 

//+------------------------------------------------------------------+
//|                                                     vq_0003.mq4 |
//+------------------------------------------------------------------+

#property copyright "Copyright 2014, teleradian"
#property link      "http://yiwasaki.com/wp/"
#property version   "1.001"
#property strict

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 Yellow
#property indicator_color2  0x4444ff
#property indicator_color3 White
#property indicator_color4 Yellow

double BufBuy[];
double BufSell[];
double BufClose[];
double Buf1[];
double Buf2[];

extern int MA_Period =62;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//---

   IndicatorBuffers(4);

   SetIndexBuffer(0,BufBuy);
   SetIndexBuffer(1,BufSell);
   SetIndexBuffer(2,BufClose);
   SetIndexBuffer(3,Buf2); //62EMA
   SetIndexBuffer(4,Buf1); //VQ6

   SetIndexStyle(0, DRAW_ARROW);
   SetIndexArrow(0,233);
   SetIndexStyle(1, DRAW_ARROW);
   SetIndexArrow(1,234);
   SetIndexStyle(2, DRAW_ARROW);
   SetIndexArrow(2,73);

   SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 1, Yellow);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 1, Black);

//---
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {

   int kai = 0, uri =0;
   int counted_bar = IndicatorCounted();  
   int limit = Bars - counted_bar;
   if (limit == Bars) limit = limit-1 ;

   for (int i =limit -1; i>=0; i--)
   {
      Buf1[i] = EMPTY_VALUE;
      Buf1[i] = iCustom(NULL, 0, "vq", 6, i);
      Buf2[i] = iMA(NULL,0,MA_Period,0,MODE_EMA,PRICE_CLOSE,i);
   }

   for (int j =limit -1; j>=0; j--)
   {
      if (Buf1[j+1]==-1.0 && Buf1[j]>Buf1[j+1])
      {
         if (uri ==2) BufClose[j] = Low[j];
         kai = 1; uri = 0;
      }
      if (kai ==1 && Open[j+1]>Buf2[j+1] && Close[j+1]>Buf2[j+1] && Open[j+1]<Close[j+1])
      {
         BufBuy[j] = Low[j];
         kai = 2;
      }
      if (Buf1[j+1]==1.0 && Buf1[j]<Buf1[j+1])
      {
         if (kai ==2) BufClose[j] = High[j];
         kai = 0; uri = 1;
      }
      if (uri == 1 && Open[j+1]<Buf2[j+1] && Close[j+1]<Buf2[j+1] && Open[j+1]>Close[j+1]){
         BufSell[j] = High[j];
         uri = 2;
      }

   }

   return(0);
  }
//+------------------------------------------------------------------+

関連記事

移動平均線とVQインディケーターとの組み合わせで自動売買(2)

###

 

年末FXトレーディング

下は 11/10 から今日までの USDJPN の 1時間足です。

12/8 まで長期の円安トレンドが継続していましたが、反転して 12/16 まで短期の円高が進行し、そこから反転してまた円安になりました。

この結構な蛇行を受けて、Zulutrade のトレーダーのみなさんはひっくり返ってしまい、業績悪化したトレーダーが続出。

ひどい有様でした。

私も先週からはリアルトレードはやっておりませんで、ほとんどがデモ口座でオシレーター系のシグナルを元にやってみましたが、結構上下変動が強く、難しかったです。

なにせアメリカでは、感謝祭が済んでクリスマス休暇に入ってしまうと、プロも含め FX 相場はほとんど誰も参加しないようなので、12月はドル相場は読めなくなることが多いようです。

先週までの急激な円高はアメリカの大手ディーラーのポジション解消がなされた(彼らは1月~12月までの1年契約)からかもしれません。

12月(特に後半)は本に書いてあるとおり、リアルトレードは控えましょうね。

USDJPN の 1時間足

↑ クリックすると拡大します

後づけですが、長期の視点から移動平均線と VQ インディケーターを使っていたら結構いけたと思います。

ストラテジー(ロジック)

買いシグナル

  • 移動平均線(62EMA)より上に終値があり、VQが緑線になっていれば次の足で買い

売りシグナル

  • 移動平均線(62EMA)より下に終値があり、VQが赤線になっていれば次の足で売り

決済シグナル

  • 買い(売り待ち)の場合はVQが赤に変化した場合
  • 売り(買い待ち)の場合はVQが緑に変化した場合

きっちり検証していませんが、17勝11敗で最後の買いは継続中(たぶん大幅に勝ちになるでしょう)。

負けの金額はトータルでもわずかで、勝ちの金額は結構大きいので、収益としては非常によいと思います。

VQ だけではこうはいきません。上のロジックは移動平均線をフィルタに使っており、それが効いています。

しかもその定数を 62 と大きめのもの(62EMA)を使っているのでエントリがどうしても遅れますが、その分ダマシが減っています。20EMA を使えばエントリ数は増えますが、ダマシが増えるので収益が悪化するように思います。

使用する移動平均線について

私は移動平均線では 20EMA と 62EMA が好きなんです。

前者は使っている人が多い(後者もアメリカでは一般的)こともありますが、GMMAチャート でも 20EMA は最後尾のイワシ(15EMA)よりさらに遅く、62EMA は一番遅いクジラ(60EMA)にほぼ匹敵します。それぞれのグループで最もダマシが少ないからというのが好きな理由になります。

###

FXトレーディングの真実 / 陳 満咲杜

FXトレーディングの真実 FXトレーディングの真実

陳 満咲杜

扶桑社 2009-01-31

売り上げランキング : 287098

Amazonで詳しく見る

by G-Tools

★★★★★(初心者脱却の必需書)

ネットでの酷評が多いですが、短期トレーダーからのものでしょうか。

確かに短期トレーダーにとっては得るものは少ないですかね。

しかし、長期のトレンドフォロワーにとってはとてもいい本です。

特に指標の意味もよく知らないで使い回している(振り回されている)ような初心者がリクツを身につけるためにはいい本だと思います。

そういう意味では初心者からの脱却へのきっかけになるでしょう。

最後に GMMAチャートRSI のリバーサル・ターゲットの話が出てきますが、他の本ではなかなかお目にかかれませんね。

これらについては後に2冊ほど書いておられるので、そちらも非常に参考になります。

FX最強チャート GMMAの真実 FX最強チャート GMMAの真実

陳 満咲杜

扶桑社 2012-06-29

売り上げランキング : 146356

Amazonで詳しく見る

by G-Tools

基本にして最強 GMMA+RSI 二刀流FX 基本にして最強 GMMA+RSI 二刀流FX

陳 満咲杜

扶桑社 2014-03-25

売り上げランキング : 88036

Amazonで詳しく見る

by G-Tools

素人が知らないで玄人だけが知っている情報を得るのがこの世界では重要なので、この本を読んでいない人がだいぶ不利になることは間違いないでしょう。

関連記事

FX最強チャート GMMAの真実 / 陳 満咲杜

###

若草姫―花輪大八湯守り日記 / 高橋 義夫

若草姫―花輪大八湯守り日記 (中公文庫) 若草姫―花輪大八湯守り日記 (中公文庫)

高橋 義夫

中央公論新社 2007-07

売り上げランキング : 704678

Amazonで詳しく見る

by G-Tools

★★★☆☆

昨日紹介した高橋義夫の時代小説の続き。

花輪大八が主人公のシリーズで、長編仕立てになっています。

主人公は勘当同然で藩内の奥深い温泉の湯守りとなっていますが、今回はやっかいなお家騒動に巻き込まれていきます。

発端がある”姫さま”が湯治に来たこと。

この”姫さま”はお家騒動の両方の板挟みになった不幸な身の上なのですが、重要な秘密を握っているらしい。

ここにいつもの個性あふれる脇役たちとさらに個性的な新登場人物たちが絡んで、ちょっと血なまぐさい修羅場に・・・

主人公は「殺さず」が身上なのですが、今回は死人が結構でます。

最後があっけなくも清々しい、いつもの高橋節なのが、ほっとするところですね。

関連記事

湯けむり浄土―花輪大八湯守り日記 / 高橋 義夫

###

湯けむり浄土―花輪大八湯守り日記 / 高橋 義夫

湯けむり浄土―花輪大八湯守り日記 (中公文庫) 湯けむり浄土―花輪大八湯守り日記 (中公文庫)

高橋 義夫

中央公論新社 2006-05

売り上げランキング : 585425

Amazonで詳しく見る

by G-Tools

★★★☆☆

高橋義夫の時代小説。

花輪大八が主人公のシリーズ『花輪大八湯守り日記』ものの第一巻。

主人公は武家の当主の弟で部屋住みの身であったが、知人と起こしたけんか沙汰のすえ、両成敗で生家を勘当同然の身となり、藩内の奥深い温泉の湯守りとなります。

湯守りというのは温泉地の運営を取り仕切る役のようで、藩の武士がなるものでなく、入札によって決められる”事業主”のようなもの。

大八にそんな金はないので、当主である兄が代理人をたてて湯守りの権利を獲得・・・

ここまではそんなに面白くはないが、大八が着任したところ、個性あふれる登場人物たちが彼を取り巻き、ちょっと変わった人情話が展開していきます。

舞台が東北、時代が江戸なのでそれほどハチャメチャにはならないが、なかなか心温まる滋味あふれる小説に仕上がっています。

###

MetaTrader4 自前インディケーター作成 /準備編

MetaTrader4 は自分でプログラムすれば、インディケーターや EA を作ることができます。

このためのエディタやコンパイラ、デバッガも標準装備。

もちろん無料です。

自作 RVI

上の図は GBPUSD の日足です(クリックすれば拡大)。

二段目は有名な VQ インディケーターで、多くの人が売買の参考にしています。

三段目が自作インディケーターですが、RVI の時間的推移にデッドクロス、ゴールデンクロスの位置を矢印で示すようにしたもの。

うーん、VQ に比べて無駄な矢印が多いですね。VQ もトレンドレスなときに無駄撃ちしますが、それがもっと多いようです。

それにタイミングも VQ より遅れ気味。

ちょっと改良してみるか、見捨てるか・・・

###

サンライズはメロンパンではない

元ネタ> 関西人「東京でメロンパンをサンライズって言ったらあだ名をサンライズ関西にされた!絶対に許さん!」

上の「痛いニュース」で東京でメロンパンのことをサンライズと言った関西人がバカにされたという記事が載っていました。

私も神戸生まれですので、上のパンはサンライズと呼んでいます。

お日様をイメージした、いいネーミングだと思います。

なにせ固有名詞なので、売り方が命名したこの名前になんの問題もありません。

それに現在のメロンパンよりも起源が古い。

クリームが入っているからクリームパン。

あんこが入っているからあんパン。

カレーが入っているからカレーパン。

メロンに似ている(スイカにも似ているが)からメロンパン・・・?

明らかに食品偽装ですよ。産地偽装の上を行く。

東京の連中はメロンが入っていないパン(最近は無理やりメロン果汁を入れた店もありますが)をメロンパンと言われてなにも感じなかったのでしょうか。

ふつう民度が高いと、新聞に投書するか行政にチクリますよね。

無知とはいえ、他人をバカにするとは笑止千万。パン屋の詐欺にひっかかっていたオノレのアホさ加減を恥じるべきなのでは?

###

昨日までの自分に別れを告げる / 中谷 彰宏

昨日までの自分に別れを告げる (PHP文庫) 昨日までの自分に別れを告げる (PHP文庫)

中谷 彰宏

PHP研究所 1999-06

売り上げランキング : 195364

Amazonで詳しく見る

by G-Tools

★★★☆☆

ナカタニ本です。

失敗して落ち込んでいる人向けのナイスなアドバイスが満載。

たとえば、

エリートコースからはずれても生きることのできる人こそ真のエリートである

エリートコースに乗っている人はエリートでないそうな。

エリートコースと言え、ただのコース。すでに敷かれたレールなのでじつは普通の人でも走れます。

レールのない道を切り開いて行く人が真のエリートということですね。

医者も医局にしがみついてばかりいないで、我が道を切り開くのがほんとうはエライノダ。

それでイイノダ。

###

 

 

 

 

###

大津も雪が・・・

本日、昼間食事に出かけたついでに 100円ショップで隙間テープを買ってきました。

で、家の隣の仕事場の窓枠に貼りました。

そのせいか、現在暖房もしていないのにいつもより暖かい

ところが外を見ると雪が舞っています

じつは窓枠はアルミサッシなのですが、少しゆがんでいるのか隙間が結構あるようなのです。

今までは風の強い日など窓を閉めているのにカーテンが揺れたりしていたのでした。^^

窓枠を新調しないとだめかなと思っていたのですが・・・隙間テープって偉大だ。

###