*

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

公開日: : 最終更新日:2015/02/24 マネー

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);
  }

###

関連記事

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

前回の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(3) 改良型」ですが、

記事を読む

HL Band(High Low Band) について

チャートでは HL Band というのをよく使います。 High Low Band の略で、あ

記事を読む

【FX】Dark Venus という自動売買ソフト(2)

前回の記事「【FX】Dark Venus という自動売買ソフト」の続きです。 昨日夜からデモ走

記事を読む

スイスフラン暴騰騒動(2)

以前の記事「スイスフラン暴騰騒動」でも書きましたが、スイス銀行のおかげでスイスフランが一瞬で高騰

記事を読む

【FX】Yetti という EA

またまた FX の話です。 Yetti(イエティ)という自動売買プログラムがあります。

記事を読む

株式投資「システムトレード」の極意―3年5ヶ月で5億円の資産を築いた! / 保田 望

株式投資「システムトレード」の極意―3年5ヶ月で5億円の資産を築いた! 保田

記事を読む

【FX】IS Lime という EA

IS シリーズの EA は IS Black, IS White, IS Red とデモトレードで検

記事を読む

関東と関西

* 関西人はいかに安く買ったかを自慢し、関東人はいかに高く買ったかを自慢すると言われていますが

記事を読む

[FX] Powerful 1 Min Scalping System というトレードシステム

Powerful 1 Min Scalping System という人気のトレードシステムがあるそう

記事を読む

医療費39兆2千億円 過去最高(3)

特にTVのバカキャスターですが、「医療費が高額になってたいへん」と無知からくるデマを散布しており

記事を読む

Message

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

エレコム ギガビットイッチングハブ 8ポート EHC-G08PA3-W

エレコム スイッチングハブ 5

USB-DAC LiNKFOR 名前はまだない

今朝、パソコンが勝手に再起動状態になっており、どうも Windows

シチズン腕時計 QB78-422 また買いました

本日うっかり事務所に腕時計を置いてきたまま帰宅してしまいました

PHILIPS 242E2F/11 23.8型ワイド液晶ディスプレイ逝く

楽天市場で 2021/05/25(火)に購入した液晶ディスプレイの P

【FX】Silent Falcon という EA

本日見つけた FX 自動売買ソフト(EA)です。 私のいうバース

→もっと見る

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