*

[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]時の旅人 試運転 1日目

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

記事を読む

日本高配当株ファンドの投資法

高配当株投資の魅力を教えてくれる本や Youtubeビデオはたくさんありますね。 高配当株とは配当

記事を読む

MetaTrader4 デモ口座

ここで紹介しているスーパーな FX ソフトの MetaTrader4 ですが、Windows マ

記事を読む

金利の優秀な銀行

* 静岡銀行などは 0.45%というダントツの金利をくれるのでここに預けたいところですが、支店

記事を読む

月収の10倍稼ぐ外資投資―横尾式トレンドフォローで着実に儲けよう / 横尾 寧子

月収の10倍稼ぐ外資投資―横尾式トレンドフォローで着実に儲けよう 横尾 寧子

記事を読む

[FX] 現在稼働中の VQシステム yasciiVQ04e.ex4(2)

以前の記事「 現在稼働中の VQシステム yasciiVQ04e.ex4 」で紹介したシステムを

記事を読む

一目均衡表 改良の試み

前回の記事「超シンプルな自動売買プログラム(6) 簡単な一目均衡表」で紹介したプログラムを改良してみ

記事を読む

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

  上が一目均衡表で、雲は26本先行しています。 下は有名なトレーダ

記事を読む

【FX】 Dead Zone Scalper という EA

昨日の記事「【FX】Fintokei に適する EA」の続きです。 よい単ポジ系 EAを見つけ

記事を読む

【FX】なかなかすごいブレイクアウト Inquisition Breakout EA(4)

「【FX】なかなかすごいブレイクアウト Inquisition Breakout EA(3)」の続き

記事を読む

Comment

  1. onem より:

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

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

    • kotaro.yasuiwa@gmail.com より:

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

Message

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

【FX】トレンドフォロー型 EA 作ってみる

RSI RSI というオシレーター系のインジケーターがあります。

【FX】朝スキャ EA を作ってみる(2)

前回の記事「【FX】朝スキャ EA を作ってみる」で書きそびれた分を書

【FX】朝スキャ EA を作ってみる

朝スキャとは「早朝スキャルピング」の略です。 日本時間での早朝(午前

外国の飯屋がまずい理由

https://www.youtube.com/watch?v=Dwp

2025年株式投資 簡単すぎる総括

本日で今年の投資は終わりです。 楽天銀行の現在高は以上の

→もっと見る

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