*

[FX] 一目均衡表+STC フィルタ 完成版

公開日: : 最終更新日:2021/06/03 マネー

以前ここで発表した一目均衡表のシステムに初期ロスカットをつけたものです。

Schaff Trend Cycle フィルタをつけているので逆向き暴発は多少防げると思います。

なにもつけないほうが爆発的な利益がとれることもありますが、かなりバクチっぽいです。

いろいろつけたので安全性は高めと思います。

一目均衡表なので、15分足でも使えます。

EURUSD あたりでそこそこいい結果がでています。

Indicators の Downloads フォルダに STC_pure_S.mq4 を入れてくださいネ。

プログラムソース

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

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

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

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

extern int BB_Period=20;
double Deviation = 1.0;

extern double ILC = 20.0 ;

extern int in_time = 10; // 取引開始時間
extern int out_time = 22; // 取引停止時間

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 lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   double HH1 = High[iLowest(NULL, 0, MODE_HIGH, HL_Period, 1)];
   double LL1 = Low[iHighest(NULL, 0, MODE_LOW, HL_Period, 1)];

   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 ten2 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 1, 2); 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); double FastHH2 = Low[iHighest(NULL, 0, MODE_HIGH, Fast_period, 2)]; double FastLL2 = High[iLowest(NULL, 0, MODE_LOW, 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( (Bid < LL1 || ( OOPL - lc*Point >= Bid ))
       && ( 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( (Ask > HH1 || ( OOPS + lc*Point <= Ask )) && ( 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) ;

   //買いポジションのエグジット
    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 || ( ten1 == kij1 && ten2 == kij2 && ten1 > ten2 ))  
       && Close[1] > cla1 && Close[1] > clb1 && stc1 > stc2
       && (Hour() >= in_time && Hour() <= out_time) 
       && ( 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 || ( ten1 == kij1 && ten2 == kij2 && ten1 < ten2 )) 
       && Close[1] < cla1 && Close[1] < clb1 && stc1 < stc2 && (Hour() >= in_time && Hour() <= out_time) 
       && ( 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】half-trend-buy-sell-indicator というインジケーター

half-trend-buy-sell-indicator というインジケーターがあります。

記事を読む

曜日特性(2)

前回の記事「曜日特性」のモデルですけど、実際に運用するとどんなことになるのか検証してみました。

記事を読む

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

最近忙しくて、FX についてはデータをとるだけになっています。 データ取得は VPSサーバーが

記事を読む

【FX】EA の寿命とその対策

現在も FX の自動売買を順調に続けています。 メタトレーダー4 で EA を動かすというオー

記事を読む

【FX】変わった FX業者 easyMarkets

easyMarkets という業者があるのに本日気が付きました。 海外では優良業者としてそこそ

記事を読む

[FX] QQE の問題点

QQE は RSI のみから作られるオシレーター 前回の記事「PLATINUM TURBO FX

記事を読む

【FX】捕らぬ狸の皮算用

この前、ハロウィーンキャンペーンで作った Axiory のナノ口座は、347勝19敗(勝率 94.5

記事を読む

FX テストトレード 2014/11/12

本日はヒロセ商事からのログインパスワードが送られてきたので、楽天銀行からクイック入金をし、い

記事を読む

[FX] 来週は yasciiHA04c.ex4 を投入

来週稼働予定の EA をご紹介。 yasciiHA04b.ex4 を改良したものです。

記事を読む

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

前回の記事「ロブ・ブッカーのNY Box 検証」でもちょっと書きましたが、ボリ平さん(女性です)のロ

記事を読む

Comment

  1. onem より:

    こんばんわ。
    EAは問題なく動作いたしますがインディケータ側のSTC_pure_S.mq4側が少し多めのエラーを出します。

    おそらく、エディタ側の変換がうまくいっていないかと思われます。よろしければご修正の程お願いいたします。

    • kotaro.yasuiwa@gmail.com より:

      これもワードプレスの変換ミスですね。お知らせありがとうございました。
      リンク方法を変えておきました。一応動くことを確認したので大丈夫かと思います。
      よろしくお願いします。

Message

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

【AI】Perplexityという検索特化の AI

Perplexity という検索特化の AI があります。 きち

ネクスト・ジェネレーションと世界のベスト 5月の配当

毎月配当の超高配当投資信託の「ネクスト・ジェネレーション」と「世界のベ

AIPI, CEPI, FEPI の利回りが過少評価されている件

ずっと前から AIPI, CEPI, FEPI などカバードコール商品

【FX】MetaTrader4 build 1470 の不具合

MetaTrader4 build 1470 の不具合については以前も

投資商品乗り換え完了

ようやく2月くらいから始めた 投資信託+日本株の入れ替えが完了しました

→もっと見る

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