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

かげろう飛脚―鬼悠市 風信帖 / 高橋 義夫

かげろう飛脚―鬼悠市 風信帖 (文春文庫) かげろう飛脚―鬼悠市 風信帖 (文春文庫)

高橋 義夫

文藝春秋 2006-12

売り上げランキング : 966864

Amazonで詳しく見る

by G-Tools

★★★☆☆

順番が逆になりましたが、昨日ブックオフで見つけたので・・・

鬼悠市 風信帖シリーズ第2弾。

今回の指命は分家の元家老の警護というもの。

家老の命を狙う刺客を倒すことはもちろん、情報収集をしたり、暗殺計画を事前に防ぐなど文字通り鬼神のような働きを行います。

かげろう飛脚とはなにか、そしてその正体は?

後の話に繋がる伏線も豊富にあって、なかなかよかったです。

閑話休題

一昨日、電車の中吊り広告で「御隠居剣法」が出版と・・・おおっ!

え、鳥羽亮?

高橋義夫さんの「御隠居忍法」シリーズの新作ではないのね、とがっかりしました。

関連記事

###

影丸と胡蝶―ほか七編 (講談社漫画文庫―横山光輝時代傑作選) / 横山 光輝

影丸と胡蝶―ほか七編 (講談社漫画文庫―横山光輝時代傑作選) 影丸と胡蝶―ほか七編 (講談社漫画文庫―横山光輝時代傑作選)

横山 光輝

講談社 2001-05

売り上げランキング : 545746

Amazonで詳しく見る

by G-Tools

★★★☆☆

郷土の名士である横山光輝先生の短編集。

忍者の伊賀の影丸が出てくるので買いましたが、残りの作品は影丸は出てきません。

「ムササビ」の1作は忍者ものですが、残り2作は任侠もの。

「カニの赤槍」は可児才蔵が主役の豪快なお話。

「影丸と胡蝶」、「稚児地蔵」、「仇討ち始末」と「ほらふき陣左」は悲話ですが、「恋と十手とお銀ちゃん」はユーモア捕物帖。

いろいろあって余韻も深く、人生の勉強になります。

収録作品

  • 影丸と胡蝶
  • 稚児地蔵(人形佐七)
  • 仇討ち始末
  • ほらふき陣左
  • カニの赤槍
  • 恋と十手とお銀ちゃん
  • ムササビ(3編)

関連記事

###

24時間ですっきり! ぐちゃぐちゃデスクのシンプル整理術 / ズザンネ・ロート

24時間ですっきり! ぐちゃぐちゃデスクのシンプル整理術 24時間ですっきり! ぐちゃぐちゃデスクのシンプル整理術

ズザンネ・ロート

技術評論社 2006-09-26

売り上げランキング : 1061222

Amazonで詳しく見る

by G-Tools

★★★★☆

ズザンネ・ロートさんはその響きのとおりドイツ人(英語ではスザンナ・レッドになります)。

オフィスの整理術についての本ですが、24時間で一通り終わらせてしまおうという趣向の本。

分類に独特のものを感じますが、なんとなくうまくいきそうです。

やらないよりやったほうがいいのは確か。

いつ24時間をとるのか、そもそもオフィスに24時間連続でいられるのか、なんて疑問はさておき、とりあえず次の年末にはやってみたい・・・

たぶん忘れているでしょうけどね。

###

大摩のガロ (小学館文庫―忍法秘話) / 白土 三平

大摩のガロ (小学館文庫―忍法秘話) 大摩のガロ (小学館文庫―忍法秘話)

白土 三平

小学館 1996-05

売り上げランキング : 554035

Amazonで詳しく見る

by G-Tools

★★★☆☆

白土三平の忍者マンガ短編集。

大摩のガロという相手の考えを遠方からでも読みとる忍者が主人公。

テレパシーというわけですね。

一度死んでもよみがえり、バッタバッタと相手を倒していく大摩のガロ

しかし、最後には根来忍法に破れて死んでしまいます。

その仇をこれまた白土さんのマンガではおなじみの四貫目がとるという展開はさすがと言えましょう。

大摩のガロとは無関係の話も収録されており、そのうち一つは有名な忍者飛び加藤が主人公。

しかし、こういうSFチックな話が昭和に書かれていたというのがすばらしい。

マンガじゃないけど山田風太郎はもっと古いけどね。

###

スガル (小学館文庫―忍法秘話) / 白土 三平

スガル (小学館文庫―忍法秘話) スガル (小学館文庫―忍法秘話)
白土 三平
小学館 1996-07
売り上げランキング : 772557
Amazonで詳しく見る
by G-Tools

★★★☆☆

白土三平さんの忍者マンガ短編集。

スガルはくのいちの名前です。

カムイ外伝にも凄腕の女忍者スガルが出てきますが、この本はそれとは無関係。

スガルの誕生から最期までを断続的につづっていますが、これらのスガルが同一人物なのかは不明です。

スガルとは無関係の話も収録。

しかし、忍者というのは実に日本人らしい職業と思います。

職人気質がないとなかなかこういうシステムが根付きませんから。

現代の日本にもこういう存在が必要だと思うのですが。

###

マーフィーのスパンモデルについて

マーフィーの最強スパンモデルFX投資法 マーフィーの最強スパンモデルFX投資法

柾木 利彦

日本実業出版社 2010-12-16

売り上げランキング : 46055

Amazonで詳しく見る

by G-Tools

前回の記事「一目均衡表のずれ(26と25)」で紹介したこの本ですが、マーフィー(柾木)さんのスパンモデルとは、一目均衡表から転換線と基準線を除き、先行スパンAと先行スパンBと遅行線とを使うものです。

ただし、 先行スパンAと先行スパンB を先行させません

え、先行スパンでないただのスパン? だからスパンモデルなんですかね。

リアルタイム雲とかカレント雲とかちまたで呼ばれているものと同じです。

坂の上の雲ではなく、ここの上の雲

 

とりあえずプログラムしてみました。

プログラムソース

//+------------------------------------------------------------------+
//|              Span Model          yasciiSpan01.mq4 
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Black          // Tenkan-sen
#property indicator_color2 Black         // Kijun-sen
#property indicator_color3 SandyBrown   // Up Kumo
#property indicator_color4 Thistle      // Down Kumo
#property indicator_color5 Yellow         // Chikou Span
#property indicator_color6 SandyBrown   // Up Kumo bounding line
#property indicator_color7 Thistle      // Down Kumo bounding line
//--- input parameters
input int InpTenkan=9;   // Tenkan-sen
input int InpKijun=26;   // Kijun-sen
input int InpSenkou=52;  // Senkou Span B

int    ExtBegin;

//--- buffers
double tenkan[];
double kijun[];
double senkouA[];
double senkouB[];
double chikou[];
double senkouAL[];
double senkouBL[];
//---

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit(void)
  {
   IndicatorDigits(Digits);
//---
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,tenkan);
   SetIndexDrawBegin(0,InpTenkan-1);
   SetIndexLabel(0,"Tenkan Sen");
//---
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,kijun);
   SetIndexDrawBegin(1,InpKijun-1);
   SetIndexLabel(1,"Kijun Sen");
//---
   ExtBegin = InpKijun;
   if(ExtBegin < InpTenkan) ExtBegin = InpTenkan;
//---
   SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(2,senkouA);
   SetIndexDrawBegin(2,InpKijun+ExtBegin-1);
   SetIndexLabel(2,NULL);
   SetIndexStyle(5,DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(5,senkouAL);
   SetIndexDrawBegin(5,InpKijun+ExtBegin-1);
   SetIndexLabel(5,"Senkou Span A");
//---
   SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(3,senkouB);
   SetIndexDrawBegin(3,InpKijun+InpSenkou-1);
   SetIndexLabel(3,NULL);
   SetIndexStyle(6,DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(6,senkouBL);
   SetIndexDrawBegin(6,InpKijun+InpSenkou-1);
   SetIndexLabel(6,"Senkou Span B");
//---
   SetIndexStyle(4,DRAW_LINE);
   SetIndexBuffer(4,chikou);
   SetIndexShift(4,1-InpKijun);
   SetIndexLabel(4,"Chikou Span");
//--- initialization done
  }
//+------------------------------------------------------------------+
//| Ichimoku Kinko Hyo                                               |
//+------------------------------------------------------------------+
int start()
{
   int limit = Bars - IndicatorCounted();
   if(limit == Bars) limit -= InpKijun+InpSenkou-1;
   for (int i =limit -1; i>=0; i--)
   {
        tenkan[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpTenkan, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpTenkan, i)]) / 2.0 ;
        kijun[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpKijun, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpKijun, i)]) / 2.0 ;
        senkouA[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpKijun, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpKijun, i)] + High[iHighest(NULL, 0, MODE_HIGH, InpTenkan, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpTenkan, i)]) / 4.0 ;
        senkouB[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpSenkou, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpSenkou, i)])/2.0 ;
        senkouAL[i] = senkouA[i] ;
        senkouBL[i] = senkouB[i] ;
        chikou[i] = Close[i];
     }

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

関連記事

一目均衡表(関数版)

一目均衡表のずれ(26と25)

###

一目均衡表のずれ(26と25)

マーフィーの最強スパンモデルFX投資法 マーフィーの最強スパンモデルFX投資法
柾木 利彦
日本実業出版社 2010-12-16
売り上げランキング : 46055
Amazonで詳しく見る
by G-Tools

 

上の本を読んでいたら、「MetaTrader4 での一目均衡表(Ichimoku.ex4 )は本来の一目均衡表とは1本ズレているので、パラメーターの InpKijun を 26 から 25 にしろ」と書いてありました。

一目均衡表では「当日を含めて26日ずらす」と書いてあるので、25ずらすのが正解なのです。

「MetaTrader4 での一目均衡表(Ichimoku.ex4 )は本来の一目均衡表とは1本ズレている」のは正しいです。

でも後半の「パラメーターの InpKijun を 26 から 25 にしろ」は間違いでしょう。

Ichimoku.mq4 のソースを読むと、そうしてしまうと基準線や先行スパンA の計算値自体が狂ってしまうからです。

InpKijun は 26 のままで、

  1. SetIndexShift(2,InpKijun);⇒SetIndexShift(2,InpKijun-1);
  2. SetIndexShift(3,InpKijun);⇒SetIndexShift(3,InpKijun-1);
  3. SetIndexShift(4,-InpKijun);⇒SetIndexShift(4,-InpKijun+1);
  4. SetIndexShift(5InpKijun);⇒SetIndexShift(5,InpKijun-1);
  5. SetIndexShift(6,InpKijun);⇒SetIndexShift(6,InpKijun-1);

 

の5ケ所を変更しないといけないと思います。

もっとも柾木さんの記述はスパンモデルのもので、オリジナルの一目均衡表のものではありません。

