*

超シンプルな自動売買プログラム(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);
  }

###

関連記事

[FX] 3本の RCI を使った自動売買プログラム (2)

4年ほど前の記事「 3本の RCI を使った自動売買プログラム ys3RCI001a.ex4」の続き

記事を読む

[FX] Tokyo Box(ロンドン・コーリング)プログラムにトレーリングストップをつける(3)

昨日の記事「 Tokyo Box(ロンドン・コーリング)プログラムにトレーリングストップをつける(2

記事を読む

【FX】平滑化 RSI を使った簡単な EA(2)

「【FX】平滑化 RSI を使った簡単な EA」の続きです。 RSIMA(アールシーマ)と呼んでい

記事を読む

2015/5/8 米国雇用統計 / EA 開発

2015/5/8 は毎月一回の米国雇用統計の発表の日でした。 今回はドル安に吹っ飛びましたネ。

記事を読む

[FX] Tokyo Box(ロンドン・コーリング) の新作プログラム

以前、ロンドン・コーリングとか Tokyo Box、東京BOXブレイクアウト  とか呼ばれて

記事を読む

【FX】Forex99 という EA

前回の記事「【FX】ケルトナー チャネル」の続きです。 Keltner channel のブレ

記事を読む

税の世界の裏のウラ―現役税理士が本音で明かす / 日経ベンチャー

税の世界の裏のウラ―現役税理士が本音で明かす (学研M文庫) 日経ベンチャー

記事を読む

nanaco カードを作りましょう(おトクな方法)

* 私は週に3回はセブンイレブンに行きます。 新生銀行、りそな銀行、滋賀銀行、関西アーバン銀

記事を読む

MTF Forex Freedom Bar の威力

前回は 15分足というのんびりモードですが、せっかちな人はもっと短い時間足をお使いでしょう。

記事を読む

【FX】Black Diamond V4 という EA

Black Diamond V4 という EA については以前も触れました。 最新の Blac

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

【FX】AXI Select 21日目

昨日の続きです。 実は昨夜のうちに利益目標の 7% を超えちゃい

【FX】AXI Select 20日目

AXI Select とは AXI Select とは AXI とい

【FX】高頻度トレーダー(HFT)タイプの EA の評価方法

EA とは MT4 というソフト上で動く自動売買ソフトのことです。

名曲『クリスマスの響き』 / KOKIA

クリスマスアルバムと銘打ったCDはたくさん持っているのですが、最近は

整備済み品東芝製ハードディスク届きました

整備済み品東芝製ハードディスク届きましたが、プチプチ封筒に素(す)で

→もっと見る

  • アクセスカウンター
PAGE TOP ↑