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

節目に強い人が成功する―あなたの「格付け」をアップする44の具体例 / 中谷 彰宏

節目に強い人が成功する―あなたの「格付け」をアップする44の具体例 節目に強い人が成功する―あなたの「格付け」をアップする44の具体例

中谷 彰宏

PHP研究所 1999-12

売り上げランキング : 1530717

Amazonで詳しく見る

by G-Tools

★★★★☆(サービス業は必須)

タイトルが悪いですね。節目と言われてもピンときません。

サービスを提供する側の立場の人むけに、他者よりぬきんでるためのいろんなヒント(というかワザそのもの)が書かれています。

さすがにナカタニさん、普通の人では見抜けないところをズバリと射ておられます。

こういうサービスをされると客はもう一生離れたくなくなるのではないでしょうか。

サービスは99点では失格だそうです。

100点では普通だそうです。

悪くても 101点をとらないとダメなんだそうです。

え、ムリ?

この本を読めば 100+44点取れるはずです。

関連記事

###

[FX] HL Band(High Low Band) について(2)

以前の記事「HL Band(High Low Band) について 」で書きましたが、HL band(期間中の高値と安値との幅)の実装にはいろいろあります。

VQ の動向に合わせて売買を繰り返す自作の EA「yasciiVQ01.ex4」に組み込んで実験してみました。

今回は HL バンドは利益確定&損切りに使います。

オリジナル 2014/1/1 – 2015/1/1 ドル円 1時間足

HL band type A 付き 2014/1/1 – 2015/1/1 ドル円 1時間足

HL band type B 付き 2014/1/1 – 2015/1/1 ドル円 1時間足

結果

type A の HLバンドを つけると成績はオリジナルより悪化しますが、type B では改善します。

つまり、HL band トレーリングストップをつけてウンヌンという話は、HL band の実装によって変わってきます。

HL band の実装のしかたは前回ご説明しました。

今回の type A は

double HH2 = Low[iHighest(NULL, 0, MODE_CLOSE, N, 2)];

double LL2 = High[iLowest(NULL, 0, MODE_CLOSE, N, 2)];

type B は

double HH2 = Low[iHighest(NULL, 0, MODE_HIGH, N, 2)];

double LL2 = High[iLowest(NULL, 0, MODE_LOW, N, 2)];

を使用しています。

type A を安易に使いがちですが、type B のほうがギリギリのところまで伸ばせます。ただし臆病で、早めに勝負を降りてしまいがちです。

今回の EA はトレードを手仕舞いしてもすぐにエントリ条件が満たされると再エントリしてくれるので、これでもいいのです。

一度降りると次になかなか乗ってくれないタイプの EA につける場合は type B より type A のほうがよかったりする場合があるでしょうね。

プログラムソース

//
// yasciiVQ04c.mq4
//           VQ_bars 使用
//           HLBand(LHH)

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

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

extern double ILC = 10.0 ;

extern int       HL_Period=14;

// VQ_bars 用
extern   int      Length=6;
extern   int      Method=3;
extern   int      Smoothing=1;
extern   int      Filter=1;
extern   bool     Steady =false;

int       Tenkan_sen=9;
int       Kijun_sen=26;
double    Senkou_span_b=52;