それともスパンモデルの先行スパンAは一目均衡表の先行スパンAとは計算方法が違うというのでしょうか?

ともあれ、MetaTrader4 での一目均衡表(Ichimoku.ex4 )は修正すべきですね。

以前の記事「一目均衡表(関数版)」のも変更しておきました。

関連記事

一目均衡表(関数版)

###

仕事が10倍速くなる! スピード手帳術 / 松本幸夫

仕事が10倍速くなる! スピード手帳術 仕事が10倍速くなる! スピード手帳術
松本 幸夫
日本実業出版社 2008-02-28
売り上げランキング : 537272
Amazonで詳しく見る
by G-Tools

★★★★☆(簡潔にまとまっている)

時間活用術とそれに則した手帳術を紹介。

普遍的な方法ばかりですので、簡単でだれでもできると思います。

手帳初心者あるいはビジネスマン初心者にはまずこの本から始めることをお勧めします。

関連記事

###

METROというインディケーター

ネットで配布されている METRO という無料のインディケーターがあります。

ダウンロード> METRO.mq4

サブウィンドゥの3本の線で構成されているのが METRO インディケーターです。

RSI を元にした指標のようですが、水色と紫色のラインのクロスで売買できそうです(茶色は RSI)。

ということで、EA にしてみました。

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

最適化しなくても結構いい感触ですね。

RSI というオシレーターを元にしている割にはトレンド相場に強いという、ちょっと意外な性格のようです。

プログラムソース

//
// yasciiMETRO01.mq4

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

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

//---- input parameters

extern int PeriodRSI=14;
extern int StepSizeFast=5;
extern int StepSizeSlow=15;
extern int Fast_period = 14;

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

int start()
  {

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

     double index1 = iCustom(NULL, 0, "METRO", PeriodRSI, StepSizeFast, StepSizeSlow, 1, 1);
     double index2 = iCustom(NULL, 0, "METRO", PeriodRSI, StepSizeFast, StepSizeSlow, 2, 1);
     double index1p = iCustom(NULL, 0, "METRO", PeriodRSI, StepSizeFast, StepSizeSlow, 1, 2);
     double index2p = iCustom(NULL, 0, "METRO", PeriodRSI, StepSizeFast, StepSizeSlow, 2, 2);

     double FastHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
     double FastLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];

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

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

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();
   if(  (index1 < index2 ||OOPL - lc*Point >= Close[1] || Close[1] < FastLL2 )  
       && ( 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(   (index1 > index2 || OOPS + lc*Point <= Close[1] || Close[1] > FastHH2 ) 
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(  index1 >= index2 && index1p < index2p
       && ( 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(  index1 <= index2 && index1p > index2p 
       && ( 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);
  }

 

###

リアルタイムクラウドフィルタ

昨日の記事「一目均衡表(関数版)」で、リアルタイム雲(時間がずれていない雲)のフィルタを作る方法に触れましたが、

 

   double high_value9 = High[iHighest(NULL, 0, MODE_HIGH, 9, 1)];
   double low_value9 = Low[iLowest(NULL, 0, MODE_LOW, 9, 1)];
   double high_value26 = High[iHighest(NULL, 0, MODE_HIGH, 26, 1)];
   double low_value26 = Low[iLowest(NULL, 0, MODE_LOW, 26, 1)];
   double high_value52 = High[iHighest(NULL, 0, MODE_HIGH, 52, 1)];
   double low_value52 = Low[iLowest(NULL, 0, MODE_LOW, 52, 1)];

   double tenkan = (high_value9 + low_value9) / 2.0 ;
   double kijun = (high_value26 + low_value26) / 2.0 ;
   double senkouA = (tenkan + kijun) / 2.0 ;
   double senkouB = (high_value52 + low_value52) / 2.0 ;

 

と書きますと、senkouA と senkouB がリアルタイム雲(26個分ずらす前の雲)に相当します。

売買条件のときに、 if(Close[1] > senkouA && Close[1] > senkouB && ・・・)

などと書けばいいのですね。

ちなみに普通の(一目均衡表の)雲は下のように書けます。こう書いただけですでに 26個分ずれています。

    double senkouA = iIchimoku( NULL, 0, 9, 26, 52, 3, 1);
    double senkouB = iIchimoku( NULL, 0, 9, 26, 52, 4, 1);

これらからリアルタイム雲を作ってもいいです。ずらす方向を間違えないようにね。

関連記事

###

一目均衡表(関数版)

MetaTrader4 に付属している一目均衡表のソースを見てみるとずいぶん複雑なので、関数を使って簡単に記述し直してみました。

書き換えたのはほとんど start 関数だけです(バッファ名も長いので変えましたけど)。

これをちょっと変えるとリアルタイム雲のフィルタが簡単に作れます。

プログラムソース

//+------------------------------------------------------------------+
//|              一目均衡表(関数版)          yasciiIchimoku01.mq4 |
//+------------------------------------------------------------------+

#property strict

#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Red          // Tenkan-sen
#property indicator_color2 Blue         // Kijun-sen
#property indicator_color3 SandyBrown   // Up Kumo
#property indicator_color4 Thistle      // Down Kumo
#property indicator_color5 Yellow         // Chikou Span
#property indicator_color6 SandyBrown   // Up Kumo bounding line
#property indicator_color7 Thistle      // Down Kumo bounding line
//--- input parameters
input int InpTenkan=9;   // Tenkan-sen
input int InpKijun=26;   // Kijun-sen
input int InpSenkou=52;  // Senkou Span B
//--- buffers
double tenkan[];
double kijun[];
double senkouA[];
double senkouB[];
double chikou[];
double senkouAL[];
double senkouBL[];
//---
int    ExtBegin;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit(void)
  {
   IndicatorDigits(Digits);
//---
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,tenkan);
   SetIndexDrawBegin(0,InpTenkan-1);
   SetIndexLabel(0,"Tenkan Sen");
//---
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,kijun);
   SetIndexDrawBegin(1,InpKijun-1);
   SetIndexLabel(1,"Kijun Sen");
//---
   ExtBegin = InpKijun;
   if(ExtBegin < InpTenkan) ExtBegin = InpTenkan;
//---
   SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(2,senkouA);
   SetIndexDrawBegin(2,InpKijun+ExtBegin-1);
   SetIndexShift(2,InpKijun-1);
   SetIndexLabel(2,NULL);
   SetIndexStyle(5,DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(5,senkouAL);
   SetIndexDrawBegin(5,InpKijun+ExtBegin-1);
   SetIndexShift(5,InpKijun-1);
   SetIndexLabel(5,"Senkou Span A");
//---
   SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(3,senkouB);
   SetIndexDrawBegin(3,InpKijun+InpSenkou-1);
   SetIndexShift(3,InpKijun-1);
   SetIndexLabel(3,NULL);
   SetIndexStyle(6,DRAW_LINE,STYLE_DOT);
   SetIndexBuffer(6,senkouBL);
   SetIndexDrawBegin(6,InpKijun+InpSenkou-1);
   SetIndexShift(6,InpKijun-1);
   SetIndexLabel(6,"Senkou Span B");
//---
   SetIndexStyle(4,DRAW_LINE);
   SetIndexBuffer(4,chikou);
   SetIndexShift(4,1-InpKijun);
   SetIndexLabel(4,"Chikou Span");
//--- initialization done
  }
//+------------------------------------------------------------------+
//| Ichimoku Kinko Hyo                                               |
//+------------------------------------------------------------------+
int start()
{
   int limit = Bars - IndicatorCounted();
   if(limit == Bars) limit -= InpKijun+InpSenkou-1;
   for (int i =limit -1; i>=0; i--)
   {
        tenkan[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpTenkan, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpTenkan, i)]) / 2.0 ;
        kijun[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpKijun, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpKijun, i)]) / 2.0 ;
        senkouA[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpKijun, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpKijun, i)] + High[iHighest(NULL, 0, MODE_HIGH, InpTenkan, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpTenkan, i)]) / 4.0 ;
        senkouB[i] = (High[iHighest(NULL, 0, MODE_HIGH, InpSenkou, i)] + Low[iLowest(NULL, 0, MODE_LOW, InpSenkou, i)])/2.0 ;
        senkouAL[i] = senkouA[i] ;
        senkouBL[i] = senkouB[i] ;
        chikou[i] = Close[i];
     }

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

###

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

住民税だけでも毎月20万円以上払っていますが、大津市はなんの見返りもくれません。

それどころかうちのマンションの排水管を壊したのに弁償もせず、恨み骨髄です。

そこで仕返しのためにふるさと納税をやることにしました。

ふるさと納税=ふるさとでなくても寄付

納税と言ってもじつは寄付金です。

でも寄付をすることで納めた税金が戻ってくるので、納税と同じ(納める方ももらう方も)です。

今より 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

    ・CPUグリス 標準CPUグリス

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

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

    ・グラフィック機能 インテルHD グラフィックス4600

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

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

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

    ・電源 350W電源

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

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

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

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

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

実は使い回しのできる筐体(ケース)が以前から改造用にほしかった(最近のデル製は裏のパネルがはずれずマザーボード交換がしにくい)のですが、これにはもちろん中身もついています。^^

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

いつ届くか楽しみです。

次は液晶モニタ、米、カニ、肉、果物、ワイン、ラーメンといきますかね。

###

「近くて遠い国」でいい、日本と韓国 (WAC BUNKO) / 渡部昇一 呉善花

「近くて遠い国」でいい、日本と韓国 (WAC BUNKO) 「近くて遠い国」でいい、日本と韓国 (WAC BUNKO)

渡部昇一 呉善花

ワック 2013-04-22

売り上げランキング : 319487

Amazonで詳しく見る

by G-Tools

★★★★★(わかりやすいし、じつに納得できる)

呉善花氏の著書はとっても面白くてためになります。

渡部昇一さんは高校生時代からの心の師です。

韓国人の国民性がじつによくわかります。そして日本人の特異性も。

理解し合うことはまず無理でしょう。

しかし、それでいいのです。

見かけが似ているから変な期待をするのでしょうが、中身は全く違うのです。

ヨーロッパ人やアメリカ人、アフリカ人、アラブ人などの全く文化が異なる人と同じように考えて、接していけばいいだけの話です。

関連記事

###

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

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

陳 満咲杜

扶桑社 2012-06-29

売り上げランキング : 79239

Amazonで詳しく見る

by G-Tools

★★★★★(中級者の指南書としては最適)

以前紹介した GMMA というチャートについてですが、こういうものです。

 

赤い6本の移動平均線(EMA)と青い6本の移動平均線(EMA)をそれぞれ投機筋と投資筋にみたてて、それらのクロスで売買します。

エッセンスだけを EA にしてみました。

