*

[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】2024年5月第1,2,3,4週総括

以前の記事「【FX】2024年5月第1,2,3週総括」の続きです。 2024年5月第4週のトレ

記事を読む

[FX] HL Band(High Low Band) について(2)

以前の記事「HL Band(High Low Band) について 」で書きましたが、HL band

記事を読む

【FX】2024年5月第1,2,3週総括

以前の記事「【FX】2024年5月第1,2週総括」の続きです。 2024年5月第3週のトレード

記事を読む

【FX】裁量FX について

マインドには自信がないことには自信があるので、あまり裁量はやりません。 まあ、月に 1回あ

記事を読む

2023/3/1 外国債券(既発債)続伸中

以前の記事「2023/2/22 外国債券が調子良い」で書きましたが、まだまだ米国の金利が上がりそうだ

記事を読む

[FX] 固定幅トレーリングストップ

MetaTrader4 にも搭載されているので結構よく使うのが、固定幅トレーリングストップ。

記事を読む

確定申告やっと終わり

昨日は確定申告書の作成に時間が掛かり、ブログ更新ができませんでした。 本日郵便局から郵送。

記事を読む

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

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

記事を読む

【FX】Ultimate Forex という EA

Ultimate Forex という EA があるようです。付属のセットファイルもあり、親切ですね。

記事を読む

【FX】Alpinist という EA(2)

以前の記事「【FX】Alpinist という EA」の続きです。 Alpinist という面白

記事を読む

Comment

  1. onem より:

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

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

    • kotaro.yasuiwa@gmail.com より:

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

Message

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

2026/8/6 びわ湖花火大会

本日は大津港での花火大会。 いつもは出かけることを考えますが、最

浮世絵「名所江戸百景」復刻物語 / 東京伝統木版画工芸協会

★★★☆☆ 著者の東京伝統木版画工芸協会というのは浮世絵を復

封印された中国近現代史 / 宮脇淳子

★★★★☆ 亡き岡田英弘氏の妻である 宮脇淳子先生の著書。

三田市民病院の移転問題について

本日夕方 TV で三田市民病院の移転問題を扱っていました。 初耳

富嶽三十六景 沼津

こちらの作品ですが、「富嶽三十六景 沼津」とあります。葛飾北斎

→もっと見る

  • 2026年8月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
  • アクセスカウンター
PAGE TOP ↑