//変数の設定//
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 dir1 = iCustom(NULL, 0, "Downloads\\VQ_bars",Length,Method,Smoothing,Filter,Steady,4,1);
   double dir2 = iCustom(NULL, 0, "Downloads\\VQ_bars",Length,Method,Smoothing,Filter,Steady,4,2);

     double cla1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 3, Kijun_sen);
     double clb1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 4, Kijun_sen);

    double HH2 = Low[iHighest(NULL, 0, MODE_HIGH, HL_Period, 2)];
    double LL2 = High[iLowest(NULL, 0, MODE_LOW, HL_Period, 2)];

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

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

   //買いエントリー
   if( (dir1==1 && dir2 ==-1)
       && (Close[1] > cla1 && Close[1] >clb1)
       && ( 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( (dir1==-1 && dir2 ==1)
       && (Close[1] < cla1 && Close[1] < clb1)
       && ( 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);
  }

###

真のPET検診

元ネタ> 「線虫」を使った尿検査で、95.8%の確率でがんを判定!血液検査より高精度

犬の嗅覚を使った癌検診の話が以前ありましたが、今回は線虫。

C.elegans というカンセンチュウ科の線虫の一種はふだん土壌に住み、細菌を食べているそうです。

人間を含む他の生物には寄生しません。

全ゲノムが特定された最初の多細胞生物として、そのギョーカイでは有名な存在らしいです。

今回、九州大学のグループが、この線虫が尿中の癌細胞由来物質に惹き寄せられることを発見。

癌の種類も膀胱癌だけかと思ったら、膵癌など他の多数の癌にも有効とか。

コストも格安。

これは真のペット検診なのでは?

え、線虫が人になつくかって?

プラケースに土を入れ、C.elegans を飼って、たまに自分の尿をたらして集まるかどうか見る・・・

うーん、流行るかも?

九州大学は製品化を進めているようです。

これで現在瀕死の状況のPET検診(Positron Emission Tomography Health Check)がトドメをさされるかもしれません

C.elegans で癌を疑われ、病院を受診していろいろ検査を受けてから保険診療としてPET検査に回る患者は増えるかもしれませんが、いきなりPET 検診(保険適応外=高額)という方はだいぶ減るでしょうね。

しかし、C.elegans、名前がいいなあ。

続けて読めば セレガンス?

クリスチャン・ディオールの化粧品みたいじゃないですか。

昔、アラン・ドロンがダーバンの宣伝で言っていた、

c’est l’elegance de l’homme moderne

セレガン デゥロォム モデラン と聞こえましたが、あれを思い出しました。

###

[FX]一目均衡表の雲の色

一目均衡表の雲についてですが、「この反転が相場の転換を示唆する」という考え方があります。

本当に有効なのでしょうか。

ということで雲の反転の有無で比較してみました。

雲の反転を無視 ドル円 1時間足 2014/1/1 – 2015/1/1

雲の反転でエントリするか決める ドル円 1時間足 2014/1/1 – 2015/1/1

ということで、プロフィットファクター、勝率のみならず売買回数も下がり、その結果総損益も大幅に低下。

最大負けも増えているのに、最大勝ちは減っている・・・

ボコボコですがな。

最大ドローダウンが若干下がっているくらいですね。

他の通貨も少しやってみましたが、雲の状態は気にしないでもよさそうです。

一目均衡表の冬

2015/1/1 – 2015/3/12 でテストしてみると、雲の反転を無視してもどの通貨も利益がでないようです。

去年もそうでしたが、春がくるまで一目均衡表は封印したほうがよさそうですよ。

プログラムソース(雲の反転もエントリ条件に含む)

//
// yasciiIchimoku01a
//           一目均衡表 雲も好転、逆転
//   

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

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

int       Tenkan_sen=9;
int       Kijun_sen=26;
double    Senkou_span_b=52;

//変数の設定//
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 ten1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 1, 1);
     double kij1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 2, 1);
     double kij2 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 2, 2);
     double cla1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 3, Kijun_sen);
     double clb1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 4, Kijun_sen);

   //買いポジションのエグジット
    OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET); 
    OOPL = OrderOpenPrice();
    if(  (ten1 < kij1 || Close[1] < cla1 || Close[1] < clb1)
            && ( 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(   (ten1 > kij1 || Close[1] > cla1 || Close[1] > clb1)
          && ( Ticket_S != 0 && Ticket_S != -1 ))
    {    
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;}
    }  

   //買いエントリー
   if( ten1 > kij1 && Close[1] > cla1 && Close[1] > clb1 && cla1 > clb1 
       && ( 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( ten1 < kij1 && Close[1] < cla1 && Close[1] < clb1 && cla1 < clb1
       && ( 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]web-keepers Windows VPS についてのトラブル(4) あれトラブルが解消?

3/6 19:45:02 buy 1 usdjpy 120.968 3/6 22:15:00 120.742 -22600
3/9 00:05:06 sell 1 gbpjpy 181.685 3/9 16:00:00 182.649 -96400
3/9 03:00:01 buy 1 usdjpy 120.747 3/9 03:15:01 120.655 -9200
3/9 04:00:00 sell 1 gbpjpy 181.866 3/9 05:00:00 181.803 6300
3/9 05:45:01 buy 1 usdjpy 120.881 3/9 11:15:00 120.83 -5100
3/9 09:01:00 sell 1 gbpjpy 182.351 3/9 10:02:01 182.309 4200
3/9 10:00:00 buy 1 gbpusd 1.50755 3/9 13:00:00 1.51101 41784
3/9 11:00:00 sell 1 gbpjpy 182.121 3/9 11:14:56 182.328 -20700
3/9 12:15:00 sell 1 usdjpy 120.743 3/9 12:45:00 120.848 -10500
3/9 14:00:00 sell 1 gbpjpy 182.667 3/9 16:00:00 182.658 900
3/9 16:00:00 buy 1 gbpusd 1.51062 3/9 17:00:00 1.51028 -4112
3/9 17:30:00 buy 1 usdjpy 120.969 3/10 00:15:00 121.18 21100
3/9 20:00:00 buy 1 gbpusd 1.51097 3/9 21:00:00 1.51198 12253
3/9 20:00:00 buy 1 gbpjpy 183.409 3/10 05:13:40 183.681 27200
3/10 00:01:00 sell 1 eurjpy 131.454 3/10 02:32:01 131.735 -28100
3/10 02:00:02 sell 1 eurusd 1.08476 3/10 05:45:12 1.08282 23599
3/10 04:30:00 buy 1 usdjpy 121.558 3/10 05:44:00 121.654 9600
3/10 07:00:00 buy 1 gbpusd 1.5085 3/10 08:00:00 1.50808 -5110
3/10 12:00:00 buy 1 gbpusd 1.50439 3/10 17:00:00 1.50897 55420
3/10 12:00:00 sell 1 eurjpy 131.116 3/11 04:00:00 129.765 135100
3/10 18:00:00 buy 1 gbpusd 1.50821 3/10 19:00:00 1.5085 3515
3/10 20:00:00 buy 1 gbpusd 1.50949 3/11 08:00:45 1.50734 -26108
3/10 22:00:00 sell 1 gbpjpy 182.481 3/11 04:00:00 182.792 -31100
3/11 04:00:00 buy 1 gbpjpy 182.79 3/11 07:50:19 182.984 19400

珍しく今回はサーバーが一度も落ちませんでした。

-96400 の結構イタイ負けがあったものの合計 101341円のプラス。

デモ口座ですけどね。

仕掛け時間が○時00分00秒になっているのはすべて「前週の平均値と順張り&逆張り(愛称:時の旅人)」のEA です。

冬時間から夏時間に切り替わった 3/9 以降もパラメーターを変えずに試しに複数の通貨ペアで起動していますが、これらが結構いい感じに働いていますね。

意外です。

昨年の冬時間と夏時間との切り替えの前後それぞれ1週間を調べてみたらパラメーターはかなり変わっていたので、今年もあと1週間経ったら調べてみるつもりです。

それにしても夏時間と冬時間の切り替えはやっかいです。

とはいえ、サーバー時刻もアメリカ側に合わせて変わるので、日本が遅れたり早まったりするというのが金融的には正しいのかもしれません。

時間毎に順張りしたり逆張りしているのは主にアメリカの鬼(+ロンドンの幽鬼)どもだということを考えると、時の旅人のパラメーターをそんなに変えなくてもいいのかもしれませんネ。

###

ふるさと納税6回目 / 柑橘類 室戸市

チョーシにのった私はさらに続けて納税(寄付)することにしました。

今回はみかん

普通のミカンではおもしろくないし、ちょっと変わった種類も食べてみたい。

いろいろ探すと高知県の室戸市

土佐文旦デコポンなど定番柑橘類のほかに小夏清美オレンジなど変わった品種をお送りします。

訳あり商品となっておりますので、若干皮などにキズがあります。味は問題ありません。

というセットがあるのに着目。

デコポンでいいのですが、そろそろ品薄です。

デコポンがなくても他の旬のものがくるかもしれません。

清美オレンジは知っていますが、もっと変わったものも入っていそうな予感。

クレジットカードが使えましたので、申し込みは 5分もかかりませんでした。

さて、実物は?

高知県 室戸市

ふるさとチョイス(ふるさと納税ポータルサイト)

関連記事

###

[FX]デイリーピボットへの回帰

FX では前日のピボット値を目安にすることがよく行われています。

上下どちらから始まっても一日のうちに前日のピボット値を一度通過するという傾向があるのです。

  • 買い 前日のピボット値より当日が安く始まった場合
  • 売り 前日のピボット値より当日が高く始まった場合
  • 決済 ピボット値に達した場合(利確) または 固定ロスカットにかかったとき(損切り) あるいは 一日(サーバー時間)の終わりの1時間前に達したとき

 

売買は一日一回までとします。0時(サーバー時間・・・日本では夏時間で 6AM)に仕掛けることになりますね。

昨年の 15分足、30分足のデータが取得しにくかったので、今年のデータで検証しました。

結構多くの通貨ペアで利益がでますね。意外なことにクロス円がほとんどです。

AUDJPY、GBPJPY などが特にいいようです。

GBPJPY はじゃじゃ馬ですが、AUDJPY は理性のある(?)動きをするので私は好きです。

AUDJPY 30分足 2015/1/1 – 2015/3/9

ロスカットは 70pips にしています。

プロフィットファクター 1.94勝率 73.91% は意外にいいですね。

総損益は元金の 5割というのはおよそ 2ヶ月の期間にしてはとても良好ですね。

最大ドローダウンは高いです。

EURJPY 30分足 2015/1/1 – 2015/3/9

EURJPY のほうがよかったです。

ロスカットは 60pips にしています。

プロフィットファクター 2.32、勝率 73.91% はいいですね。

総損益は元金の 8割ですからおよそ 2ヶ月の期間にしてはとても良好ですね。

最大ドローダウンは 13% とまだ少し高いです。資金1万ドルで10万通貨単位の結果ですから、ドローダウンをもっと下げたければ資金を増やすかロットを減らしてください。

プログラムソース

//
// yasciiDaypivot01.mq4 DailyPivot 15min

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

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

//---- input parameters

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern double ILC = 40.0 ; 
int once_day = 0;

int start()
  {

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

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   double yestdy_pivot = ( iClose(NULL, 1440, 1) + iHigh(NULL, 1440, 1) + iLow(NULL, 1440, 1)) / 3.0 ;

      if (Hour() ==0 && Minute() ==0){
         once_day = 0;
      }

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  ( Bid > yestdy_pivot || Bid < OOPL -lc * Point || Hour() ==23 )   
       && ( 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(   ( Ask < yestdy_pivot || Ask > OOPS + lc * Point || Hour() ==23 )  
       && ( 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] < yestdy_pivot && once_day == 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,Blue); 
      once_day = 1;
    }

   //売りエントリー
    if(  Close[1] > yestdy_pivot && once_day == 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); 
      once_day =1 ;
    } 

   return(0);
  }

###

チルダ、間違っているだ

チルダとは「~」のこと。

半角で、

  1. アルファベットなどの外来文字の上につける
  2. 単独で使われてほぼ等しいの意味(数式などで)

 

という用法があります。

Wikipedia

この半角文字を「から」つまり、AからBへの移行を示す意味で使うのは間違っています

「から」の意味で使うのは全角の「~」です。

  • 「S状結腸~直腸」は間違い。
  • 「S状結腸~直腸」が正しい。

「~」が変換できない人は IME の辞書に登録してくださいね。

え、それでも「マチルダさん!」を使いたい?

おもしろいもの見つけました。>全角チルダ問題

###

[FX]ボリ平ロンドンコーリング検証

前回の記事「[FX]ロブ・ブッカーのNY Box 検証」でもちょっと書きましたが、ボリ平さん(女性です)のロンドン コーリングという手法も検証してみました。

手法自体は ロブ・ブッカーのNY Box とそっくりです。

> ロンドンコーリング手法、ハイロウズOCO手法を使って、相場にワナを仕掛けよう!

結果は、以下の通り。

ドル円 15分足 2014/1/1-2015/1/1

最初の 1/4 くらいの連敗がイタいですね。

後半3/4はなかなかいいです。

やすきー改良ロンドンコーリング

ちょっと改良してみました。

変更点は、ロンドン時間を東京時間がかぶらないように短縮(冬時間で日本の 17-21時)し、利食い 33pips、損切り 50pips にしたところ。

勝率(63.95⇒71.14 %)とプロフィットファクター(1.23⇒1.50)の両方を高めることに成功。

総取引数は半分以下に減っているのに総損益はむしろ大幅にアップしています。

プログラムソース(ボリ平ロンドンコーリング)

//
// yasciiNYBox02.mq4 ボリ平 ロンドンコーリング 15分足推奨

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

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

//---- input parameters

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern double ILC = 15.0 ; 
extern double ITP = 15.0 ; 

double NYB_high = 1000.0 ;
double NYB_low = 0.0 ;

int start()
  {

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

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;
   double tp = ITP;
   if(( Digits ==3 ) ||(Digits ==5)) tp = tp*10.0 ;

   if (Hour() == 14 && Minute() == 0)
   {
    NYB_high = iHigh(NULL, 60, iHighest(NULL, 60, MODE_HIGH, 6, 1));
    NYB_low = iLow(NULL, 60, iLowest(NULL, 60, MODE_LOW, 6, 1));   
   }

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  ( Bid < NYB_high - lc*Point || Bid > NYB_high + 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(   ( Ask > NYB_low + lc*Point || Ask < NYB_low - 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[2] <= NYB_high && Close[1] > NYB_high && Hour() >= 14 && Hour() < 22 
       && ( 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[2] >= NYB_low && Close[1] < NYB_low && Hour() >= 14 && Hour() < 22
       && ( 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]ロブ・ブッカーのNY Box 検証

下の本に推奨されている NY Box (ニューヨークボックス)というトレード方法についての検証です。

超カンタン アメリカ最強のFX理論 超カンタン アメリカ最強のFX理論

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

扶桑社 2009-12-19

売り上げランキング : 105661

Amazonで詳しく見る

by G-Tools

NY Box とはアメリカの鬼どもが寝静まっている日本時間で午後2~9時(夏時間は午後1~8時)の相場の上限、下限をブレイクアウトの判断に使うものです。

ボリ平さんのロンドンコーリングと似ていますが、ロンドン市場の始まる前の時間帯も含んでいるのが大きな相違点。

  • 買いエントリ 日本時間で午後2~9時(冬)の最高値を午後10時以降に上抜ければ買い
  • 売りエントリ 日本時間で午後2~9時(冬)の最安値を午後10時以降に下抜ければ売り
  • 決済  20pips の利益もしくは 30pips の損切り

2014/1/1-2015/1/1 ドル円 15分足

ロブさんは勝率重視のために ロスカット 30pips に対して 利益 20pips にしています。

せっかくのブレイクアウトだし勝率が下がってもいいのでロスカットより利益を大きくしたいなと思う人は最適化してみてください。

次は ロスカット 12pips、利益 70pips にした場合です(最適解ではないです)。

いずれにしろ最大ドローダウンが大きすぎるようですネ。

プログラムソース

//
// yasciiNYBox01.mq4 ロブ・ブッカーのNY Box 15分足推奨

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

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

//---- input parameters

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern double ILC = 12.0 ; 
extern double ITP = 32.0 ; 

double NYB_high = 1000.0 ;
double NYB_low = 0.0 ;

int start()
  {

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

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;
   double tp = ITP;
   if(( Digits ==3 ) ||(Digits ==5)) tp = tp*10.0 ;

   if (Hour() == 14 && Minute() == 0)
   {
      NYB_high = High[iHighest(NULL, 60, MODE_HIGH, 7, 1)];
      NYB_low = Low[iLowest(NULL, 60, MODE_LOW, 7, 1)];       
   }

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  ( Bid < NYB_high - lc*Point || Bid > NYB_high + 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(   ( Ask > NYB_low + lc*Point || Ask < NYB_low - 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[2] <= NYB_high && Close[1] > NYB_high && Hour() >= 14 && Hour() < 22 
       && ( 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[2] >= NYB_low && Close[1] < NYB_low && Hour() >= 14 && Hour() < 22
       && ( 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);
  } 
//終わり

###

株価チャート練習帳 / 秋津 学 チャート研究会

株価チャート練習帳 株価チャート練習帳

秋津 学 チャート研究会

東洋経済新報社 2006-01-27

売り上げランキング : 8511

Amazonで詳しく見る

by G-Tools

★★★★☆(無難な教科書)

株価についてのチャートの読み方を解説しています。もちろん FX にも応用できます。

内容は初心者~中級者レベルですが、これ以外の”高度な”方法は実は要らないのではないかと思います。

一応、一目均衡表 も載っていますし。

メンタルの強い人ならこの本だけで勝ててしまうかも。

個人的に気になった点は、次の2点。

「MACD は3回交差したあとに買え」

これは下降トレンドの最中に MACD が交差してトレンド転換を示唆しても2回目までは単なる戻りであることが多く、3回目が真のトレンド変換であることが多いというもの。

こういうことは確かに多いですね。

でもいつも3回目ではありませんからほかの要素も加えて見抜かないといけませんね。

「GC,DCの強弱を見抜け」

2本の移動平均線のゴールデンクロスやデッドクロスは、強いクロスと弱いクロスに分けられる、ということです。

長期線の傾きが転換しているなら強いクロスということですが、FX で検証してみると、このフィルタをかけることにより プロフィットファクターは改善し、勝率も上がることが多いものの、売買回数の減少が大きく、その割りに最大ドローダウンは下がらないことが多いです。

最大ドローダウンの減少の分、売買ロットを増やしても売買数の減少を補えることはまれで、その分総損益はフィルタをかけないほうがいいことが多いですね。

株価の場合は傾向が異なるかもしれませんが。

###

[FX]時間帯理論 米国時間の逆張りタイム

前回の記事「東大院生が考えたスマートフォンFX / 田畑 昇人 」で紹介した時間帯理論ですが、欧州時間についてはドルからみ以外の通貨ではほぼ成り立つという結果でした。

今度は米国(ニューヨーク)時間の逆張りタイムの検証です。

冬時間と夏時間の違いをみてみたいと思ったので、検証期間を分けてみました。夏時間は 2014/3/9-2014/11/2 、冬時間は 2014/11/2-2015/3/8 です。

冬時間 夏時間
EURUSD -1898 25
USDJPY -4835 -456
EURJPY 2933 -1248
AUDUSD -45 497
AUDJPY 2555 125
CADJPY -2191 -824
CHFJPY 8211 -104
EURAUD 5428 361
EURGPB 1649 -2046
GBPJPY 4841 508
NZDJPY 3291 -1057
NZDUSD -1561 2327
USDCAD -3676 -592
USDCHF 4009 -565
GBPUSD 2861 935

 

ニューヨーク時間(毎日22-29時・・・冬時間の場合)のうち、25-29時は 22-25時と逆のトレンドにしかけた結果が上の表です。

AUDJPY、EURAUD、GPBJPY、GBPUSD などが夏時間、冬時間の両者で利益が出ています。GBPUSD 以外は欧州、豪州、日本のペアですね。

アメリカの鬼どもは EURUSD、USDJPY では しかけてこないのですかね。

ちょっと気になりますのでつづけて検証しました。

ニューヨーク時間(毎日22-29時・・・冬時間の場合)のうち、28-29時は 23-28時と逆のトレンドにしかけた結果が下の表です。22時台は指標の発表があるのではずしました。

冬時間 夏時間
EURUSD -636 520
USDJPY -544 -486
EURJPY 158 -1089
AUDUSD 568 -905
AUDJPY 1636 -1067
CADJPY 1288 -619
CHFJPY -1203 -340
EURAUD 2083 1678
EURGPB 1153 155
GBPJPY 0 -1136
NZDJPY 2434 -1747
NZDUSD -56 -1003
USDCAD 2455 1972
USDCHF 158 245
GBPUSD -1681 799

AUDJPY、GPBJPY、GBPUSD がはずれ、EURAUD は残留。EURGPB、USDCAD が新たに”代表いり”しました。

アメリカの鬼どもはお得意のはずの EURUSD、USDJPY では しかけてこないということですね。

少し意外です。

プログラムソース

//
// yasciiDaily03c.mq4 1時間足で動作 NY市場の逆張り

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

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

//---- input parameters

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern int intime = 3 ;
int outtime ;

int start()
  {

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  Hour() == 22    
       && ( 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(   Hour() == 22  
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  Hour() == 18 && iMA(NULL, 60, 3, 0, 0, PRICE_CLOSE, 1) > 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(  Hour() == 18 && iMA(NULL, 60, 3, 0, 0, PRICE_CLOSE, 1) < 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]時間帯理論 欧州時間の逆張りタイム

前回の記事「東大院生が考えたスマートフォンFX / 田畑 昇人 」で紹介した時間帯理論ですが、東京時間については逆が部分的に成り立つというサンザンな結果でした。

今度は欧州(ロンドン)時間の逆張りタイムの検証です。

冬時間と夏時間の違いをみてみたいと思ったので、検証期間を分けてみました。夏時間は 2014/3/9-2014/11/2 、冬時間は 2014/11/2-2015/3/8 です。

冬時間 夏時間
EURUSD 1821 -848
USDJPY 228 -124
EURJPY 2528 303
AUDUSD -1588 -386
AUDJPY 445 294
CADJPY 2839 -1119
CHFJPY 568 -184
EURAUD 770 678
EURGPB 39 -599
GBPJPY 2476 106
NZDJPY 2623 720
NZDUSD -2355 1638
USDCAD -1588 157
USDCHF -175 -1435
GBPUSD -1303 -1750

ロンドン時間(毎日17-22時・・・冬時間の場合)のうち、21-22時は 17-21時と逆のトレンドにしかけた結果が上の表です。

EURJPY、AUDJPY、EURAUD、GPBJPY、NZDJPY などが夏時間、冬時間の両者で利益が出ています欧州、豪州、日本のペアですね。

この時間帯はアメリカの鬼どもはベッドの中なので当然な結果でしょうか。

ドルストレートの通貨には全く適用できないことに注意すれば、ロンドン時間においては時間帯理論は一応成立しそうです。

つづけて他も検証しましょう。

プログラムソース

//
// yasciiDaily03a.mq4 1時間足で動作 ロンドン市場の逆張り

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

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

//---- input parameters

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern int intime = 3 ;
int outtime ;

int start()
  {

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  Hour() == 15    
       && ( 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(   Hour() == 15  
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  Hour() == 14 && iMA(NULL, 60, 4, 0, 0, PRICE_CLOSE, 1) > 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(  Hour() == 14 && iMA(NULL, 60, 4, 0, 0, PRICE_CLOSE, 1) < 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]時間帯理論 日本時間の逆張りタイム

前回の記事「東大院生が考えたスマートフォンFX / 田畑 昇人 」で紹介した時間帯理論ですが、日本時間の逆張りタイムの検証をしました。

冬時間と夏時間の違いをみてみたいと思ったので、検証期間を分けてみました。

まず、次の条件で

  1. 冬時間 2014/11/2-2015/3/8
  2. 日本時間(毎日9-15時)のうち、14-15時は 9-14時と逆のトレンドにしかける

結果はボロボロで、すべての通貨ペアで赤字。

ということは、

  1. 冬時間 2014/11/2-2015/3/8
  2. 日本時間(毎日9-15時)のうち、14-15時は 9-14時と同じトレンドにしかける

とすると利益が出るのでは、と思いやってみると

USDJPY 294
EURJPY 308
AUDJPY 745
CADJPY 1184
GBPJPY 1299
NZDJPY -117

クロス円では NZDJPY 以外で利益がでました。プログラムソースを最後に載せます。

クロス円でない通貨ペアは赤字のまま。スプレッド分も稼げないということですね。

なお、夏時間 2014/3/9-2014/11/2 も続けて検証しましたが、逆張り、順張りともに全滅に近かったです。

つづけて他も検証しましょう。

プログラムソース

//
// yasciiDaily03.mq4 1時間足で動作 東京市場の最後の時間は順張り 冬時間

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

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

//---- input parameters

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern int intime = 3 ;
int outtime ;

int start()
  {

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  Hour() == 8    
       && ( 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(   Hour() == 8  
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  Hour() == 7 && iMA(NULL, 60, 5, 0, 0, PRICE_CLOSE, 1) > iMA(NULL, 60, 5, 0, 0, PRICE_CLOSE, 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,Blue); 
    }

   //売りエントリー
    if(  Hour() == 7 && iMA(NULL, 60, 5, 0, 0, PRICE_CLOSE, 1) < iMA(NULL, 60, 5, 0, 0, PRICE_CLOSE, 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,Red); 
    } 

   return(0);
  }

 

 

###

東大院生が考えたスマートフォンFX / 田畑 昇人

東大院生が考えたスマートフォンFX 東大院生が考えたスマートフォンFX

田畑 昇人

扶桑社 2015-02-17

売り上げランキング : 446

Amazonで詳しく見る

by G-Tools

★★★★☆

東大生でなく、東大院生と書いてあるので学歴ロンダリングしているのね、と思いながら手にとって立ち読みを始めたら、なかなかよさげなので買ってしまいました。

3つの武器とオビに書いてありますが、

  1. 順バリ、逆バリを決める「時間帯」
  2. ハイエナから身を守る「ダウ理論」
  3. 投資家心理を読む最強ツール「オアンダ」

という3つ。

3のオアンダというのは OANDA が提供している「OANDAの未執行注文(Open Orders)と未決済ポジション(Open Positions)」のことで、世界の 1/5 の人のポジションとオーダー(株の板情報みたいなもの)が見られるというもの。

これは絶対に有利ですね。

私は OANDA で口座を開いているので知っていましたが、口座開かなくても無料で見られますので、知らなきゃソンです。

ただ過信しすぎて痛い目に遭うこともあります。

2のダウ理論は基本中の基本で、こんなこと知らない人は FX をやってはいけませんというくらいのもの。

パンツはかずに人前に出てはいけませんというくらいのあたりまえの話です。

私の最も気になったのは1の時間帯の話。

これと池田さんのシステムトレードの本から時の旅人システムを思いつきました。完成はまだまだ遠しですが。

この本での時間帯というのは、

冬時間の日本時間で

  1. 9-14時 順張り
  2. 14-15時 逆張り
  3. 17-21時 順張り
  4. 21-22時 逆張り
  5. 22-25時 様子見
  6. 25-29時 逆張り

と決めていらっしゃること。

ここでの順張りはどちらにいくかわかっていません。

  • 順張り・・・どちらにいくかわからないがとりあえずトレンドが生じる
  • 逆張り・・・それまでと逆の動きになる

ということらしいです。

これが本当なら勝てる EA が作れますね。

逆張り時間帯に直前の順張り時間帯と逆にしかけることにするわけです。

さっそく作って検証にとりかかります。

###

FXを超えるCFDの教科書 / 高島 秀行

FXを超えるCFDの教科書 FXを超えるCFDの教科書

高島 秀行

幻冬舎 2010-03-20

売り上げランキング : 760983

Amazonで詳しく見る

by G-Tools

★★★☆☆(古いがまあまあ)

GMOクリック証券株式会社代表取締役会長の高島秀行さんの著書。

CFDContract for Difference 差金決済取引)はご存じでしょうか。

少額からいろんなもの(商品、通貨、株式、債権、株式指数、金利)に投資できるデリヴァティブの一種です。

金利というのが面白いですね。

FX もこれに含まれますが、すでに一人歩きしているので普通は CFD から除いて考えます。

FX は通貨の交換(通貨ペアの取引)ですが、CFD では1通貨のみを売買できます。

投資信託や株式よりも手数料は安く、レバレッジ取引のため元金も少なくてすみます。

今持っている株式や投資信託をこちらに変えてしまおうかと思ってこの本を読みましたが、CFD の幅の広さ、奥の深さに圧倒されて困惑ぎみです。

###

椎体分離症ではない

たまに「椎体分離症」とか「L4 椎体が分離し・・・」という表現を目にしますが、椎体分離症という病名はないはずですし、解剖学的にもおかしいですね。

脊椎=椎体+椎弓

ですし、この疾患の場合、分離するのは椎弓(の椎間関節間部)で、すべるのは椎体です。

脊椎分離症というのは本当は「椎弓分離症」というほうが正確だと思います。

脊椎分離辷り症というのは正確には、椎弓分離症+椎体辷り症 なんです。

でもいちいち「椎弓分離症+椎体辷り症」というのはメンドウなので、「椎弓も椎体も脊椎の一部じゃないか~」と思ったヒトが「脊椎分離辷り症」と命名したのかもしれません・・・うーん・・・そこまで考えてなかったかもしれません。

変性辷り症

変性辷り症も変性するのは椎弓(椎間関節)で、すべるのは椎体です。

椎間関節がほとんど変性せずに椎間関節面で辷っている(亜脱臼と呼ぶべきかナ)だけで椎体が辷っている辷り症もよく見ますが・・・こういうのこそ、椎体と椎弓の両者が辷っているので真の脊椎辷り症と呼ぶべきだと思うのですが。

え、どうでもいい?

###

[FX]前週の平均値と順張り&逆張り EA化(7) サマータイム

以前の記事「前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動 」で、ぼちぼちリアル口座で動かしますと書いたのですが、来週から米国がサマータイムに変更になるので早速作り直さなければいけないと気づき、結局動かしていません。

アメリカの鬼畜ども(^^)が1時間早く仕掛けてくるので当然ずれてくるわけですね。

鬼畜どもが好きな通貨ペアとそうでないペア、鬼畜どもが目を覚ましている時間帯と 寝ているか酒をかっくらっている時間帯と、いろいろな要素で順張りタイムと逆張りタイムが変わってくるわけでしょう。

バックテストがたいへんです。

下は前回以降のデモ口座での結果です。

3/5 03:00:00 buy 1 gbpjpy 182.791 3/5 06:25:00 182.796 500
3/5 12:00:00 sell 1 gbpjpy 182.827 3/5 14:57:06 183.218 -39100
3/5 12:00:00 buy 1 gbpjpy 182.838 3/5 14:57:09 183.21 37200
3/5 14:00:00 sell 1 gbpjpy 183.147 3/5 15:16:55 183.688 -54100
3/5 16:00:00 sell 1 gbpusd 1.5228 3/6 11:37:00 1.51948 39879
3/5 19:00:00 sell 1 eurjpy 132.308 3/5 22:00:00 132.503 -19500
3/5 20:00:00 buy 1 gbpusd 1.52286 3/5 21:00:00 1.52297 1322
3/5 22:00:00 buy 1 gbpjpy 183.129 3/6 02:54:15 182.928 -20100
3/5 23:00:00 sell 1 gbpjpy 182.998 3/6 00:01:02 183.126 -12800
3/6 03:00:00 sell 1 gbpjpy 182.938 3/6 11:23:42 182.656 28200
3/6 03:00:01 sell 1 eurjpy 132.31 3/6 10:00:00 132.423 -11300
3/6 03:00:01 sell 1 usdjpy 120.062 3/6 09:15:03 120.126 -6400
3/6 04:00:00 sell 1 gbpjpy 182.926 3/6 05:00:02 182.93 -400
3/6 10:00:00 buy 1 gbpusd 1.5236 3/6 11:00:00 1.52136 -26899
3/6 12:00:00 sell 1 gbpjpy 182.465 3/6 14:13:57 182.175 29000
3/6 12:00:00 buy 1 gbpusd 1.51999 3/6 14:13:55 1.51806 -23159
3/6 12:00:00 sell 1 eurjpy 131.658 3/6 14:14:02 131.358 30000
3/6 14:00:00 sell 1 gbpjpy 182.186 3/6 14:14:00 182.184 200

デモ口座は相変わらず、web-keepers の VPS で動かしているのでサーバー落ちが頻繁。

決済が普通は 1時間後(手動ですればそれ未満)、長くて 2時間後の EA が多いのですが、それ以上かかっているところはサーバー落ちのためです。

落ちたときはサーバーを再起動して適当に決済しているので正確な結果ではありません。

そのためか今回は珍しく赤字になっています。

自宅サーバーは夏時間導入以降にたてることにします。

###

ふるさと納税5回め / 牛肉 和木町

以前の記事「ふるさと納税4回め / 無洗米 大館市」でエツにいった私はさらに続けて納税(寄付)することにしました。

いよいよ牛肉!

私はアブラの多い霜降りを食べるとすぐ下痢をするので、赤身でないと。

10000円の寄付でいいでしょう。

かの本に書かれていた、美祢市秋吉台高原牛カタまたはモモ(1kg)はすでに品切れ。

がっかりしましたが、同じ山口県の和木町というところが、高森牛モモスライス800g というのを送ってくれます。

これにしました。

残念ながらクレジットカードが使えないので、振り込み用紙を送ってくれるとのこと。

ああ、楽しみ。

ふるさと納税ポータルサイト

###

[FX]前週の平均値と順張り&逆張り EA化(6)

各通貨の順張りバージョンを全部作りました。

過去 3ヶ月の結果が最もよくなるように最適化しています。

スイスショックの影響のある スイスフランがらみのものは除いて、なかなか有望なものは次の 6ペア。逆張りとは微妙に異なります。

2014/12/1 – 2015/2/28 の 3ヶ月の総損益(ドル)を示します。 元金は 1万ドル。

EURJPY 7719
EURUSD 8359
CADJPY 10146
EURAUD 7722
GBPJPY 11868
NZDJPY 5840

 

3ヶ月間なのにこちらもすごい結果です。合計 51654 ドルなんて。

スイスショックの影響は資産曲線を見る限りあまり感じないのですが。

これらもデモ口座で数日試運転してみます。

よければ「時の旅人」(逆張り6つ+順張り6つ)の出航ですね。

関連記事

[FX]前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動

###

[FX]前週の平均値と順張り&逆張り EA化(5)

以前の記事「前週の平均値と順張り&逆張り EA化(4)」でも書きましたが、各通貨の逆張りバージョンを全部作りました。

過去 3ヶ月の結果が最もよくなるように最適化しています。

スイスショックの影響のある スイスフランがらみのものは除いて、なかなか有望なものは次の 6ペア。

2014/12/1 – 2015/2/28 の 3ヶ月の総損益(ドル)を示します。 元金は 1万ドル。

USDJPY 9387
EURJPY 9703
AUDUSD 4644
AUDJPY 9684
GBPUSD 10201
NZDUSD 9560

 

3ヶ月間なのによすぎますね。合計 53179 ドルなんて。

スイスショックの影響は資産曲線を見る限りあまり感じないのですが。

これらをデモ口座で数日試運転してみます。

関連記事

[FX]前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動

###

ふるさと納税4回め / 無洗米 大館市

以前の記事「ふるさと納税3回め / イチゴ 玄海町」でセキの切れた私はさらに続けて納税(寄付)することにしました。

カミサンからリクエストの無洗米

無洗米でない普通のコメなら長野県阿南町が一番と かの本に書かれていたが、今は受け付けていないようです。

高知県奈半利町も割がいいのですが、「ふるさと米」というブランド名です。

別にコシヒカリでなくてもいいのですが、カミサンは無洗米とのリクエスト。

ということで、私のチョイスは大館市(秋田県)の「あきたこまち(無洗米)」10kg。

10000円で 10kg、しかも無洗米というのはなかなかないのでは。

「あきたこまち」のパッケージはかわいいが、佐々木希実写バージョンも作れば独身男性がどっと買うのに。

ふるさと納税ポータルサイト

###

ふるさと納税3回め / イチゴ 玄海町

以前の記事「ふるさと納税2回め / 液晶ディスプレィ XU2390HS-B1」でズにのった私は続けて納税(寄付)することにしました。

カミサンからリクエストのいちご

しかし、申し込み期限が過ぎているところが多い。

あまおう」はどこもヤバそう。

さがほのか」にするか、と思い、人気の玄海町に。

ここの 10万円コースは【Premium GENKAI】と呼ばれ、現在受け付け停止中。毎月15日頃に次のものが送られてくるのです。

January…干し物セット
February … とらふぐ
March… 苺~さがほのか~
April … 特産品詰め合わせ
May …海の幸セット
June …お肉詰め合わせ
July … ハウスみかん
August …夏野菜セット
September … 新米(コシヒカリ)
October … お茶菓子セット
November …玄海町産黒毛和牛ハンバーグ
December …仮屋湾の真鯛

 

3月にさがほのかがあるので間に合うかと思い、ここにしました。

とりあえず 5000円。

さて、間に合うのか、来年になっちゃうのか。

ふるさと納税ポータルサイト

###

[FX]前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動

以前の記事「前週の平均値と順張り&逆張り EA化(3) 半自動のススメ」でデモ口座で稼働させていた EA (yasciiDaily02GJ.ex4)はだいたい正しく稼働しているようです。

前回からの結果

3/4 08:00:00 sell 1 gbpjpy 183.709 3/4 12:23:36 183.481 22800
3/4 09:00:00 sell 1 gbpjpy 183.8 3/4 10:00:00 183.879 -7900
3/4 14:00:00 sell 1 gbpjpy 183.516 3/4 15:02:15 183.387 12900
3/4 16:00:00 sell 1 gbpjpy 183.164 3/4 17:29:07 182.829 33500

 

しめて 61300円のプラス。

手動で決済したほうがいい感じですが・・・

まだ GBPJPY という一つの通貨ペアのしかも順張りバージョンだけです。

これだけリアル口座で動かすことにします。

うまくいきそうならすべての通貨ペア版を投入しますが、スイスフランの絡んだ通貨ペア版はスイスショックの影響の消えるあと2ヶ月ほど待ってから投入する予定です。

全部のペアが揃った「時の旅人」全通貨バージョンはいずれ皆様に配布しますネ。

関連記事

前週の平均値と順張り&逆張り EA化(3) 半自動のススメ

###

ふるさと納税2回め / 液晶ディスプレィ XU2390HS-B1

前回の記事「ふるさと納税のお礼のパソコンがやってきた」でご紹介しましたが、長野県飯山市にふるさと納税するとちゃんとパソコンが送られてきて非常に満足の私は続けて納税(寄付)することにしました。

自治体によっては年に一回しかお礼がもらえませんが、飯山市は何回でもOK

飯山市のお礼一覧

ということで、タブレットPC にも心惹かれましたが、この前買った液晶ディスプレィがイマイチだったので、

iiyama XU2390HS-B1

にすることに。

30000円の寄付でもれなくもらえます。

ネットでクレジットカード払いにして 5分もかからず手続き終了。

iiyama XU2390HS-B1 は価格.com で調べると、最安値ショップでも 19402円ということで、寄付金 30000円に対して還元率は 65%近いですね。

ふるさと納税制度でのすべての寄付金から 2000円を除いた額が来年控除(キャッシュバック)されるわけなので、当然 3万円返ってきて(2000円は一回目に含まれると考える)、そのうえ 19402円の品物がまるまる無料でもらえるということですね。

ヤフオクに出している人もいます(タダのもの売っちゃいかんでしょ^^)。15000円前後で取引されていますね。還元率 50%か。

ふるさと納税ポータルサイト

関連記事

ふるさと納税2回め / 液晶ディスプレィ XU2390HS-B1(2)

###

完全ガイド 100%得するふるさと納税生活 / 金森 重樹

完全ガイド 100%得するふるさと納税生活 (SPA!BOOKS) 完全ガイド 100%得するふるさと納税生活 (SPA!BOOKS)

金森 重樹

扶桑社 2014-04-18

売り上げランキング : 7404

Amazonで詳しく見る

by G-Tools

★★★★☆(この本読まなきゃ何万円もソンをする)

不動産投資の大御所 金森重樹さんのふるさと納税についてのガイドブック。

ふるさと納税の仕組み、やり方、ウマイ活用法を教えてくれます。

高額所得者は住民税の2割まで行える(そうでない人は1割)とか、2000円のロスを回収する(実質無料になる)方法などいろいろ載っていて、とてもオトク。

限度枠が余ったら、平戸市に寄付して全部ポイントに変えておけば有効に使いきれるわけですね。

もっといい方法も考えた!

読んでいるといろいろ発見があります。

###

私の財産告白 / 本多 静六

私の財産告白 私の財産告白

本多 静六

実業之日本社 2005-07-10

売り上げランキング : 46364

Amazonで詳しく見る

by G-Tools

★★★★☆(そのとおり!)

東大の林学教授であった本多静六博士の名著。

公職の給料の 1/4 を天引きし 、毎日書いていた著作の原稿料や講演料の 100%を貯蓄し、山林の売買などを加えて巨万の富を得た博士のありのままを書いた本。

ごく当たり前のやり方を披露してくれているのですが、実行している人は実に少ないですね。

バビロンの大富豪』などの他の本では 1/10 でいいので、1/4 はハードルが高いのかもしれませんが、やれば確実に貯まります。

あとはほんの少しを FX で投資するといいのでは・・・

関連記事

###

ふるさと納税のお礼のパソコンがやってきた

長野県飯山市に 10万円の寄付(いわゆるふるさと納税)をすればもらえるという噂のパソコン様、昨夜ご到着。

筐体(ケース)は、裏面にある マザーボード背面が突出する部分が大きく開いたタイプのもので、マザーボードが簡単に交換できます。

末永く使えそうです。

最近のデル製PC は裏のパネルがはずれず(複数の端子の位置が固定)、マザーボード交換がしにくいので、買わないことにしています。

このモデルは 10万円の寄付が必要ですが、来年 98000円が返ってくるので、結局 2000円なわけで。

バンザイ。

価格.com で最安値 64584円 で売られていると書かれている マウスコンピューター製 LuvMachines Lm-iH301S(ただし Windows7搭載)よりは少しグレードアップされていますね。

LM-iH301S-IIYAMA

  • OS Windows 8.1 Update 64ビット

  • CPU インテルCore i5-4590プロセッサー(4コア/3.30GHz/TB時最大3.70GHz/6MBキャッシュ

  • CPUファン LGA 1150用CPU FAN

  • メモリ 8GBメモリ(4GB×2 DDR3 SDRAM PC3-12800)/デュアルチャネル

  • HDD 500GB 7200rpm(6Gbps対応)

  • 光学ドライブ DVDスーパーマルチドライブ

  • グラフィック機能 インテルHD グラフィックス4600(内蔵)

  • マザーボード インテルH81 Expressチップセット(MicroATX)

  • ケース ミニタワーデスクトップ(ブラック/フロントUSB2.0対応)

  • 電源 350W電源(Blonze)

  • LAN オンボード10/100/1000BASE-T GigaBit-Ethernet LAN

  • サウンド ハイデフィニション・オーディオ

  • キーボード 標準オリジナルキーボード(USB/102日本語キー/ブラック)

  • マウス 標準オリジナルマウス(USB/オプティカル/スクロール機能付き3ボタン/ブラック)

  • サポート 1年間センドバック修理保証※1か月間初期不良対応を含む

 

起動すると、BIOS でない変な画面・・・UEFI ってやつね(Linux が入れづらそう・・・)。

メール認証がめんどくさかったけど、あとは Windows7 よりスンナリ。

Windows8.1 のデスクトップが無事立ち上がりました。

壁紙がマウスコンピューター特製なのと IE にマウスコンピューターの HP がお気に入り登録されている以外は普通の外観。

今日はまだ寒いので、ファンが回っておらず、非常に静か。

ぼちぼちと使っていきます。

関連記事

ふるさと納税初めてやってみた

###

[FX]前週の平均値と順張り&逆張り EA化(3) 半自動のススメ

前回の記事「前週の平均値と順張り&逆張り EA化(2)」でお披露目したプログラムをお昼にサーバーに仕込んでおきました。

自動売買の結果

エントリ時刻 B/S ロット 通貨 エントリ値 決済時刻 決済値 損益(円)
2015-03-03 14:00:00 sell 1 gbpjpy 184.21 15:21:28 183.92 29000

 

じつは 16:00:00 で決済されるか待たずに、老婆心で入れた トレーリングストップがヒットして 15:21:28 で決済されました。

最近は EA にエントリだけさせて裁量で決済するクセがついてしまっています。

決済は OCO注文かトレーリングストップを使います。

OCO のプライスはきちんと押し目や戻り目、一目均衡表の雲などで設定しているので EA に決済させるよりはうまくいくケースが多いと思います。

利益がどこまでいくかわからないときはフィボナッチリトレースメントより MetaTrader4 搭載のトレーリングストップ機能で追いかけるようにしています。

EA でエントリさせて、自分で利益確定(あるいは損切り) というのは案外有効な方法だと思います。

達成感も残るしね。

関連記事

前週の平均値と順張り&逆張り EA化(2)

おまけ

最近の EA の状況です。

3/2 00:00:20 buy 1 eurusd 1.11826 3/2 15:14:57 1.12267 52819
3/2 00:02:12 sell 1 gbpjpy 184.57 3/2 11:00:00 184.681 -11100
3/2 02:15:02 buy 1 usdjpy 119.927 3/2 08:15:02 119.789 -13800
3/2 11:00:00 buy 1 gbpjpy 184.684 3/2 13:37:46 184.477 -20700
3/2 13:00:00 buy 1 usdjpy 119.832 3/2 13:15:01 119.796 -3600
3/2 14:00:00 sell 1 gbpjpy 184.514 3/2 15:14:01 184.279 23500
3/2 14:45:02 sell 1 usdjpy 119.716 3/2 15:00:01 119.781 -6500
3/2 18:15:01 buy 1 usdjpy 120.125 3/3 03:10:14 120.03 -9500
3/3 09:00:00 buy 1 gbpjpy 184.092 3/3 12:42:10 184.19 9800
3/3 14:00:00 sell 1 gbpjpy 184.21 3/3 15:21:28 183.92 29000

総損益は +49919円。

まずまずですか。

###

[FX]前週の平均値と順張り&逆張り EA化(2)

前回の記事は 2014/1/1 – 2014/12/31 での結果から作成しました。

私は実際に稼働する EA の最適化は直前3ヶ月のバックテストで行っていますので、このプログラムも直前3ヶ月の結果を反映します。

GBPJPY 順張り のみの場合ですが、以下のプログラムのように変更しました。

結果は、

GBPJPY 1時間足 2013/12/1 – 2015/2/28

3ヶ月で2倍強なのでうまくいきそうです。

残りも全部つくらないとなあ・・・

問題点

上のようにポンド/円 では影響がないのですが、スイスフランがらみの通貨ペアは 2015/1/15 12時(サーバー時間)にいわゆるスイスショックがありまして、それにバックテストがかなり影響されてしまいます。

影響があれば資産曲線の中央あたりに”ガケ”が出現します。CHFJPY や USDCHF などはモロです。

関連記事

プログラムソース

//
// yasciiDaily02GJ.mq4 1時間足で動作 順張り 最新バージョン

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

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

//---- input parameters

extern int Fast_period = 5;

//変数の設定//
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) ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  (Hour() == 5 || Hour() == 10 ||  Hour() == 16 || Hour() == 21 || Hour() == 0)    
       && ( 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(   (Hour() == 5 || Hour() == 10 ||  Hour() == 16 || Hour() == 21 || Hour() == 0)   
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  (Hour() == 4 || Hour() == 9 || Hour() == 14 ||  Hour() == 20 || Hour() == 23) 
       && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < 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(  (Hour() == 4 || Hour() == 9 || Hour() == 14 || Hour() == 20 || Hour() == 23) 
       && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > 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]前週の平均値と順張り&逆張り EA化

以前の記事「超シンプルな自動売買プログラム(13) 前週の平均値と順張り 時間特性」での結果を踏まえて、自動売買用の EA を作るわけですが、1つのチャートで全通貨分を動かすのは結構面倒なので、それぞれの通貨ペアごとに順張り、逆張りを分けて作れば超カンタンにできてしまします。

たとえば、GBPJPY 順張り のみの場合は、以下のプログラムのようにします。

結果は、

GBPJPY 1時間足 2014/1/1 – 2014/12/31

このようなものを順張り、逆張り用にそれぞれ作ればいいのですね。

結構面倒のようですが、コピペでできます。

これで毎朝早起きしないでよくなった・・・かな。

関連記事

プログラムソース

//
// yasciiDaily02GJ.mq4 1時間足で動作 順張り

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

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

//---- input parameters

extern int Fast_period = 5;

//変数の設定//
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) ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  (Hour() == 5 ||  Hour() == 11 || Hour() == 16 || Hour() == 18 || Hour() == 0)    
       && ( 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(   (Hour() == 5 ||  Hour() == 11 || Hour() == 16 || Hour() == 18 || Hour() == 0)   
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  (Hour() == 4 || Hour() == 9 || Hour() == 15 || Hour() == 17 || Hour() == 23) 
       && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < 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(  (Hour() == 4 || Hour() == 9 || Hour() == 15 || Hour() == 17 || Hour() == 23) 
       && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > 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);
  }

###

ブログの意味 自己の文明の確立

ヴェネツィア(ベネチア)の発祥は北イタリアからゲルマン人が避難して始まったとされます。

湿地帯(潟)だったので騎馬民族の追撃を免れたわけですが、彼らは湿地の真ん中に何本も杭をうち、その上に都市を作りました

都市を作る前は潮の流れに身を任せるしかありませんでしたが、杭の上に都市を作ることで高度の文明を発展させることができたのです。

我々も同じ。

なにもしないと潮の流れ(他人の考えや世の中の情勢)に流されるだけですが、ブログを書き、自ら考えたことを綴ることで足場となる確固たる視点や判断基準を得ることができます

ヴェネツィアと同じように自分の中に文明をつくる・・・自分を野蛮人から脱却させ、自分独自の文明を発展させるわけです。

ブログと言っても、「あれが好き、この XX はおいしい」などという自分の感情を書きなぐったものは”文明”以前です。

好きや嫌いの感情は獣にもありますから。

論理的な思考を書き溜めていけば、杭のような足場ができ、独自の価値観を築くことができます。

毎朝目を覚ましたときに、フレッシュな野蛮人として目覚めるのか、発達していっている文明人として目覚めるのか、どちらがいいでしょうか

なんてことを昼飯を食べながら考えつきました。

関連記事

ブログは単なる日記じゃない

###

[FX]通貨ペア毎の順バリ・逆バリの時間割(2014年度)

以前の記事 「超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性」、「超シンプルな自動売買プログラム(13) 前週の平均値と順張り 時間特性」から、各通貨ペアの順バリ時間、逆バリ時間というのをまとめてみました。

2014/1/1-2014/12/31 の結果であり、今年に入ってからは若干異なっているものがあります。

通貨ペア毎の順バリ&逆バリの時間割

サーバー時間 日本時間(冬) 順バリの通貨 逆バリの通貨
0 7 AUDUSD,CHFJPY
1 8 GBPUSD
2 9 NZDUSD EURJPY,AUDJPY,CADJPY,GBPJPY
3 10
4 11 GBPJPY NZDJPY
5 12 USDJPY,AUDJPY,CADJPY,NZDJPY,
NZDUSD
6 13 GBPUSD
7 14
8 15 EURJPY AUDJPY
9 16 EURJPY,CADJPY,CHFJPY,GBPJPY GBPUSD
10 17 USDJPY,AUDJPY,CADJPY,GBPJPY,
NZDJPY
GBPUSD
11 18 EURUSD,EURGBP,GBPJPY
12 19 CADJPY,NZDJPY AUDUSD,NZDUSD
13 20 EURJPY,CHFJPY
14 21 GBPUSD NZDJPY
15 22 EURUSD,CADJPY,GBPJPY NZDUSD
16 23 EURJPY,CADJPY,CHFJPY,NZDJPY
17 0 EURJPY,CADJPY,CHFJPY,GBPJPY AUDUSD
18 1 USDJPY USDCAD
19 2
20 3 USDJPY
21 4 USDJPY,GBPUSD
22 5 USDJPY
23 6 EURUSD,EURJPY,AUDUSD,AUDJPY,
CADJPY,EURAUD,CHFJPY,GBPJPY,

NZDUSD,GBPUSD

ここでの順張りというのは、「直前5日間(日足)の終値の平均値より高く始まれば買い、低く始まれば売り」ということ。

逆張りというのは、「直前5日間(日足)の終値の平均値より高く始まれば売り、低く始まれば買い」ということ。

サラリーマンの方は朝6時に 10通貨の取引をして 7時に全部決済してから会社に行ってみてはどうでしょうか。^^

 関連記事

###

超シンプルな自動売買プログラム(13) 前週の平均値と順張り 時間特性

前回の記事「超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性」ですが、どの通貨ペアもサーバー時間が 23 のときには半端ない損失が出るなァと思いましたので、順張りも試してみました。

一日のうち一番いい時間帯を選んで 1時間だけトレードするのは同じで、売るか買うかの条件を 「直前5日間の平均値より安く始まれば売り、直前5日間の平均値より高く始まれば買い」と順バリにしただけです。

サーバー時間はOANDAのもので、日本時間より 7時間遅い(冬時間)です。

このサーバー時間に売買して 1時間後に強制決済した結果です。

1時間足 2014/1/1 – 2015/1/1

通貨ペア サーバー時間 損益(ドル)
EURUSD 15 1139
23 2257
USDJPY 5 1278
10 1308
18 1372
20 2674
22 2027
EURJPY 8 1177
9 1048
13 1438
17 2299
23 1343
AUDUSD 23 1138
AUDJPY 5 1605
10 2115
23 1542
CADJPY 5 1679
9 1299
10 1884
12 1335
15 1426
17 1584
23 1325
EURAUD 23 2583
CHFJPY 9 1159
13 1339
17 2255
23 1190
GBPJPY 4 1121
9 1302
10 3509
15 4860
17 1664
23 2688
NZDJPY 5 2260
10 1500
12 1852
NZDUSD 2 1002
5 1320
23 1776
GBPUSD 6 1397
14 2536
23 2109

結果は年間で 1000ドル以上の利益のものだけに限定しました。

全部稼働させると、元金 10000ドルで、利益が 74714 ドルと 約 8.5倍になります。

逆張りバージョンと同時に動作させると、119688 ドルとなり、約 13倍ですね。

サーバー時間が 23-0 の間だけ合計 10.0 ロットになるので元金が少ない間はドローダウンが怖いです。ロット数を調整してください。

 関連記事

プログラムソース(テスト用)

//
// yasciiDaily02.mq4 1時間足で動作 順張り

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

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

//---- input parameters

extern int Fast_period = 5;

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern int intime = 3 ;
int outtime ;

//extern double ILC = 12.0 ; 

int start()
  {

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

   if (intime ==23) outtime = 0;
   else outtime = intime +1 ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  Hour() == outtime    
       && ( 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(   Hour() == outtime  
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  Hour() == intime && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < Open[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,Blue); 
    }

   //売りエントリー
    if(  Hour() == intime && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > Open[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);
  }

###

超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性

1時間だけのトレード

以前の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(4) さらに改良型」で使った毎日売買をするプログラムを改造して、一日のうち一番いい時間帯を選んで 1時間だけトレードするようにしました。

通貨ペアにより、利益の出る時間帯が違うからです。

調べてみますと以下の通り。

サーバー時間はOANDAのもので、日本時間より 7時間遅い(冬時間)です。

このサーバー時間に売買して 1時間後に強制決済した結果です。

売るか買うかは 「直前5日間の平均値より安く始まれば買い、直前5日間の平均値より高く始まれば売り」という逆張りです。

順張りもあとで検討します。^^

1時間足 2014/1/1 – 2015/1/1

通貨ペア サーバー時間 損益(ドル)
EURUSD 11 1083
USDJPY 21 1124
EURJPY 2 1113
16 1771
AUDUSD 0 1639
12 1279
17 2116
AUDJPY 2 2475
8 1243
CADJPY 2 1530
16 1318
CHFJPY 0 1026
16 1851
EURGBP 11 1394
GBPJPY 2 1892
11 2910
NZDJPY 4 1389
14 2005
16 1622
NZDUSD 12 2918
15 2434
USDCAD 18 1977
GBPUSD 1 1039
9 1663
10 1101
21 2062

結果は年間で 1000ドル以上の利益のものだけに限定しました。

全部稼働させると、元金 10000ドルで、利益が 43974 ドルと 約 5.4倍になります

サーバー時間が 2-3 の間だけ合計 4.0 ロットになるので元金が少ない間はドローダウンが怖いです。ロット数を調整してください。

1時間ごとに有利な通貨ペアに乗り換えていく・・・愛称は「時の旅人」で決まりでしょうか。

 関連記事

プログラムソース(テスト用)

//
// yasciiDaily01.mq4 1時間足で動作

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

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

//---- input parameters

extern int Fast_period = 5;

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

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

extern int intime = 3 ;
int outtime ;

int start()
  {

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

   if (intime ==23) outtime = 0;
   else outtime = intime +1 ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  Hour() == outtime    
       && ( 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(   Hour() == outtime  
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  Hour() == intime && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > Open[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,Blue); 
    }

   //売りエントリー
    if(  Hour() == intime && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < Open[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);
  }

###

Hajime Chitose / 元ちとせ

Hajime Chitose Hajime Chitose

the sugarcubes 元ちとせ

AUGUSTA RECORDS 2001-03-10

売り上げランキング : 278479

Amazonで詳しく見る

by G-Tools

★★★☆☆

元ちとせのメジャーデビュー前のアルバム。全曲カバー。

”病気”のビョークの「Birthday」で始まるというのがスゴイ。

山崎まさよしの「名前のない鳥」のカバーは実に彼女らしい歌い回し。

ジミヘンの「Little Wing」も変わった味付け。

いろんな要素が発見できて面白いCDでした。

しかし、英語の唄は彼女の”味”が出ませんね。

曲目リスト

1. Birthday

2. 名前のない鳥

3. Sweet Jane

4. Little Wing

5. 冬のサナトリウム

6. Home Again

 

MP3の購入サイトはこちら

Hajime Chitose Hajime Chitose

元ちとせ

SPACE SHOWER MUSIC 2010-05-25

売り上げランキング : 139289

Amazonで詳しく見る

by G-Tools

###

 

 

日本が嫌いな日本人へ / 呉 善花

日本が嫌いな日本人へ 日本が嫌いな日本人へ

呉 善花

PHP研究所 1998-09

売り上げランキング : 562274

Amazonで詳しく見る

by G-Tools

日本が嫌いな日本人へ (PHP文庫) 日本が嫌いな日本人へ (PHP文庫)

呉 善花

PHP研究所 2000-12

売り上げランキング : 168837

Amazonで詳しく見る

by G-Tools

★★★★☆(日本人のことがよーくわかって面白い)

韓国済州島生まれの呉善花さんの本。

彼女の視点は相変わらず鋭い。

日本人や在日韓国人では気づかないポイントが今回も満載。

日本が海外で誤解されている理由を列挙してありますが、納得のいくもの。だからといって韓国や中国が海外で誤解されていないのかということは書いてありませんが。

他社とつきあう場合に日本人が隠しているものは美徳であるが、他の国の人が隠しているのは悪徳であるということなのでしょうが。

白人の征服を唯一退けた有色人種である日本がなければ、今頃全世界は少数の欧米国とその植民地(アジア、アフリカなど)という構図になっていたのですから、もっと誇ってほしいものです。

昔は高麗の皇太子にそそのかされてやって来た中国(元)の征服も退けたのですから。

ちょっと脱線しましたが、日本はこのまま脱亜超欧を目指してがんばってほしいという著者の提言には”激しく同意”します。

戦前レッドパージで追われた超・赤い教育者たちが戦後アカデミズムに復権し、彼らの教育を受けて曲がった”朝日の中で微笑んで”いる人たちがそろそろ姿を消し牽引力を失いつつあるので、ここはじっくりとがんばっていきたいところですよね。

関連記事

 

###

日本人の成功法則 / 神田昌典 渡部昇一

日本人の成功法則 日本人の成功法則

神田昌典 渡部昇一

フォレスト出版 2010-12-14

売り上げランキング : 114049

Amazonで詳しく見る

by G-Tools

★★★★☆(おぼえるんだ!)

私の心の師匠渡部昇一先生とマーケティングの神様神田昌典との対談集。

明治時代以来の日本人の成功法則を説く渡部先生と現代の成功法則を補足する神田さんとの対談なので、漏れのない法則が描かれています。

ほとんどは渡部先生の話であり、さすがに碩学の実体験に基づいた話は説得力があります。

神田さんの話は軽いですけどね。まあ、ほとんどこの本に書いてあることは他の神田本でも読んでいるので読み飛ばしてもいいのですが。

お二人とも暗記の重要性を強調していたのが印象的。

画像診断医と暗記

画像診断医にとっても暗記は最重要です。

知らないもの(病気)は見えないから。

知っていてもときどき見落とすくらいなので、まず知っていることが重要不可欠。

「ウロおぼえでも本を調べたらわかるからいい」というのは言語道断。そんな状態では一日30件も所見をつけられないでしょう。給料泥棒だよ。

いちいち調べる時間の給料まで病院はあなたに払っているわけではない。

病院のホンネは「本で勉強しているヒマがあったらその分仕事をしろ」ということです。

必要なことはアタマにたたき込んでおくと、仕事場以外でも(歩いているときも 入浴しているときも 眠っているときも)それについて考えて理解を深めることが簡単にできます

そしてさらに深い洞察を得ることができるわけです。

もう一度言う・・・

「おぼえるんだ!」

###

超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(4) さらに改良型

前回の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(3) 改良型」ですが、考えてもよくわからないことが。

EURUSD 日足 2014/1/1 – 2015/1/1

という結果はなかなかですし、最適化パラメーターもほとんどないのでカーブフィッティングの心配もありません。

「直前5日間の平均値より安く始まれば買い、直前5日間の平均値より高く始まれば売り」ですから、トレンドのない相場でうまくいきそうなのですが、EURUSD の 2014/1/1 – 2015/1/1 の相場は下のチャートのように後半が下降トレンド

下降トレンドが続くと逆張り(上がる方に賭ける)なので損失を被るはずですよね。

なのに上の収益曲線は後半に利益を積み重ねています

ナゾですね。

プログラム改良

日足で動作させないとまずいので、日足以外のチャートで動作させるとエラーが出て EA が動かないようにしてみました。

プログラムソース

//
// yasciiWeekly03.mq4 日足で動作

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

#import "dummy.dll" //存在しないDLLから、存在しない関数を宣言
  void    EA_STOP();
#import

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

//変数の設定//
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 init()
  {
   if (iClose(NULL, 1440, 1)!= iClose(NULL, 0, 1)){
      MessageBox(" 日足専用です!");
      EA_STOP();
   }
  return(-1);  
  }

int start()
  {

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET); 
   OOPL = OrderOpenPrice();
   if( 
       //&&
        ( 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(  
       //&&
        ( Ticket_S != 0 && Ticket_S != -1 ))
    {    
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;}
    }  

   //買いエントリー
   if(  TimeDayOfWeek(Time[0]) >= 1 && TimeDayOfWeek(Time[0]) <= 4 && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > Open[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,Blue);
    }

   //売りエントリー
    if(  TimeDayOfWeek(Time[0]) >= 1 && TimeDayOfWeek(Time[0]) <= 4 && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < Open[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);
  }

###

超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(3) 改良型

以前の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り」で作ったプログラムを「月曜朝に売買し金曜朝に決済」から、「毎朝売買し翌朝決済(すぐにその日の売買を繰り返す)」に変更しました。

  • 買い 月曜日から木曜日にその日の始値が直前5日間の平均より低い
  • 売り 月曜日から木曜日にその日の始値が直前5日間の平均より高い
  • 決済 翌朝に強制決済

結果 EURUSD 日足 2014/1/1 – 2015/1/1

ユーロドルでこんなにいい結果はめったに出ないですねえ。

ドルフランもいけてます。

ちなみにユーロドルの 2015/1/1 – 2015/2/27 の結果を調べてみると、総損益 84782ヶ月で 1.8倍ペースの絶好調じゃないですか。

PF 2.37、勝率 65.63%。

正式運用EA に採用決定です。

関連記事

 

プログラムソース

//
// yasciiWeekly03.mq4 日足で動作

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

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

//変数の設定//
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) ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if( 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( Ticket_S != 0 && Ticket_S != -1 )
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  TimeDayOfWeek(Time[0]) >= 1 && TimeDayOfWeek(Time[0]) <= 4 && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > Open[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,Blue); 
    }

   //売りエントリー
    if(  TimeDayOfWeek(Time[0]) >= 1 && TimeDayOfWeek(Time[0]) <= 4 && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < Open[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);
  }

###

超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(2) 曜日属性

以前の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り」ですが、月曜日に買って金曜日に売るのは期間が長過ぎるかなと思い、何曜日が一番儲かっているか調べました

テスト用のプログラムソースは後述します。

結果 EURUSD 日足 2014/1/1 – 2015/1/1

PF 総損益(ドル) 勝率(%)
月曜に売買し、火曜に決済 4.44 9114 75
火曜に売買し、水曜に決済 1.11 883 53.85
水曜に売買し、木曜に決済 1.38 3530 54.9
木曜に売買し、金曜に決済 1.92 6631 56.86
20158

 なんと、月曜日だけ売買したほうがいいという結果が。次が木曜日。

月曜日はさすがに前週の平均値を気にしている人が多いということでしょう。

木曜日が次に多いのは週末に近づいたのでそろそろ今週の落としどころを予想しようと考えるからでしょうか。

しかし、曜日別に走らせて、それぞれを合計したらすごい損益(20158ドル)になりますね。元金が1年で3倍になっちゃいます。

 

関連記事

プログラムソース

//
// yasciiWeekly02.mq4 日足で動作

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

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

//変数の設定//
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) ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  TimeDayOfWeek(Time[0]) == weekday + 1  
       && ( 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(   TimeDayOfWeek(Time[0]) == weekday + 1   
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  TimeDayOfWeek(Time[0]) == weekday && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) > Open[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,Blue); 
    }

   //売りエントリー
    if(  TimeDayOfWeek(Time[0]) == weekday && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 1) < Open[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);
  }

###

web-keepers Windows VPS についてのトラブル(3)

ご契約者 様
平素より弊社サービスをご利用いただき深謝申し上げます。
本日、ご契約の環境のホストサーバ内にてシステムが正常に
動作していないことを確認した為、誠に恐縮ではございますが、
ホストサーバー及び、ご契約サーバーの再起動を行わせて頂きました。
日時:2015年02月27日(金)8時00分(日本時間)

昨年年末から利用している Windows VPS(仮想専用サーバー)の web-keepers のトラブルですが、ちゃんと動き出したと思ったら、今朝また上記のメールが。

案の定、MetaTrader4 が落ちていました。

これでは自動売買などできません。

昨日からのデモ口座での自動売買の成績は幸いに影響を受けていませんでしたが。

2/25 09:00:00 buy 1 gbpjpy 183.996 2/26 08:00:26 184.89 89400
2/26 10:00:00 sell 1 eurjpy 134.881 2/26 11:29:07 134.829 5200

 

これでうまくいくと思ったのですが、他の VPS サーバーに移行するときが来たようです。

とりあえずは自宅サーバーに移行させますかね。

関連記事

 

###

平均からの乖離

平均(移動平均線)からの乖離をトレードシグナルにしていらっしゃる人が結構います。

ということで、乖離率を表示するインディケーターを自作してみました。

ついでに、乖離率の移動平均であるシグナルも表示します。

乖離率の計算に使用する移動平均線の種類も4種類から選べるようにしました。

サブウィンドウが乖離率です。

え、ボリンジャーバンドを見るから要らない!?

プログラムソース

//+------------------------------------------------------------------+
//|                          yasciiKairi01.mq4 
//+------------------------------------------------------------------+

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Orange
#property indicator_color2 Violet
#property indicator_level1   0

//---- input parameters
extern int  MA_period = 20;
extern int  Sig_period = 9;
extern int MA_method = 0; // SMA(0), EMA(1), SMMA(2), LWMA(3)

//---- buffers

double kairi[];
double kairiX[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
 {
//---- indicators
  IndicatorBuffers(2);
  IndicatorShortName("Kairi(" + MA_period + ")");
  SetIndexStyle(0, DRAW_LINE);
  SetIndexBuffer(0, kairi);
  SetIndexBuffer(1, kairiX);
  SetIndexStyle(1, DRAW_LINE);

 //----
  return(0);
 }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
 {
 //----
  return(0);
 }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars = IndicatorCounted();
   int i, j, limit ;

// to prevent possible error
   if(counted_bars < 0)
     {
       return(-1);
     }
   if(MA_method >= 4)
     {
       MA_method = 0;
     }

   limit = Bars - counted_bars;

   for(i = limit - MA_period ; i >= 0; i--)
     {
       double sma20 = iMA(NULL, 0, MA_period, 0 , MA_method , PRICE_CLOSE, i) ;
       kairi[i] = 100.0 * (Close[i]- sma20) / sma20 ;
      }

   for(j = limit - MA_period - Sig_period; j >= 0; j--)
      {
        kairiX[j] = iMAOnArray(kairi,0,Sig_period,0,MODE_EMA,j);
      }

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

###

web-keepers Windows VPS についてのトラブル(2)

昨年年末から利用している Windows VPS(仮想専用サーバー)の web-keepers のトラブルですが、先週末のメンテナンス以降、MetaTrader4 は一度も落ちていません。

奇跡的、というかこれが当たり前の姿のはずです。

メンテ後のデモ口座での自動売買の成績は、

2/23 10:00:00 buy 1 usdjpy 119.217 2/23 13:32:45 119.071 -14600
2/23 11:00:00 sell 1 eurjpy 135.305 2/23 13:41:16 134.64 66500
2/23 12:00:00 buy 1 gbpjpy 183.275 2/24 06:11:29 183.796 52100
2/23 13:00:00 sell 1 gbpjpy 182.699 2/23 15:44:32 183.151 -45200
2/24 18:00:00 sell 1 gbpjpy 184.241 2/25 01:00:00 183.858 38300
2/25 04:00:00 sell 1 eurjpy 134.635 2/25 09:00:00 134.816 -18100
2/25 10:00:00 buy 1 eurjpy 135.154 2/25 13:00:00 134.827 -32700
2/26 00:00:24 sell 1 eurjpy 135.018 2/26 02:38:05 135.153 -13500

 

ポンド円とユーロ円ばっかりですが、差し引き 32800円と出入りの激しい相場です。

ギリシャ問題のせいでしょうか。

ドル円は一向にチャンスが来ない(トレンドが出ない)みたいですね。

関連記事

web-keepers Windows VPS についてのトラブル

###

超シンプルな自動売買プログラム(11) 前週の平均値と逆張り

FXシステムトレード 年率200%儲ける投資術 FXシステムトレード 年率200%儲ける投資術

池田 悟

日本実業出版社 2006-05-24

売り上げランキング : 178070

Amazonで詳しく見る

by G-Tools

 

上の本の p80 に載っているこの本2つ目のシステムはウィクリートレード月曜日に売買し、週末に決済) で、日足で動作するものです。

  • 買い 月曜日の始値が前週の 5日の平均より低い
  • 売り 月曜日の始値が前週の 5日の平均より高い
  • 決済 金曜日に強制決済

土曜日に決済したかったのですが、サーバーの時間がずれている(サマータイムもあるしね)のと、日足が週 5本と6本のサーバーがあるのとで、金曜日に決済することにしました。

プライスは前の週のピボット値(平均値に近い)に向かうという傾向があるので、逆張りになっているのでしょう。

EA にしてみると、なるほど多くの通貨ペアで利益が出ますネ。

ユーロ・ドル が一番優秀でした。

EURUSD 日足 2014/1/1 – 2015/1/1

ほとんど元金を割っていないので、運用中は気分がいいんじゃないでしょうか。

金曜日の朝に決済してしまうのが気になりますが、金曜日夜の狂騒劇に巻き込まれなくて、かえっていいですもんね。

関連記事

プログラムソース

//
// yasciiWeekly01.mq4 日足で動作

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

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

//変数の設定//
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) ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  TimeDayOfWeek(Time[0]) == 5  
       && ( 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(   TimeDayOfWeek(Time[0]) == 5 
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  TimeDayOfWeek(Time[0]) == 1 && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 3) > Open[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,Blue); 
    }

   //売りエントリー
    if(  TimeDayOfWeek(Time[0]) == 1 && iMA(NULL, 1440, Fast_period, 0, 0, PRICE_CLOSE, 3) < Open[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);
  }

 

###

超シンプルな自動売買プログラム(10) 移動平均線(MA)クロス マクロス+バルキリー

FXシステムトレード 年率200%儲ける投資術 FXシステムトレード 年率200%儲ける投資術

池田 悟

日本実業出版社 2006-05-24

売り上げランキング : 178070

Amazonで詳しく見る

by G-Tools

 

上の本の p79 に載っているこの本最初のシステムは 2本の移動平均線(MA)のクロスを使った超シンプルなもの。

  • 買い 5期間平均の移動平均線が 25期間平均の移動平均線を上回る
  • 売り 5期間平均の移動平均線が 25期間平均の移動平均線を下回る
  • 決済 10期間保有した後 あるいは 逆の売買サインが出たとき

MAクロスなのでマクロスと私は呼んでいます。

一定期間の保有で仕切る(見切る)というのは私はやらないのですが、やってみました。

2014/1/1 – 2015/1/1 ドル円 4時間

本にはないのですが、私のいつもの固定ロスカットをつけたのが下。

最大ドローダウンが半減し、曲線も少しなだらかになりました。

固定ロスカットは一定の値(ヴァリュー)で切るのでバルキリーとでも呼びましょうか。なかなか効果があります。

このマクロスはバルキリー付きでもパフォーマンスは他の EA と比べていまいちですが、保有期間を制限するというアイディアはありだと思います。

なお、保有期間の数値を最適化で決めるようにすると最適解はもっと長くなるようです。ただし、総損益と最大勝ち金額が増えますが、勝率と最大ドローダウンは下がります。

関連記事

FXシステムトレード 年率200%儲ける投資術 / 池田 悟

プログラムソース

//
// yasciiMAcross01.mq4

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

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

//---- input parameters

extern int Slow_period = 25;
extern int Fast_period = 5;
extern int pos_timeMAX = 10;
int pos_time = 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;

extern double ILC = 12.0 ; 

int start()
  {

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

   pos_time += 1 ;

     double ma5 = iMA(NULL, 0, Fast_period, 0, 0, PRICE_CLOSE, 1);
     double ma25 = iMA(NULL, 0, Slow_period, 0, 0, PRICE_CLOSE, 1);
     double ma5s = iMA(NULL, 0, Fast_period, 0, 0, PRICE_CLOSE, 2);
     double ma25s = iMA(NULL, 0, Slow_period, 0, 0, PRICE_CLOSE, 2);

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   //買いポジションのエグジット

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  ((ma5 < ma25 && ma5s > ma25s)|| pos_time > pos_timeMAX || OOPL - lc*Point >= Close[1] )  
       && ( Ticket_L != 0 && Ticket_L != -1 ))
    {     
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue);
      if( Exit_L ==1 ) {Ticket_L = 0;}
          pos_time = 0;
    }    

   //売りポジションのエグジット

   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();
   if(   ((ma5 > ma25 && ma5s < ma25s) || pos_time > pos_timeMAX || OOPS + lc*Point <= Close[1] )  
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
          pos_time = 0;
    }   

   //買いエントリー
   if(  ma5 > ma25 && ma5s < ma25s
       && ( 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);    pos_time = 0;
    }

   //売りエントリー
    if(  ma5 < ma25 && ma5s > ma25s
       && ( 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);     pos_time = 0;
    } 

   return(0);
  }

###

オシレーターの解釈(数値判定)について

オシレーター系の評価には、「基準となる数値をどうとるか」 や「順張りととらえるかあるいは逆張りと考えるか」など難しい問題が多数あります。

上のチャートではサブウィンドウに RSI を表示してあります。

ここでは点線のラインは 30 と 70 を採用することにしますが、どの時点でどういう判断をくだすかでいろいろ変わってきます。

たとえば、

  • A地点(RSI が買われすぎゾーンに突入)
  • B地点(RSI が買われすぎゾーンを脱出)
  • C地点(RSI が売られすぎゾーンに突入)

のどの地点を判断基準にするかということを考えてみます。

A地点(RSI が買われすぎゾーンに突入)を買われすぎと判定

よくみる考えですが、バンドウォークの始点だったりするとこれからずっと買われすぎの状態が続きます。

ここで売ったりするプログラムでは大負けすることが多いです。損切りはしっかりとしましょう。

B地点(RSI が買われすぎゾーンを脱出)を売られ始めと判定

これもよく見る考えですが、しっかりしたレンジ相場以外ではあまり有効ではありません。

C地点(RSI が売られすぎゾーンに突入)を買われすぎの終焉と判定

これを売られすぎとするという考えは「A地点(RSI が買われすぎゾーンに突入)を買われすぎと判定」することの逆パターンになりますので省略しますが、そうではなく、ここまでが買われすぎの状態とする考え方です。

そう間違いではないのですが、上のチャートのようにトレンドや非トレンド(上昇&下降)がごった混ぜの状態を区別できていませんね。

まとめ

オシレーター系の指標はレンジ相場などでは有効ですが、トレンド相場では有効でなくなるばかりか、むしろ有害になる危険性も高いです。

そのためレンジ相場かトレンド相場かを別の方法で判別してから適用する必要があります。

関連記事

超シンプルな自動売買プログラム(9) RSI クロス

###

超シンプルな自動売買プログラム(9) RSI クロス

超シンプルな自動売買プログラム として RSI とそのシグナル(直前3本の平均値)とのクロスを考えてみました。

RSI はオシレーター系では最も有名なものですね。

  • 買い RSI がBuyLevel 以上のときに RSI が上昇(シグナルを上抜け)
  • 売り RSI がSellLevel 以下のときに RSI が下降(シグナルを下抜け)
  • 決済 逆のサインが出たとき または 固定ロスカットにひっかかったとき

 

結果

2014/1/1 – 2015/1/1 ドル円 4時間足

最適化した後のパラメーターは RSI Period = 11、BuyLevel = 48、SellLevel =52 です。

固定ロスカットはつけましたが、ほとんど無意味です。

利益曲線を見るとトレンド時に頑張るタイプです。RSI はオシレーターのくせにヘンですよね。

まあ、RSI のシグナルとのクロスなので RSI の上昇が買いのサイン、下降を売りのサインとみなしているわけですから、順張りとしての使い方です。そう考えるとヘンではないでしょう。

オシレーターっぽいところかな、と思うのは、トレンドのないときのロスが比較的少ないところでしょうか。

プログラムソース

//
// yasciiRSI01.mq4
//

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

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

extern int RSI_Period = 14 ;
extern double BuyLevel = 50.0;
extern double SellLevel = 50.0;

extern double ILC = 40.0 ;

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

int start()
  {

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

      double RSI_MAIN1 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 1 );
      double RSI_MAIN2 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 2 );
      double RSI_MAIN3 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 3 );
      double RSI_MAIN4 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 4 );
      double RSI_Signal1 = (RSI_MAIN1 + RSI_MAIN2 + RSI_MAIN3)/3.0 ;
      double RSI_Signal2 = (RSI_MAIN4 + RSI_MAIN2 + RSI_MAIN3)/3.0 ;

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   //買いポジションのエグジット
   OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   if(    ((RSI_MAIN1 < RSI_Signal1 && RSI_MAIN2 >= RSI_Signal2) ||( OrderOpenPrice() - lc * 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(    ((RSI_MAIN1 > RSI_Signal1 && RSI_MAIN2 <= RSI_Signal2)||( OrderOpenPrice() + lc * 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(    RSI_MAIN1 > RSI_Signal1 && RSI_MAIN2 <= RSI_Signal2 && RSI_MAIN1 > BuyLevel
       && ( 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(    RSI_MAIN1 < RSI_Signal1 && RSI_MAIN2 >= RSI_Signal2 && RSI_MAIN1 <= SellLevel
       && ( 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);
  }

###

web-keepers Windows VPS についてのトラブル

昨年年末から利用している Windows VPS(仮想専用サーバー)の web-keepers ですが、常時稼働させている MetaTrader4 が落ちてしまうというトラブルが十数回。

その後値上げの通知が。

まともに動かないのにこれではいかんな、FC2-VPS に乗り換えか、と思っていたところ、先週末にメンテナンスがあり、それも予定より遅れて 2/21 終了。

2/22 は全く接続できず。

やっぱりと思ったら、2/23 13:45 に接続可能になり、その後奇跡的に動いています。

とりあえず数日様子をみて、もし元通りなら FC2-VPS に乗り換えを敢行します。

###

英傑の日本史 激闘織田軍団編 / 井沢 元彦

英傑の日本史 激闘織田軍団編 英傑の日本史 激闘織田軍団編

井沢 元彦

KADOKAWA / 角川学芸出版 2013-03-14

売り上げランキング : 11045

Amazonで詳しく見る

by G-Tools

★★★★☆

織田信長に関わりのあった武将たちを詳しく紹介しています。

前田利家の実像をあばき、秀吉をこきおろしているのが痛快。

足利義昭もそこそこ有能な男に描かれています。

柴田勝家佐々成政佐久間盛政浅井長政など、勝者によって不当におとしめられた者たちをきちんと再評価しているのがすばらしいです。

しかし、秀吉は最低なやつですな。

関連記事

###