こんなシンプルなものでも、ドル円、ポンド円、豪ドル円、NZドル円の1時間足では利益が出ます。

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

最大ドローダウンが大きいので改良が必要ですね。

移動平均線のクロスという定石通りなので、トレンド相場では強いのは当たり前ですけどね。

関連記事

プログラムソース

//
// yasciiGMMA01
//

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

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

extern int MA_Period1 =3;
extern int MA_Period2 =60;

extern double ILC = 15.0 ;
//extern double TP = 240.0 ;


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

double   OOPL;
double   OOPS;

int start()
  {

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

   double ema3 = iMA( NULL, 0, MA_Period1, 0, MODE_EMA, PRICE_CLOSE, 1);
   double ema3s = iMA( NULL, 0, MA_Period1, 0, MODE_EMA, PRICE_CLOSE, 2);
   double ema60 = iMA( NULL, 0, MA_Period2, 0, MODE_EMA, PRICE_CLOSE, 1);
   double ema60s = iMA( NULL, 0, MA_Period2, 0, MODE_EMA, 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( (ema3 < ema60 || Close[1]< OOPL - lc*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( (ema3 > ema60 || Close[1] > OOPS + lc*Point)
       && (Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   
    
   //買いエントリー
   if( ema3 > ema60 && ema3s < ema60s && ema60 > ema60s
       && ( 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( ema3 < ema60 && ema3s > ema60s && ema60 < ema60s
       && ( 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);
  }

###

鳥の歌 遥かなる同胞たちの歌 / 宗次郎

鳥の歌~遥かなる同胞たちの歌~ 鳥の歌~遥かなる同胞たちの歌~

宗次郎

ユニバーサル ミュージック 2007-07-31

売り上げランキング : 1097734

Amazonで詳しく見る

by G-Tools

★★★☆☆

オカリナ奏者で作曲家の宗次郎のアルバム。

離れた小国にもすぐれた音楽があり、それを聴いているとみんな同胞に感じるという趣旨のアルバムで、11曲目以外はカバー曲となっていますが、アレンジが凝っています。

「スカボローフェア」や「マイムマイム」は誰でも知っていますが、イントロからは予測がつきません。

「泣きながら」は昔はやった「ランバダ」の原曲。

「花祭り」はよく聞く民族音楽です。

「鳥の歌」はカザルスゆかりのカタロニア民謡。

「ミッション」はエンニオ・モリコーネ作曲の同名映画の主題曲である「ガブリエルのオーボエ」です。サラ・ブライトマンも歌詞をつけて歌ってましたね。

「4つのフィンランド民謡」はアレンジのせいか日本の民謡のように聞こえるものがあり、確かに同胞感満載です。

ケーナもいいですが、オカリナも実にいろんな表情が出せるのです。

曲目リスト

  1. スカボローフェア
  2. 4つのフィンランド民謡
  3. ミッション
  4. 天国への階段
  5. 泣きながら
  6. 瑶族舞曲
  7. 鳥の歌
  8. 花祭り
  9. マイム マイム
  10. 風とケーナのロマンス
  11. 魂の島々
  12. ムーンチャイルド

関連記事

###

一目均衡表の教えてくれるもの

FX の話です。

株の世界から導入された一目均衡表ですが、最近勉強し直してみると実に多くのウロコが目から飛び出してきます。

同時に足下がグラグラ崩れてきたりもします。

終値は使わない

一目均衡表では終値でなく、高値と安値とその半値を使用します。

今まで EA(expert advisor)という自動売買プログラムを作ってきました。ほとんどすべて終値をベースにしています。

でも終値というのはサーバーの時間が 1秒ずれただけで変わってしまうわけですよね。

こんなアバウトなもので判断したり、それで作った指標をアテにしていいのかと思ってしまいます。

一目均衡表ではある期間中の高値と安値を使いますから、多少サーバーの時間がずれようとほとんど変化がありません。

機械の都合で変わる終値より、人間心理で変わる高値、安値のほうが信用できるわけですもんね。

うーん、EA 全部作り直しかも?

終値を半値に置き換えるだけなら簡単なんですが、検証のやり直しが・・・

###

アンディさんのリアルタイム雲(2)

前回の記事「アンディさんのリアルタイム雲」で紹介したリアルタイム雲 ですが、本日ちょっと使ってみたところ、なかなかいい感触でトレードできました。

一目均衡表と違い、たえず分厚いサポートの雲がローソク足の近くにあるので、損切りやトレールが早くできるのが魅力です。

その分、一目均衡表よりハラハラするのですが。

さらに研究を進めましょう。

最終的には EA に組み込んでいきたいです。

本日の結果

エントリ B/S lots 通貨 約定値 決済 約定値 損益$
02:44:07 sell 1 usdjpy 118.888 06:48:12 118.59 251.27
04:00:01 sell 1 usdjpy 118.936 08:15:30 118.6 283.29
08:00:04 sell 1 usdcad 1.24908 10:00:00 1.25175 -213.35

最後に慣れない米ドル/加ドルに手を出したら(私ではなくEAが勝手にエントリしたのです)いきなり逆行して痛い目にあいましたが、 魔の金曜日の東京時間にしては差し引き 321.21ドルのプラスとなったのでよしとしましょう。

○○カタさんふうに言うと「かくにん、よかった」でしょうか。

関連記事

###

アンディさんのリアルタイム雲

  上が一目均衡表で、雲は26本先行しています。 下は有名なトレーダーのアンディさんのリアルタイム雲で、先行していないのが特徴です。 >アンディの FX BLOG 移動平均線っぽい使い方をするならこれもありです。 レジスタンスやサポートとしての力もありそうですから、ストップの目安としても使えそうです。

リアルタイム雲の表示のしかた

Ichimoku.mq4 を kumo.mq4 として別名保存してから、Metaeditor で開き、 void OnInit(void) セクションの中の次の4行を書き換えるだけです。
  • SetIndexShift(2,InpKijun); ⇒ SetIndexShift(2,0);
  • SetIndexShift(5,InpKijun); ⇒ SetIndexShift(5,0);
  • SetIndexShift(3,InpKijun); ⇒ SetIndexShift(3,0);
  • SetIndexShift(6,InpKijun); ⇒ SetIndexShift(6,0);
  書き換えたら保存してください。

関連記事

【FX】アンディさんのリアルタイム雲 (3)   ###]]>

アンディさんのリアルタイム雲

 

上が一目均衡表で、雲は26本先行しています。

下は有名なトレーダーのアンディさんのリアルタイム雲で、先行していないのが特徴です。

アンディの FX BLOG

移動平均線っぽい使い方をするならこれもありです。

レジスタンスやサポートとしての力もありそうですから、ストップの目安としても使えそうです。

リアルタイム雲の表示のしかた

Ichimoku.mq4 を kumo.mq4 として別名保存してから、Metaeditor で開き、

void OnInit(void) セクションの中の次の4行を書き換えるだけです。

  • SetIndexShift(2,InpKijun); ⇒ SetIndexShift(2,0);
  • SetIndexShift(5,InpKijun); ⇒ SetIndexShift(5,0);
  • SetIndexShift(3,InpKijun); ⇒ SetIndexShift(3,0);
  • SetIndexShift(6,InpKijun); ⇒ SetIndexShift(6,0);

 

書き換えたら保存してください。

関連記事

【FX】アンディさんのリアルタイム雲 (3)

 

###

FX 2015年2月第2週デモ口座運用状況

2/09 09:45:10 buy 1 usdjpy 118.982 2/09 10:02:18 118.9 -68.97
2/09 15:09:24 sell 1 eurjpy 133.771 2/09 15:56:10 133.961 -160.22
2/10 02:58:19 sell 1 usdjpy 118.448 2/10 07:31:42 118.522 -62.44
2/10 03:00:28 buy 1 audusd 0.78078 2/10 04:00:23 0.78165 87
2/10 04:00:23 buy 1 audusd 0.78181 2/10 05:38:05 0.78299 118
2/10 09:00:15 buy 1 usdjpy 118.571 2/10 15:48:52 119.394 689.26
2/10 15:30:15 buy 1 usdjpy 119.55 2/11 05:35:09 119.552 1.68
2/10 16:00:01 buy 1 eurjpy 134.98 2/10 16:02:13 135.043 52.74
2/10 17:06:35 buy 1 audjpy 92.717 2/11 11:17:18 92.81 77.7
2/11 03:30:25 buy 1 usdjpy 119.538 2/11 05:35:02 119.541 2.5
2/12 03:00:02 sell 1 audjpy 92.077 2/12 04:18:39 91.953 103.26
2/12 04:00:00 sell 1 usdjpy 120.014 2/12 04:17:54 120.083 -57.46
2/12 05:13:10 buy 1 usdjpy 120.278 2/12 05:28:28 120.278 0
2/12 07:00:30 buy 1 usdjpy 120.296 2/12 08:04:05 120.245 -42.42
2/12 07:44:18 buy 1 usdjpy 120.308 2/12 08:04:05 120.245 -52.39
小計 688.24

今週は VPS で運用している口座がときどき勝手に落ちていたのでデータがボロボロ。

VPS は使わずに裁量で運用している口座のほうを紹介します。

  1. EA でエントリして、ストップ、リミットを手動で設定
  2. 手動(一目均衡表で判断)でエントリして、ストップ、リミットを手動で設定

という2つの方法で行っています。

この口座は利益を得るためでなく、手法の研究目的で運用しています。

EA にエントリさせるのはラクチンでいいです。

放置しても勝手に決済してくれるのですが、仕事の合間にときどき見て、ストップをトレールしたりしています。

裁量をからめているわけですが、けっこう勉強になったり、新しいアイディアが浮かんだりするので、やめられません。

###

艸木虫魚 (岩波文庫) / 薄田 泣菫

艸木虫魚 (岩波文庫) 艸木虫魚 (岩波文庫)

薄田 泣菫

岩波書店 1998-09-16

売り上げランキング : 700463

 Amazonで詳しく見る

by G-Tools

★★★☆☆

高校の時の文学史の授業で名を知った、薄田 泣菫すすきだ きゅうきん)のエッセイ集。

この前、ブックオフで見つけて買いました。108円。

茶話』(「さわ」でなく「ちゃばなし」)というエッセイ集(大阪毎日新聞に連載)もありますが、その中からもいくつかこちらの本に収められています。

中国の故事とか日本の田舎の自然風景、京都の古本屋、小動物の寓話、植物の精緻な描写など、さまざまな題材をすっきりこまやかに料理しています。

オチが少ないのはしょうがないですが、題材が結構凝っていて初耳の話も多かったです。

こういうのを明治大正のインテリゲンチャは好んだんでしょうね。

あ、買わなくてもよかったようです。

こちらで全文が読めます。>艸木虫魚(青空文庫)

「茶話」も青空文庫にありますね。

天声人語なんか読むと気が狂いそうになりますので、こういう正統派のエッセイをお読みください。

###

2/11 京都水族館行ってきた

日本初の完全な人工海水利用型水族館である京都水族館に昨日カミサンと行ってきました。

人工海水は循環させて再利用しているんですね。

市立水族館ではなく、オリックスが経営しているという変わり種。

小さな建物なので、イルカプールや海獣(アシカ、アザラシ)プールは狭く、飼われている動物にとってはかなりストレスフルな感じですね。

ペンギンはちょうど散歩(特設専用コース)中でした。

とても飼育員になついています(インプリンティングのせいでしょうか)。かなり かまってもらっており、ペンギンは幸せそうでありました。

大水槽は高さ6mながら 500t と小ぶり。目の前をウツボが所在なさげに泳いでいき、珍しいものを見たなとトクをした気分。

川のジオラマにいたオオサンショウウオは見るたびに結構移動しており、意外に思いました。

クラゲも種類が多く、見応えありました。

あ、そうそうダイオウグソクムシが小さな水槽に二匹沈んでいました。メシ食っとるのかぁ。

がっかりしたこと

がっかりしたのは、3Dプロジェクションマッピングと言いながら、スクリーンに映写しているだけで、3D感もなく、プロジェクションマッピングでもないこと。

よかったこと

イルカショーを2回観て,なかなかがんばっている(イルカも人も)なあ、と感心したことでした。

イルカのワザは開店当時より進歩しているそうですから、次に来るときは楽しみです。

###

幕になるど

マクドナルドの大減益が話題になっていますが、日本人って優しいね、まだあんなものをわざわざ食べに行ってあげる人がいるとは。

私は昨年夏の期限切れ鶏肉問題で開いたアホ社長の開き直り会見で完全に見限りました。

こいつは日本人をなめている。

その後客足が減り、経営陣がどう責任をとるかと見ていたら、現場のスタッフを切るだの最悪のジタバタ。

その後トドメの異物混入騒ぎでの会見では、なんとこのアホ・カサノバ女社長はアメリカに逃亡。

代わりに出てきた日本人の重役が”タクシー会社のニセ重役”にも劣る無責任会見。取り巻きもアホばかりか。

タクシー会社のニセ重役とは事故のときに相手方に示談に行くときだけ”重役”になる人(普段はヒラの雑用係)のことね。

今月5日ようやくアホ社長が会見を開きました。

髪を短く切っていました。「ボウズちゃうんかい」とつっこみたくなりましたが。

「お客様に多大なご迷惑をかけた」と言っていたが、東京証券取引所でやったということはホンネは

「株主に多大なご迷惑をかけた」

ということが見え見え。

TVでよくやっている「ハンバーガーショップ選手権」でも必ず不参加のマクドナルド。

ある人が言うには、「うちは最高の味を提供することを目指していない」からだそうだ。

そういえばマクドナルドっていつのまにかジンジャーエールがなくなったねぇ。

藤田田さんの築いた日本マクドナルドもついに幕になるのかと思うと、ちょっとかわいそうな気がしますが、この社長ではショウガない。

###

HL Band(High Low Band) について

チャートでは HL Band というのをよく使います。

High Low Band の略で、ある期間の高値と低値とを抽出してバンド幅にするのです。

そのバンド幅を越えたら決済したりエントリしたり、というふうに活用します。

MetaTrader4 での実装方法では、

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

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

というように記述します。

説明

double は実数としての宣言で、HH2、LL2 は変数名(任意)です。

Low[]High[] というのは予約された配列で、それぞれ低値と高値を示します。

iHighest()iLowest() というのは関数で、それぞれ決められた期間中の最高値と最低値の位置を返します。

関数の引数のうち、MODE_CLOSE は終値を示す予約定数です。

MODE_OPENMODE_HIGHMODE_LOW でそれぞれ始値、高値、低値を示します。

ちなみに他の関数では PRICE_CLOSE と、アタマに PRICE がくるのに、こいつは MODE なのでよく間違います。

つまり、iHighest(NULL, 0, MODE_CLOSE, N, 2) は、現在の2本前から N 本分の終値の中から最も高いものの位置を示します。

その位置を Low[] に代入して実際の低値を出しているわけです。

たとえばこの値を 1本前の終値と比べるには、

if(Close[1] < HH2)・・・

などとすればいいわけです。

HL Band は人さまざま

上に述べたものがすべてではなく、

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

の代わりに、

  1. double HH2 = Close[iHighest(NULL, 0, MODE_CLOSE, N, 2)];
  2. double HH2 = High[iHighest(NULL, 0, MODE_CLOSE, N, 2)];
  3. double HH2 = Low[iHighest(NULL, 0, MODE_LOW, N, 2)];
  4. double HH2 = Low[iHighest(NULL, 0, MODE_HIGH, N, 2)];
  5. double HH2 = High[iHighest(NULL, 0, MODE_LOW, N, 2)];
  6. double HH2 = High[iHighest(NULL, 0, MODE_HIGH, N, 2)];

などもアリです。

それぞれ意味するものが違うわけですが、どういう意味になるか下のチャートにあてはめて考えてみてください。

###

Tannoy Mercury m2 Cherry 対 KEF Coda9

Tannoy Mercury m2 Cherry
203×380×270mm

KEF Coda9
200 x 835 x295mm

スピーカーセレクターに、タンノイ Mercury m2 Cherry KEF Coda9 を繋いで切り替えてみました。

M2 は 2ウェイ、Coda9 は 3ウェイ(2.5ウェイ)なので、やはり低域のスケール感が全然違います。

M2 は小さい割に低音は頑張っているのですが、Coda9 と比べると全然足りません。

高域はM2 のほうがクリアです。どちらにもキレはあまり感じませんが、M2 の方が全体にスッキリしています。

Coda9 は雰囲気をよく伝えて、音場も左右に広がりますが、M2 では明らかに音数が減り、音場の広がりもありません。

M2 だけを聴いていると”豊かな低音”と思えないこともなかったのですが、Coda9 との差は歴然。

オーディオファンでない人もすぐにわかったくらいです。

さすが、シャドーウーファーを有するだけはあります。

まあ、小さなブックシェルフスピーカーと大きなタワースピーカーを比べているのだから こうなって当たり前なんですが。

関連記事

###

オーディオ切替器 AVS-40

EXCEL SOUND 製。

1台のアンプに対して4組のスピーカーを切り替えられる切替器(セレクター)です。

逆につなぐと、1組のスピーカーに対して4台のアンプの切り替えができます。

比較試聴には必須のアイテムです。

2系統だと少なすぎますが、店で使うような 10-20セットの切り替えは不要(そうでもなかったりしますが・・・)なので、ちょうどよいと思っています。

しかし、もう売っていないと思います。

同等のものではいろいろありますが、やはりオーディオメーカーのものとしては下のものがよさそうです。

買い替えまではしませんが。

ラックスマン スピーカーセレクター (1台 シルバーグレー W:240xD:95xH:65mm 750g) AS-5III ラックスマン スピーカーセレクター (1台 シルバーグレー W:240xD:95xH:65mm 750g) AS-5III
ラックスマン
売り上げランキング : 22037
Amazonで詳しく見る
by G-Tools

###

平均足+バンドウォーク EA(1)

昔からよく”聖杯”と言われている、バンドウォークに飛び乗るトレンドシステムの研究です。

ADX30以上をフィルタにしている本もありますが、とりあえず簡単に始めてみます。

買いエントリ(下のすべての条件を満たす)

  1. EMA5:上向き
  2. 平均足:最低3本の陽線が連続し、その終値がボリンジャーの1σを上回る

売りエントリ(下のすべての条件を満たす)

  1. EMA5:下向き
  2. 平均足:最低3本の陰線が連続し、その終値がボリンジャーの -1σを下回る

決済(下のいずれかの条件を満たす)

  1. HLバンドトレーリングストップ
  2. 逆の平均足が2本連続

結果

うまく売買が行われているようです。

平均足の終値ですのでボリンジャーの2σを越えることはまれで、特にこの期間では全くないようです(高値にしますと 2σをよく逸脱すると思います)。

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

トレンドのない期間はさっぱりですし、あまり成績はよくありませんが、これから改良に努めます。

プログラムソース

//
// yasciiSayHi01
// 

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

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

extern int Fast_period = 14 ;
extern int BB_Period=20;
extern int MA_Period = 5 ;
double Deviation = 1.0;

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

int start(){

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

       double HA_open1 = ( Open[2] + Close[2] ) / 2.0 ;
       double HA_close1 = ( Open[1] + Close[1] + High[1] + Low[1] ) / 4.0 ;
       double HA_open2 = ( Open[3] + Close[3] ) / 2.0 ;
       double HA_close2 = ( Open[2] + Close[2] + High[2] + Low[2] ) / 4.0 ;
       double HA_open3 = ( Open[4] + Close[4] ) / 2.0 ;
       double HA_close3 = ( Open[3] + Close[3] + High[3] + Low[3] ) / 4.0 ;

     double bbp1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 1) ;
     double bbm1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 2, 1) ;

     double FastHH2 = Low[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
     double FastLL2 = High[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];

     double ema5 = iMA(NULL, 0, MA_Period, 0, MODE_EMA, PRICE_CLOSE, 1) - iMA(NULL, 0, MA_Period, 0, MODE_EMA, PRICE_CLOSE, 2);

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

   //買いエントリー
   if( ema5 > 0 
       && HA_open1 < HA_close1 && HA_open2 < HA_close2 && HA_open3 < HA_close3 
       && HA_close1 > bbp1 && HA_close2 > bbp1 && HA_close3 > bbp1
       && ( 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( ema5 < 0 
       && HA_open1 > HA_close1 && HA_open2 > HA_close2 && HA_open3 > HA_close3 
       && HA_close1 < bbm1 && HA_close2 < bbm1 && HA_close3 < bbm1
       && ( 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);

  }

###

超シンプルな自動売買プログラム ボリ平ドラゴン式 (その2)

以前ここで「超シンプルな自動売買プログラム(2) ボリ平ドラゴン式」でとりあげた ボリ平ドラゴン式 ですが、少し改良してみました。

といっても、固定ロスカットや固定プロフィット、HLバンドトレーリングストップなどを加えただけですが。

若干よくなったのですが、問題が明確に見えてきました。

この方法は ZAi FX! の記事「ネットでウワサの「ボリ平ドラゴン式」。」でも紹介されていますが、一目均衡表遅行線をドラゴンと呼び、そのドラゴンが上昇してボリンジャーバンドの3σを上抜けば買い、下行してボリンジャーバンドの-3σを下抜けば買い、とするものです。

一目均衡表では補助的に使われる遅行線は最もタイミング的には遅いシグナルを出します。

しかもプラスマイナス3σを超えるというハードな条件を設定しているために回数も減少します。

タイミングが遅れる、ハードな条件ということでダマシを減らしているつもりでしょうが、その分エントリの遅れ、利益確定の遅れが生じ、利益をとりこぼす懸念があります。

EA にしてやってみますと、ボリ平さんはスキャルピングでお使いということですが、昨年のデータでは日中足ではほとんど利益が出ません。

いろいろ改良したのですが、ドル円の日足でしかまともな利益になりませんでした。

ドル円日足 2014/1/1 – 2015/1/1

チャートを見ると、売買での利益はほとんどが8月から年末までの上昇(円安)相場で得たものです。

この時期はほぼ一方調子の上昇過程なので、ドラゴン(遅行線)がボリンジャーバンドの +3σを上抜いている期間が多いわけです。だから利益になっているということ。

言い換えると、こういう展開が少なければ儲からないわけですし、こういう相場なら他の EA の方が効率的に儲かるものが多いです。

短い日中足で使うと売買回数はうんと多くなりますが、総損益はマイナスになってしまいます。

その理由はダマシが多くて勝率が低下することと、利益確定が早すぎて勝ったときの充分な利益が得られていないことによるのではないかという印象です。

 

ボリ平ドラゴン式 にはこれとは違う逆張り方式もありますが、タイミングの遅れがさらに響きそうで、得られる利益も少なく、勝率も悪そうなので検証していません。

関連記事

超シンプルな自動売買プログラム(2) ボリ平ドラゴン式

 

プログラムソース

//
// yasciiSimple08
// ボリ平ドラゴン式(2)
//

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

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

extern int Fast_period =10;
int deviation = 3;
extern int MA_period = 20;

extern double ILC = 20.0 ;
extern double TP = 240.0 ;

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

double   OOPL;
double   OOPS;

int start()
  {

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

   double bollp3 = iBands( NULL, 0, MA_period, deviation, 0, PRICE_CLOSE, 1, 26);
   double bollm3 = iBands( NULL, 0, MA_period, deviation, 0, PRICE_CLOSE, 2, 26);

   double FastHH2 = Low[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double FastLL2 = High[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   
   if( (Close[1] < OOPL - lc*Point || Close[1] > OOPL + tp*Point || Close[1] < FastHH2 || Close[1] < Close[2])
      && (Ticket_L != 0 && Ticket_L != -1 ))
    {     
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue);
      if( Exit_L ==1 ) {Ticket_L = 0;}
    }    

   //売りポジションのエグジット
   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();
   if( (Close[1] > OOPS + lc*Point || Close[1] < OOPS - tp*Point || Close[1]  Close[2])
       && (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] > bollp3
       && ( Ticket_L == 0 || Ticket_L == -1 ) 
       && ( Ticket_S == 0 || Ticket_S == -1 ))
    {  
      Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Blue);
    }

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

###

超シンプルな自動売買プログラム(8) 3点チャージ変法

3点チャージ法という明地文男さんの開発した株式投資法があります。

昔ちょっと利用したことがあります。

大きく下げたときの買い(グランビルの”買い4”ですかね)を行う逆張り法です。

買いの条件は次の通りです。

・ 26日移動平均線からの乖離率 ≦ -15%

・ 14日 RSI ≦ 25

・ 25日ボリュームレシオ ≦ 70

売りの条件は

・ 26日移動平均線からの乖離率 ≧ -15%

・ 14日 RSI ≧ 70

・ 25日ボリュームレシオ ≧ 250

とします。

これを FX に応用しようと思ったのですが、FX では出来高がないのでボリュームレシオが計算できません。

ティックで代用するのも正確でありません。

どうせなので、この前作った Chande’s Momentum Oscillator シャンデ・モメンタム・オシレーター (CMO) を使わせていただくことに。

CMO が 30以下、70以上というふうに代用することにします(適正値はバックテストでも出しましたが大きく変わらないのでこの値を採用)。

もう一つ問題が。

乖離率が 15% を超えるなんて事態は FX では起こりません。国家倒産とか起これば別ですが。

そこで乖離率は可変にしてバックテストで適正値を決めることにしました。

さらにもう一つ問題が。

決済条件は任意ということで、決められておりません。

しょうがないので固定ロスカット、固定プロフィット、HLバンドトレーリングストップでやってみることにします。

固定ロスカット、固定プロフィットは影響がないようですが、念のため残しました。

乖離率が 1/3 になるくらいまでとかのほうがいいかもしれないと思ったので、それも加えました。

これらを組み込んで、EA を自作してみました。

次のようなところで売買が発生します。うまくいっているようです。

結果 ドル円 30分足 2014/1/1 – 2015/1/1

プロフィットファクターや勝率はそこそこいいです。

他の通貨ペアもやってみましたが、どうも金額的にはたいしたことになりません。

逆張りなのでどかんとは稼げないのはわかっていますが・・・

最大ドローダウンは低いのですが、取引数が少ないことが問題でしょうね。

2014/4/9 から 2014/10/14 まで全く売買がないです。このような”逆張り好機”がそんなに訪れないのが原因でしょう。

株なら銘柄数がFXよりはるかに多いので取引回数が多くなるでしょうから、株では非常に有効なのでしょうが。

プログラムソース

//
// yasciiSimple07
// 3点チャージ法
// cmo_s.mq4 が必要

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

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

extern int MA_period = 26;
extern int RSI_period = 14;
extern int Fast_period =10;

extern bool LastBarOnly = false; 
extern int  CMO_Range   = 25; 
extern int  Sig_Period =9;

extern double kai1level = 1.9 ;
extern double kai2level = -0.6 ;

extern double ILC = 20.0 ;
extern double TP = 40.0 ;

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

double   OOPL;
double   OOPS;

int start()
  {

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

   double sma26 = iMA( NULL, 0, MA_period, 0, 0, PRICE_CLOSE, 1) ;
   double kairi1 = 100.0 * (Close[1] - sma26) / sma26 ;
   double rsi14 = iRSI( NULL, 0, RSI_period, PRICE_CLOSE, 1) ;
   double cmo25 = iCustom( NULL, 0, "cmo_s" , LastBarOnly , CMO_Range , Sig_Period , 0, 1 ) ;

   double FastHH2 = Low[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double FastLL2 = High[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   
   if( (Close[1] < OOPL - lc*Point || Close[1] > OOPL + tp*Point || Close[1] < FastHH2 || kairi1 > kai2level /3.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( (Close[1] > OOPS + lc*Point || Close[1] < OOPS - tp*Point || Close[1] > FastLL2 || kairi1 < kai1level /3.0
)
       && (Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if( kairi1 <= kai2level && rsi14 <= 25.0 && cmo25 <= 30.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( kairi1 >= kai1level && rsi14 >= 70.0 && cmo25 >= 70.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);
  }

###

ザ・ローンチ (ザ・ローンチ 世界一効率的に億万長者になる方法) / ジェフ・ウォーカー

ザ・ローンチ (ザ・ローンチ 世界一効率的に億万長者になる方法) ザ・ローンチ (ザ・ローンチ 世界一効率的に億万長者になる方法)

ジェフ・ウォーカー

ダイレクト出版 2014

売り上げランキング : 24055

Amazonで詳しく見る

by G-Tools

★★★★☆

本屋では買えないダイレクト出版の本(こちらで買えるようです> ザ・ローンチ

プロダクト・ローンチ・フォーミュラという数年前にはやったプロモーション技法を開発したご本尊の ジェフ・ウォーカー 直筆の本。

プロダクト・ローンチは私はヤニク・シルバーのオンライン講座で知ったのですが、それからインターネットでは結構はやっていますね。

本書は、通常のローンチ(プリ・プリローンチ⇒プリローンチ⇒ローンチ)のほかに、なにもないところから始められるシード・ローンチ、リストがあれば始められるインターナル・ローンチ、リストがなくてもアイディアがあればどかんと儲かるJVローンチ、そして究極のビジネスローンチなどが載っており、なかなか盛りだくさん。

ただ、戦略的(抽象的)なことが結構多く、戦術的なことは不足しているので、他のマーケティング手法と組み合わせなくてはいけないところも多々あります。

そのへんのアレンジが現在多くの変法を生んでいる原因でしょうね。

###

眠る鬼 ― 鬼悠市 風信帖 / 高橋 義夫

眠る鬼―鬼悠市 風信帖 (文春文庫) 眠る鬼―鬼悠市 風信帖 (文春文庫)

高橋 義夫

文藝春秋 2003-05

売り上げランキング : 902051

Amazonで詳しく見る

by G-Tools

★★★★☆

高橋義夫さんの「鬼悠市 風信帖」シリーズの第一巻。

すでに三冊ほど紹介しており、順番が逆になってしまいました。

東北の松ヶ岡藩で、歴代藩主の菩提寺にある竹林に隠棲する主人公 鬼悠市は浮き組の足軽目付。

扶持が少ないので竹篭細工を藩に収める半分職人のようなことをしているが、あまりに細工が見事なためその籠は他藩に高価な値で売られている。

そのため藩内より江戸での名声が高いという変わった人物。

裏では奥山流の遣い手で、直接の上司である奏者番加納正右衛門から密命を下されると、暗殺、諜報、上意討ちなどの仕事も行うという、なにやら東北の必殺仕事人といった境遇。

周囲を取り巻く人物も個性豊かで楽しく読めまする。

おっと、第2巻の『かげろう飛脚―鬼悠市 風信帖』をまだ買っていなかった。

加納は獣の奏者ではなく、鬼の奏者なんだな。

関連記事

###

FX 「シグナル」を先取りして勝つ! -稼ぐ人はなぜ相場の動きを読めるのか? / 松田 哲

FX 「シグナル」を先取りして勝つ! -稼ぐ人はなぜ相場の動きを読めるのか?- FX 「シグナル」を先取りして勝つ! -稼ぐ人はなぜ相場の動きを読めるのか?-

松田 哲

技術評論社 2009-01-09

売り上げランキング : 94890

Amazonで詳しく見る

by G-Tools

★★☆☆☆

技術評論社の本はつい点が甘くなってしまうのですが、この本はちと中身が薄いような。

前半はごく一般的な説明で、特殊な”FXシグナル”とやらが出てくるのかと思ったらスカっとかわされた格好に。

後半は著者オリジナルの「東京ニューヨーク・ローソク足チャート」の解説ですが、長々と解説している割には心に響くものがありません。

ほんとうに有効なのかどうなのかもわからない。

ロンドン時間を無視するという着想はなかなかオリジナリティがありそうですが、東京時間を元に値幅を決めてニューヨーク時間でレンジブレイクに付いていくというのは比較的ポピュラーな方法ですしね。

ということで、前半だけ立ち読みしても結構です。

後半を読むよりは、ロブ・ブッカーさんのNYボックス(NY時間前のレンジを基準にNY時間にレンジブレイクを仕掛ける)を身につける方がいいと思いますね。

###

超シンプルな自動売買プログラム(7) はらみ線(はらみ足)

超シンプルな自動売買プログラムとして、日本古来のローソク足での定番「はらみ足」を利用したものをご紹介します。

孕石(はらみいし)は女性の間では有名ですが、はらみ足(はらみ線)とは1本前のローソク足の実体の中に次の足の実体が含まれるもの。

ラリー・ウィリアムズも信奉しているくらいポピュラーなものです。

はらみ足のうち、「陽の陰はらみ」と「陰の陽はらみ」を売買シグナルにした EA を作ってみました。

そのままだと成績がいまいちなので、「陰の陽はらみ」では「その前が陰線」、「陽の陰はらみ」には「その前が陽線」という前提を加えたところ、いい結果に。

決済条件は損切り 20pips固定、利益確定 40pips固定のみとしました。

ドル円 5分足(2014/1/1 – 2015/1/1)

 

え、「たいしたことないじゃないか」って?

いえ、私が気に入っているのは、

  1. 5分足という短い時間足であること
  2. グラフの前半のドル円相場がトレンドでない時期にもそこそこ稼げている
  3. むしろ後半の強い上昇トレンドでは成績がふるわない

という、これまで私の作ってきた EA とは真逆の性格を持っているからです。

もうちょっと研究してみます。

ちなみに、損切り 50pips、利益確定 420pips とすると、下のように売買回数がぐんと少なくなりますが、最大ドローダウンをそのままに利益を伸ばせます。

ただポジションの保有時間が長くなります(最大7ヶ月)。

プログラムソース

//
// yasciiSimple06
// はらみ足
//

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

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

extern double ILC = 20.0 ;
extern double TP = 40.0 ;

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

int start()
  {

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

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

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   
   if( (Close[1] < OOPL - lc*Point || Close[1] > OOPL + tp*Point)
      && (Ticket_L != 0 && Ticket_L != -1 ))
    {     
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue);
      if( Exit_L ==1 ) {Ticket_L = 0;}
    }    

   //売りポジションのエグジット
   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();
   if( (Close[1] > OOPS + lc*Point || Close[1] < OOPS - tp*Point)
       && (Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if( Close[1] > Open[1] && Close[2] < Open[2] && Close[3] < Open[3] && Close[3] > Close[2]
       &&  Close[2] < Open[1] && Open[2] > Close[1]
       && ( Ticket_L == 0 || Ticket_L == -1 ) 
       && ( Ticket_S == 0 || Ticket_S == -1 ))
    {  
      Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Blue);
    }

   //売りエントリー
   if( Close[1] < Open[1] && Close[2] > Open[2] && Close[3] > Open[3] && Close[3] < Close[2]
       &&  Close[2] > Open[1] && Open[2] < Close[1]
       && ( Ticket_S == 0 || Ticket_S == -1 )
       && ( Ticket_L == 0 || Ticket_L == -1 ))
    {   
      Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Red);     
    } 

   return(0);
  }

###

2015年2月アメリカ雇用統計

昨日のドル円相場です。

すごいでしょ。昇り龍みたいですね。

第一金曜日の夜は毎月恒例のアメリカ雇用統計の発表です。

NHKによると、

6日のニューヨーク外国為替市場は、この日発表された先月のアメリカの雇用統計で市場が注目していた農業分野以外の就業者の数が市場の予想を上回ったことから、雇用環境は順調に改善しているという受け止めが広がりました。
このためドルを買って円を売る動きが加速し、円相場は一時1ドル=119円23銭をつけ、統計の発表前と比べておよそ2円値下がりしました。

ということで、私はウォッチしておりませんでしたが、いつも以上の過熱ぶり。

値幅もすごいが、いつも見られる「揺り戻し」がほとんどなかったですね。

値幅がすごいのはそれまで 2週間くらいがほぼフラットな状態で、売り買い均衡しており、エネルギーも邪念もたまりにたまっていたからでしょう。

サブウィンドゥは自作の BBW ratio ですが、シグナルを下抜けた時点で利益確定というセオリーがここでも有効のようです。

自作の自動売買ソフト(EA) たちがどんな反応を見せたかというと、なんと VPS が止まっていたのです。

今借りている VPS はこれまでに 10回近く MetaTrader4 が勝手に終了されていることがあり、サーバーに接続できないことさえありました。

どうも信用ならないので新しい業者を物色しています。

ヤレヤレダゼェ。

###

Chande’s Momentum Oscillator シャンデ・モメンタム・オシレーター

シャンデモメンタムオシレーター(CMO と略される)という指標が本に載っていました。

アメリカの Tushar S. Chande が発表したようで、オシレーター系指標の一つです。

CMOの計算式は次のようになります。

CMO(N) = (CMO1 – CMO2) ÷ (CMO1 + CMO2) × 50 + 50

N = 指標の設定期間

CMO1 = N日間で前日比プラスとした日の値幅合計

CMO2 = N日間で前日比マイナスとした日の値幅合計

RSI(相対力指数)と似ています。

RSIと異なり、値幅を評価しているのでトレンドの強弱を知ることができるのが強みです。

ネットに転がっている CMO はシグナルのない1本線で、スケールも -100~100 とやや異なるので、改造してみました。

一番下のサブウィンドウが CMO です。一つ上は BBW ratio ですね。

CMO も 70 以上で買われすぎ、30以下で売られすぎ。

シグナルとクロスしたゴールデンクロス、デッドクロスは売買シグナルに使えます。

  • 70 以上でデッドクロスは売り
  • 30以下でゴールデンクロスは買い

 

です。

プログラムソース

//+------------------------------------------------------------------+
//|                          Chande's Momentum Oscillator  CMO_S.mq4 |
//+------------------------------------------------------------------+

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Orange
#property indicator_color2 Violet
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_level1   50

//---- input parameters
extern bool LastBarOnly = false;
extern int  CMO_Range   = 20;
extern int  Sig_Period =9;
//---- buffers
double CMO_Buffer[];
double CMO_signal[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
 {
//---- indicators
  IndicatorBuffers(2);
  IndicatorShortName("Chande`s Momentum Oscillator (" + CMO_Range + ")");
  SetLevelStyle(STYLE_DASHDOT, 1, DodgerBlue);
  SetIndexStyle(0, DRAW_LINE);
  SetIndexLabel(0, "CMO");
  SetIndexBuffer(0, CMO_Buffer);
  SetIndexDrawBegin(0, CMO_Range);
  SetIndexBuffer(1, CMO_signal);
  SetIndexDrawBegin(1, CMO_Range);
  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, cnt_bars;
   double dif_close, cmo_up, cmo_dw;
   static bool run_once;
   if(counted_bars < 0)
     {
       return(-1);
     }
   Limit = Bars - counted_bars;
// run once on start
   if(run_once == false)
       cnt_bars = Limit - CMO_Range;
   else
      if(LastBarOnly == false)
          cnt_bars = Limit;
      else
          cnt_bars = 0;
//----
   for(i = cnt_bars; i >= 0; i--)
     {
       cmo_up = 0.0;
       cmo_dw = 0.0;
       //----
       for(j = i + CMO_Range - 1; j >= i; j--)
         {
           dif_close = Close[j] - Close[j+1];
           if(dif_close > 0)
               cmo_up += dif_close;
           else
               if(dif_close < 0)
                   cmo_dw -= dif_close;
         }
       CMO_Buffer[i] = 50.0 +50.0 * (cmo_up - cmo_dw) / (cmo_up + cmo_dw);
     }
   for (i=cnt_bars - Sig_Period; i>=0; i--)
      {
         CMO_signal[i] = iMAOnArray(CMO_Buffer,0,Sig_Period,0,MODE_EMA,i);

      }
//----
   if(run_once == false)
       run_once = true;
//----
   return(0);
  }

###

Seagate HDD また一位

オンラインストレージサービスBackblazeが実際に使用した200種類(合計約4万台)のハードディスク運用データをいつも公表してくれています。

2015年2月最新版ではまたまた Seagate が故障率一位に。

以前より故障率が上がっているような・・・

2014年9月

 

Seagate のHDDは一般消費者向けの2倍以上の値段のプロ版も故障率はほとんど変わらないそうです(むしろ一般消費者向けの方がわずかに故障しにくかったとか)。

私も 15年くらいは Seagate は指名買いしておりませんが、DELL のパソコンを買うと中身が Seagate か WD なので、うちにはたくさんあります。

Hitachi (HGST) は少し高いのですが、結局これを買うのが一番安くあがりますね。

###

シャフトレンドサイクルをエントリで使う

シャフトレンドサイクルをフィルタで使うととてもいい感触があるのでいろいろ改造中です。

これをエントリシグナルで使うのも捨てがたいのです。

いろいろつけますと、取引回数がどんどん減っていきますが、プロフィットファクターや勝率はなかなかいいところまでいきます。

たとえば下はシャフでエントリしているのですが、一目均衡表のルールをフィルタに使っています。

「一目均衡表のルールでエントリしてシャフでフィルタリングする」よりはいいかもしれません。

プログラムソース

//
// yasciiSB01c.mq4
// シャフでエントリ 一目をフィルタ的に適用
//

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

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

extern int Fast_period = 12 ;
extern int Slow_period = 38 ;

//---- input parameters
extern int MA_Short= 5;
extern int MA_Long = 10;
extern int MA_Cycle=5;
extern int SigPeriod=3;

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

extern double ILC = 20.0 ;

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

double   OOPL;
double   OOPS;

int start()
  {

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

   double STC1 = iCustom(NULL , 0, "Downloads\\STC_pure_S" ,  MA_Short , MA_Long , MA_Cycle , 0, SigPeriod , 0, 1) ;
   double STCSIG1 = iCustom(NULL, 0, "Downloads\\STC_pure_S" , MA_Short , MA_Long , MA_Cycle , 0, SigPeriod , 1 , 1) ;
   double STC2 = iCustom(NULL, 0, "Downloads\\STC_pure_S" , MA_Short , MA_Long , MA_Cycle , 0, SigPeriod , 0 , 2) ;
   double STCSIG2 = iCustom(NULL, 0, "Downloads\\STC_pure_S" , MA_Short , MA_Long , MA_Cycle , 0, SigPeriod , 1 , 2) ;

   if (STC1<1.0) STC1 = 0.0 ;
   if (STC2<1.0) STC2 = 0.0 ;
   if (STCSIG1<1.0) STCSIG1 = 0.0 ;
   if (STCSIG2<1.0) STCSIG2 = 0.0 ;
   if (STC1>99.0) STC1 = 100.0 ;
   if (STC2>99.0) STC2 = 100.0 ;
   if (STCSIG1>99.0) STCSIG1 = 100.0 ;
   if (STCSIG2>99.0) STCSIG2 = 100.0 ;          

   double FastHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double FastLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 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 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 lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

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

   //買いエントリー
   if(    STC1 > 0.0 && STC1 > STC2 && STCSIG1 < STCSIG2 
       && (Close[1]> cla1 && Close[1]>clb1 && ten1 > kij1)
       && ( 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(    STC1 < 99.0 && STC1 < STC2 && STCSIG1 > STCSIG2
       && (Close[1] < cla1 && Close[1] < clb1 && ten1 < kij1)
       && ( 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);
  }

###

2015年1月ドル円の動向(FX)

2015年1月ドル円の動向(FX)ですが、レンジ相場に入っており、私の作った EA たちも利益を上げられておりません。

まあ、トレンド相場用の EA ばかりなのでしょうがないです。

上記は4時間足ですが、このような三角保ち合いが2週間続いているのです。

それにしてもきれいなチャートです。

そろそろ上下どちらかに行きそうな気配ですが。

去年後半からの相場を日足で見てみても、大きなトレンドが 1月16日から雲の中に突入しており、”Don’t trade” 状態になっていることがわかりますね。

上に抜ける(円安促進)と上昇は続きそうですが、円高に動いた場合は下の雲は厚いのでフェイクに終わりそうな気もします。

ということで、リアル口座でのトレードはまだ行っておりません。

デモ口座で利益が上がりそうなトレンド相場が来てからの参戦です。

###

DDOS 攻撃

昨日からこのサーバー(レンタル)が DDOS攻撃を受けているらしく、ウェブはそこそこ見られますが、FTP がつながりにくくて困っています。

今は少し改善しているようですが、困ったものです。

対策しようがないですしねぇ。

###

 

 

ターナーの短期売買革命――新株式市場を攻略する全テクニック / トニ・ターナー

ターナーの短期売買革命――新株式市場を攻略する全テクニック (ウィザードブックシリーズ) ターナーの短期売買革命――新株式市場を攻略する全テクニック (ウィザードブックシリーズ)

トニ・ターナー 長尾慎太郎

パンローリング 2008-07-11

売り上げランキング : 565599

Amazonで詳しく見る

by G-Tools

★★★☆☆(パンローリングだからか、ちょっと高すぎ)

ずいぶん昔に読んだ本。

以前読んだときはよく理解できたとは言い難かったです。

もう一度読みましたが、ごく基本的なことが書かれているのでびっくりしました。

革命的なことではなく、ほんとうに基本的なことが網羅的に書かれており、初心者向けです。

少なくともこの本に書いてあることくらいは理解できないと株を買ってはいけません。

###

]]>

ターナーの短期売買革命――新株式市場を攻略する全テクニック / トニ・ターナー

ターナーの短期売買革命――新株式市場を攻略する全テクニック (ウィザードブックシリーズ) ターナーの短期売買革命――新株式市場を攻略する全テクニック (ウィザードブックシリーズ)

トニ・ターナー 長尾慎太郎

パンローリング 2008-07-11

売り上げランキング : 565599

Amazonで詳しく見る

by G-Tools

★★★☆☆(パンローリングだからか、ちょっと高すぎ)

ずいぶん昔に読んだ本。

以前読んだときはよく理解できたとは言い難かったです。

もう一度読みましたが、ごく基本的なことが書かれているのでびっくりしました。

革命的なことではなく、ほんとうに基本的なことが網羅的に書かれており、初心者向けです。

少なくともこの本に書いてあることくらいは理解できないと株を買ってはいけません。

###

インサイレント Insilence

インサイレント インサイレント

STEVE RAIMAN ミュージック・セラピー

サウンド・デザイン 1996-03-25

売り上げランキング : 1239624

Amazonで詳しく見る

by G-Tools

★★★☆☆(意外といい)

サウンド・デザインというと私はフルデジタルアンプのメーカーをまっさきに思い浮かべますが、こちらのサウンド・デザイン(レーベル)は別会社です。

宗次郎のディスクでよく見るレーベルです。

Insilence というミススペルと和訳の「インサイレント」という文法無視のタイトルがいかにもこの会社の体質を表していそうですが。

このCDは柴田敬一がらみで購入。さすが繊細なメランコリックさを聴かせてくれます。

Steve Raimanエアー・エレメントMESA松本としかずの CD は持っていないのでなかなか新鮮でした。

世の中にはあまり知られていない名曲がたくさんあるものです。

曲目リスト

1. オール・ザット・アイ・シー (Steve Raiman)

2. マインドトラベル (エアー・エレメント)

3. アンジェリカ (MESA)

4. 朝の輝き (宗次郎)

5. マレーの星 (喜多郎)

6. マンダリア (松本としかず)

7. 森の童遊び (柴田敬一)

8. コーリング・フォー・ユー(Steve Raiman)

9. 道 (宗次郎)

10. アフター・ザ・レイン(Steve Raiman)

11. ブレスレス (MESA)

関連記事

【謎の円盤】 彩 自然コレクション‘86

###

一目均衡表 改良の試み

前回の記事「超シンプルな自動売買プログラム(6) 簡単な一目均衡表」で紹介したプログラムを改良してみました。

まだロスカットはつけておりませんが、HLバンドによるトレーリングストップシャフトレンドサイクルフィルタをつけました。

職場のPCでテストをしたらものすごくいい結果が出ましたが、帰宅してから別のPCでやると悪い結果が。

おまけにプログラムにもバグがあり、修正しましたが、結局オリジナルより悪い結果となりました。

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

プログラムかバックテスターのミスあるいはその両方だったようです。

バグにしてももう一度現れてほしいものです。

関連記事

超シンプルな自動売買プログラム(6) 簡単な一目均衡表

プログラムソース

//
// yasciiIchimoku03
//           一目均衡表 + HL trailing stop + STC filter
//         Indicators\Downloads フォルダに STC_pure_S.mq4 を入れてください

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

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

extern int MA_Short=3;
extern int MA_Long=10;
extern int MA_Cycle=5;
int PriceType=0;
extern int SigPeriod=3;

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 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 FastHH2 = Low[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
     double FastLL2 = High[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];

     double stc1 = iCustom(NULL,0,"Downloads\\STC_pure_S",MA_Short,MA_Long,MA_Cycle,PriceType,SigPeriod,0,1);
     double stc2 = iCustom(NULL,0,"Downloads\\STC_pure_S",MA_Short,MA_Long,MA_Cycle,PriceType,SigPeriod,1,1);

   //買いポジションのエグジット
    OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
    OOPL = OrderOpenPrice();
    if( 
            ten1 < kij1 || Close[1] < cla1 || Close[1] < clb1 || Close[1] < FastHH2
            && ( 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 || Close[1] > FastLL2
          && ( 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 && stc1 > stc2
       && ( 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 && stc1 < stc2
       && ( 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);

  }

###

【謎の円盤】 彩 自然コレクション‘86

★★★☆☆

CD番号:P30S 20035。

amazonにデータがありません。廃盤中でしょう。

1986年に Shizen というニューニュージックのレーベルから発売。

そこから出ている 4人のアーティストのアルバムからそれぞれ 2曲ずつとったオムニバス。

宗次郎の CD はうちにも 20枚くらいありますが、故・柴田敬一の曲が入っているので買いました。

柴田敬一の代表作『ライツ・アンド・シャドウズ』はもちろん持っているので、別に買う必要はないのですが。

濱瀬元彦(g) と 熱田公紀(p) の CD は持っていないので、まあ、トクをした気分。

実に不思議でノスタルジックな味わいの一枚。

曲目リスト

  1. 幸福の朝(宗次郎『グローリー』)
  2. ライツ・アンド・シャドウズ(柴田敬一『ライツ・アンド・シャドウズ』)
  3. トゥリー(濱瀬元彦『レミニッセンス』)
  4. 牧歌(熱田公紀『クリスタル・ドリーム』)
  5. チャイルドフッド(濱瀬元彦『レミニッセンス』)
  6. 子供たちのシルエット(熱田公紀『クリスタル・ドリーム』)
  7. 故郷の小径(宗次郎『グローリー』)
  8. 夜のとばり(柴田敬一『ライツ・アンド・シャドウズ』)

関連記事

###

超シンプルな自動売買プログラム(6) 簡単な一目均衡表

みんなが好きな 一目均衡表 は誰もが使えます。

同時にいくつものサインが重なって出ることが多いので、安心してエントリとエクシットが可能ですね。

そのエッセンスだけを自動売買ソフトに組み込んでみました。

買いエントリ

転換線が基準線を上回る & 終値が雲を上に突き抜ける

売りエントリ

転換線が基準線を下回る & 終値が雲を下に突き抜ける

決済

転換線が基準線とクロス or 終値が雲に突入

さて、結果は。

どの通貨ペアも 1時間足か 4時間足の成績がいい傾向にあります。

結果(ドル円 1時間足 2014/1/1 – 2015/1/1)

○印が売買の行われた部分。

上は資金1万$の口座で、取引ロットを10万通貨にした場合の結果ですが、ロットを1万通貨にしますと、

  • 最大ドローダウンは 14.35(%) ⇒ 2.52(%)
  • 総損益は 10235(ドル) ⇒1023(ドル)

になります。

私の作る EA の中でも まあ標準的な成績です。

ただ、これはまだロスカットもなにもつけておりません。

いろいろつけると成績はどんどん悪くなることが多いです(よくなることもありますが)。

関連記事

//
// yasciiIchimoku01
//           一目均衡表 
//   

//マジックナンバーの定義
#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 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
       && ( 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
       && ( 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コーチが教えるフォロートレード / 齊藤トモラニ

簡単サインで「安全地帯」を狙うFXデイトレード FXコーチが教えるフォロートレード (Modern Alchemists Series No. 119) 簡単サインで「安全地帯」を狙うFXデイトレード FXコーチが教えるフォロートレード (Modern Alchemists Series No. 119)

齊藤トモラニ

パンローリング 2013-11-16

売り上げランキング : 6690

Amazonで詳しく見る

by G-Tools

★★☆☆☆(う-ん、使えるかな)

RSI(パラメーターに 14でなく9を使用) にボリンジャーバンド(主にセンターボリンを活用)を使用した方法を披露。

RSI などの指標にボリンジャーを適用したり、移動平均線を作ったり、トレンドラインを引くことはよくあるので、特に目新しいことではありません。

このトレード法については結果のデータが少ない(半年間のデータしかない)のと、裁量(例外規則)が多すぎる印象です。

この方法の優位性についての理論的説明が乏しいですね。

ダイバージェンスまではいいのですが、著者が重視しているという「チク」については説明もない。

この「チク」は RSI が RSI のセンターボリン越えを打診する動きのことですが、多くのトレーダーが意識している現象でもないし、瞬間の売買バランスのわずかな乱れにしかすぎないように思うのですが。

この方法がなぜうまくいくのかがわからないと、うまくいかない場合の原因もわかりませんし、大切なお金と時間をかける気にはなれないのです。

せめて 5年間とかいう実績があれば別ですが。

2回読みましたが、サブタイトルにある「安全」と「簡単」の根拠が今ひとつよくわからなかったですね。

もっと簡単で安全な方法はほかにもたくさんあります。

###

超シンプルな自動売買プログラム(5) MACD&RSI(続き)

稼ぐ人のFX 儲けの流儀 (超トリセツ) 稼ぐ人のFX 儲けの流儀 (超トリセツ)

バウンド

インターナショナル・ラグジュアリー・メディア 2012-03-23

売り上げランキング : 186567

Amazonで詳しく見る

by G-Tools

前回紹介した「稼ぐ人のFX」というMOOKの第一号の多田さんの手法ですが、

MACD&RSI

  1. MACD のシグナルとのクロス
  2. RSI の値(70以上で売り、30以下で買い
  3. ローソク足のパターン

で2のRSI の値(70以上で売り、30以下で買い)を、「70以下で売り、30以上で買い」としたほうがいい成績になります。

70以上で買い、30以下で売り」とするとちょっと驚くような結果になります。

やはり、誤植ではないのでしょうか。

ドル円の日足に最適化すると「49以上で買い、28以下で売り」がベストとなります。

ドル円日足(2014/1/1-2015/1/1)

70以上で売り、30以下で買い 30以上で買い、70以下で売り 70以上で買い、30以下で売り 49以上で買い、28以下で売り
総損益 -1695 8487 7263 11630
プロフィットファクター 0 1.83 65.31 6.97
勝率 0 51.72 85.71 50
最大ドローダウン 17.92 14.77 9.46 15.09
最大勝ち 0 7216 4279 7511
最大負け -1695 -1905 -112 -483
勝ち 0 30 6 10
負け 1 28 1 10
取引数 1 58 7 20

関連記事

超シンプルな自動売買プログラム(4) MACD&RSI

###

]]>

超シンプルな自動売買プログラム(5) MACD&RSI(続き)

稼ぐ人のFX 儲けの流儀 (超トリセツ) 稼ぐ人のFX 儲けの流儀 (超トリセツ)

バウンド

インターナショナル・ラグジュアリー・メディア 2012-03-23

売り上げランキング : 186567

Amazonで詳しく見る

by G-Tools

前回紹介した「稼ぐ人のFX」というMOOKの第一号の多田さんの手法ですが、

MACD&RSI

  1. MACD のシグナルとのクロス
  2. RSI の値(70以上で売り、30以下で買い
  3. ローソク足のパターン

で2のRSI の値(70以上で売り、30以下で買い)を、「70以下で売り、30以上で買い」としたほうがいい成績になります。

70以上で買い、30以下で売り」とするとちょっと驚くような結果になります。

やはり、誤植ではないのでしょうか。

ドル円の日足に最適化すると「49以上で買い、28以下で売り」がベストとなります。

ドル円日足(2014/1/1-2015/1/1)

70以上で売り、30以下で買い 30以上で買い、70以下で売り 70以上で買い、30以下で売り 49以上で買い、28以下で売り
総損益 -1695 8487 7263 11630
プロフィットファクター 0 1.83 65.31 6.97
勝率 0 51.72 85.71 50
最大ドローダウン 17.92 14.77 9.46 15.09
最大勝ち 0 7216 4279 7511
最大負け -1695 -1905 -112 -483
勝ち 0 30 6 10
負け 1 28 1 10
取引数 1 58 7 20

関連記事

超シンプルな自動売買プログラム(4) MACD&RSI

###

超シンプルな自動売買プログラム(4) MACD&RSI

稼ぐ人のFX 儲けの流儀 (超トリセツ) 稼ぐ人のFX 儲けの流儀 (超トリセツ)

バウンド

インターナショナル・ラグジュアリー・メディア 2012-03-23

売り上げランキング : 186567

Amazonで詳しく見る

by G-Tools

前回と前々回紹介した「稼ぐ人のFX」というMOOKの第一号に多田さんというトレーダーの手法が載っていました。

MACD&RSI

  1. MACD のシグナルとのクロス
  2. RSI の値(70以上で売り、30以下で買い)
  3. ローソク足のパターン

で売買シグナルとエクシットを決めるものです。

下のようにプログラムしてテストしてみましたが、さっぱりいい成績が出ませんでした(2014/1/1-2015/1/1)。

売買回数がどれもヒトケタで少なすぎます。

エントリ条件を少しゆるめてみても同じ。

どこか間違っているのでしょうか。

関連記事

超シンプルな自動売買プログラム(3) クラウドブレイク

超シンプルな自動売買プログラム(5) MACD&RSI(続き)

プログラムソース

//
// yasciiSimple04  MACD & RSI
//
//マジックナンバーの定義
#define MAGIC  42105        
//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  "Simple03"; //コメント
extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int RSI_Period = 14;
//変数の設定//
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 MACD_Main1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
   double MACD_Sign1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
   double MACD_Main2 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 2 );
   double MACD_Sign2 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 2 );
   double RSI1 = iRSI(NULL,0,RSI_Period,PRICE_CLOSE,1);
   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   
   if( RSI1 >= 70.0 
      || MACD_Main1 < MACD_Sign1 
      || MathAbs(Close[1]-Open[1]) > 2.0*MathAbs(Open[2]-Close[2])
      || MathAbs(Close[1]-Open[1])< 0.25*MathAbs(Close[2]-Open[2])
      && (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( RSI1 <= 30.0 
      || MACD_Main1 > MACD_Sign1 
      || Close[1] >Open[1] && Close[2] >Open[2]
      || MathAbs(Open[1]-Close[1])> 2.0 * MathAbs(Open[2]-Close[2])
      || MathAbs(Close[1]-Open[1])< 0.25*MathAbs(Close[2]-Open[2])
       && (Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   
   //買いエントリー
   if( RSI1 <= 30.0 
       &&  MACD_Main1 > MACD_Sign1 && MACD_Main2 < MACD_Sign2
       && Close[1] > Open[1] && Close[2] > Open[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( RSI1 >= 70.0 
       &&  MACD_Main1 < MACD_Sign1 && MACD_Main2 > MACD_Sign2
       && Close[1] < Open[1] && Close[2] < Open[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);
  }
  

###

超シンプルな自動売買プログラム(3) クラウドブレイク

稼ぐ人のFX 儲けの流儀 (超トリセツ) 稼ぐ人のFX 儲けの流儀 (超トリセツ)

バウンド

インターナショナル・ラグジュアリー・メディア 2012-03-23

売り上げランキング : 186567

Amazonで詳しく見る

by G-Tools

前回紹介した「稼ぐ人のFX」というMOOKの第一号に富永さんというトレーダーの手法も載っていました。

クラウドブレイク

  • 買い:平均足が雲を上抜ける
  • 売り:平均足が雲を下抜ける
  • 決済:平均足が連続して逆転したとき または 大きな実態の逆の足が出たとき

私の作った平均足システムにクラウドフィルタを適用したものとロジックは似ていますが、こちらのほうがよりシンプルで厳格です。

早速 EAに組み込んでテストしてみました。

ドル円 4時間足での成績がもっともましのようです。

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

ちなみに私の平均足+クラウドフィルター(最大ドローダウンがほぼ同じようになるようにロット数を7割に削減)では

プロフィットファクターもそうですが、取引数が大きく違いますね。それが収益に大きく関わっています。

詳しく見てみると、富永さんのクラウドブレイクでは

○印が売買ポイントと決済ポイントを示しています。

私の平均足+クラウドフィルターでは細かく売買を繰り返しています。

富永さんのクラウドブレイクのほうがエントリと決済の条件が厳格なだけ、取りこぼしが多いようですね。

関連記事

超シンプルな自動売買プログラム(2) ボリ平ドラゴン式

プログラムソース(平均足クロス+クラウドフィルター)

//
// yasciiHA04.mq4
//           Heiken_Ashi_Real(移動平均線クロス)を使用
//         通常平均足との組み合わせ Cloud filter

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

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

extern int Fast_period = 14 ;
extern double margin = 0.0 ;

extern double ILC = 20.0 ;

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(){

    //暴落対策(始め)

   double FastHH1 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
   double FastLL1 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 1)];

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

   //暴落対策(終わり)

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

       double HA_open1 = ( Open[2] + Close[2] ) / 2.0 ;
       double HA_close1 = ( Open[1] + Close[1] + High[1] + Low[1] ) / 4.0 ;
       double HA_open2 = ( Open[3] + Close[3] ) / 2.0 ;
       double HA_close2 = ( Open[2] + Close[2] + High[2] + Low[2] ) / 4.0 ;
       double HA_openMA1 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",2,1);
       double HA_openMA2 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",2,2);
       double HA_closeMA1 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",3,1);
       double HA_closeMA2 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",3,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 lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   //買いポジションのエグジット
    OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
    OOPL = OrderOpenPrice();
    if(    ((HA_openMA1 > HA_closeMA1 && HA_openMA2 > HA_closeMA2) || ( HA_open1 > HA_close1 && HA_open2 > HA_close2) ||( OOPL - lc*Point >= Close[1] ) ) //|| ( OOPL+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;}
    }    

   //売りポジションのエグジット
     OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
     OOPS = OrderOpenPrice();
   if(    ((HA_openMA1 < HA_closeMA1 && HA_openMA2 < HA_closeMA2)||( HA_open1 < HA_close1 && HA_open2 < HA_close2)||( OOPS + lc*Point <= Close[1] ) ) //|| ( OrderOpenPrice()-TP >= Close[1] ))
          && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Aqua);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if( HA_openMA1 < HA_closeMA1 && HA_openMA2 < HA_closeMA2 && HA_open1 < HA_close1// && HA_open3 < HA_close3 && HA_close1 > HA_close2 && HA_close2 > HA_close3
       //&& (Close[1]> cla1 && Close[1]>clb1)
       && ((Close[1]> cla1 && Close[1]>clb1)||(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( HA_openMA1 > HA_closeMA1 && HA_openMA2 > HA_closeMA2 && HA_open1 > HA_close1 // && HA_open3 > HA_close3 && HA_close1 < HA_close2 && HA_close2 < HA_close3
       //&& (Close[1]< cla1 && Close[1]<clb1)
       && ((Close[1]> cla1 && Close[1]>clb1)||(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,Aqua);     
    } 

   return(0);
  }

###