*

超シンプルな自動売買プログラム(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】高頻度トレーダー(HFT)タイプの EA の評価方法(2)

以前の記事「【FX】高頻度トレーダー(HFT)タイプの EA の評価方法」の続きです。 そこでは高

記事を読む

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

前回の記事「アンディさんのリアルタイム雲」で紹介したリアルタイム雲 ですが、本日ちょっと使ってみたと

記事を読む

【FX】ForexTrend というインジケーター

ForexTrend というインジケーターがなかなか不思議なので、調べてみました。 実行ファイ

記事を読む

[FX]時の旅人 試運転 1日目

時の旅人システム 昨日から24時間ほど自作の「時の旅人システム」の試運転をした結果です。 「

記事を読む

熊本地震とふるさと納税

熊本や大分への被災地への寄付ですが、ふるさと納税を利用してもできます。 その場合は「お礼なし」

記事を読む

[FX] VQ を使った5分足システムの試作(2) 半値をプラス

前回の記事「 VQ を使った5分足システムの試作(1)」 ですが、マルチタイムフレーム(MTF)

記事を読む

[FX]冬時間から夏時間への切り替わりの検証(2)

前回の記事「冬時間から夏時間への切り替わりの検証」の結果はミモフタもないものでしたが、夏時間に切

記事を読む

[FX] Trend Scalp ライクな自動売買プログラム(4) ysTS01e.ex4

先週、作ったプログラム「Trend Scalp ライクな自動売買プログラム(3) ysTS01e.e

記事を読む

【FX】Axiory と ThreeTrader

Axiory と ThreeTrader というのは優良な FX 海外業者です。 私は他に E

記事を読む

【FX】FrankoScalp という EA

MQL5.com で FrankoScalp という古株の EA を見つけました。 いろんなモ

記事を読む

Message

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

生成AI投資の教科書 / ジョン・シュウギョウ

★★★★☆ 生成AI を投資(主に株式)のアドバイザーとして

Nuro光申し込み

うちのマンションは古いので、光フレッツ回線は電話用のメタル線を使った

【FX】ECMarkets リアル口座運用中

海外 FX 業者 ECMarkets(ECM)は結局 TariTali

ウエスタンデジタルHDD Ultrastar 14TB 到着

アマゾンで買った ウエスタンデジタルのハードディスク Ultras

イオン株2/3売る

2022年7月20日に株主優待目当てにイオン株を 100株買いました。

→もっと見る

  • 2025年12月
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • アクセスカウンター
PAGE TOP ↑