*

[FX]yasciiHA04a 暴落対策変更

公開日: : 最終更新日:2020/03/08 マネー

先週から実戦投入していた yasciiHA04a.ex4 ですが、今朝見ると 4233円の負けを発見。

後から追加投入したAUDUSD での負けです。

チャートを見ると、サーバー時間で 16時に買った途端(上のチャートの黄色の⇒の先の赤の矢印がエントリ)にレートが逆走し損になったようです。

エントリした途端に逆走すること自体は避けようがないのですが、問題は 20:48までストップがかからなかったこと。

うーん、これは想定外。

最悪でも 1時間後の 17時には損切りするはずなんですが。

ということで、暴落対策を強化した yasciiHA04b.ex4 に入れ替えました。

 

関連記事

[FX]yasciiHA04a パラメーター変更

プログラムソース yasciiHA04b.mq4

//
// yasciiHA04b.mq4
//           Heiken_Ashi_Real(移動平均線クロス)を使用
//         通常平均足との組み合わせ 
//           with Time Filter
// 暴落対策変更

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

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

extern int Fast_period = 12 ;
extern double ILC = 35.0 ;

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

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 FastHH1 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
   double FastLL1 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 1)];

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET); 
   OOPL = OrderOpenPrice();
   if( (Bid < FastLL1 || ( 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 > FastHH1 || ( 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) ;

       double HA_open1 = ( Open[2] + Close[2] ) / 2.0 ;
       double HA_close1 = ( Open[1] + Close[1] + High[1] + Low[1] ) / 4.0 ;
       double HA_open2 = ( Open[3] + Close[3] ) / 2.0 ;
       double HA_close2 = ( Open[2] + Close[2] + High[2] + Low[2] ) / 4.0 ;

       double HA_openMA1 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",2,1);
       double HA_openMA2 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",2,2);
       double HA_closeMA1 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",3,1);
       double HA_closeMA2 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",3,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);

   //買いポジションのエグジット
    OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
    OOPL = OrderOpenPrice();
    if(    ((HA_openMA1 > HA_closeMA1 && HA_openMA2 > HA_closeMA2) || ( HA_open1 > HA_close1 && HA_open2 > HA_close2) ||( OOPL - lc*Point >= Close[1] ) ) 
            && ( 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(    ((HA_openMA1 < HA_closeMA1 && HA_openMA2 < HA_closeMA2)||( HA_open1 < HA_close1 && HA_open2 < HA_close2)||( OOPS + lc*Point <= Close[1] ) ) 
          && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Aqua);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if( HA_openMA1 < HA_closeMA1 && HA_openMA2 < HA_closeMA2 && HA_open1 < HA_close1
       && (Hour() >= in_time && Hour() <= out_time)
       && ((Close[1] > cla1 && Close[1] > clb1)||(Close[1] < cla1 && Close[1] < clb1))
       && ( 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( HA_openMA1 > HA_closeMA1 && HA_openMA2 > HA_closeMA2 && HA_open1 > HA_close1 
       && (Hour() >= in_time && Hour() <= out_time) 
       && ((Close[1] > cla1 && Close[1] > clb1)||(Close[1] < cla1 && Close[1] < clb1))
       && ( 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,Aqua);     
    } 
   return(0);
  }

###

関連記事

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

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

記事を読む

アメリカ株投資 2023-12-27

下は現時点での楽天証券のサマリーです。 最近も毎日少しずつ買い増ししていますが、株数が

記事を読む

【FX】Yetti という EA(3)

以前の記事「【FX】Yetti という EA(2)」の続きです。 2つのデモサーバーと一部リア

記事を読む

伝説のトレーダー集団 タートル流投資の魔術 / カーティス・フェイス

伝説のトレーダー集団 タートル流投資の魔術 カーティス・フェイス 飯尾博信+常

記事を読む

[FX] Tokyo Box(ロンドン・コーリング) の新作プログラム (5) 2週間めの実動結果

東京時間(夏時間では午前9時から午後3時まで)の高値を上に抜けたらブレイクで買い、低値を下に

記事を読む

ブランド品を身に着けているヤツはクソ

Youtube チャンネルで、「歴史的偉人が現代人を論破するアニメ」というものがありまして、その第4

記事を読む

【FX】Best Scapler という EA

Best Scapler という EA がありまして、これもテスト中の謎な EA なわけです。

記事を読む

KOSPI ベアETN が熱い

ムンさんのおかげで韓国経済がボロボロになりかけています。 このまま日本からの制裁(まだ制裁にな

記事を読む

【FX】朝スキャ(3)

朝スキャの実験 以前の記事「朝スキャ(2)」で書いたように、開いたばかりの TitanFX のリア

記事を読む

[FX]フィボナッチをレンジ境界に使う自動売買プログラム

「フィボナッチをレンジ境界に使う自動売買プログラム」の意味がわからない? フィボナッチ・リトレ

記事を読む

Comment

  1. onem より:

    初めまして
    上記EAを参照して稼働させて見たところ、一旦大きく利が乗った後EXITされずにそのまま保持し続け反発で損切りEXITされる点が何回かございました。
    EAが市場の急激な動きに判定を下す前に逆行していく感じでした。
    このEAに例えばXpip利益が乗った後は、Ypointにてトレーリングストップが自動で発動するようにする機能を組み込む等は可能でしょうか?(目的としては急騰後の急落対策になります。)

    • kotaro.yasuiwa@gmail.com より:

      ご紹介、情報提供ありがとうございました。

      >上記EAを参照して稼働させて見たところ、一旦大きく利が乗った後EXITされずにそのまま保持し続け反発で損切りEXITされる点が何回かございました。EAが市場の急激な動きに判定を下す前に逆行していく感じでした。
      このEAに例えばXpip利益が乗った後は、Ypointにてトレーリングストップが自動で発動するようにする機能を組み込む等は可能でしょうか?(目的としては急騰後の急落対策になります。)

      この EA の暴落対策は固定ロスカットとHLバンドによるトレーリングストップですが、後者は買いの場合は Fast_period 期間内の最も低い終値にストップを上昇させていくものです。
      このためストップがエントリポイントを越えていない時点でレートが逆走しますと、エントリポイントより安値で損切りになることがあります。
      じつはほかのEA(VQ使用)を使って昨日少し別の改良をしたものをアップしています。
      > http://yiwasaki.com/wp/post-19524-19524.html
      これはエントリ後ある程度思惑通りに進んで、エントリポイントを十分超えたなと思ったら、ロスカットを初期ロスカットからエントリポイント(+スプレッド上乗せ)のところに置き直すものです。要はロスカットを利益確定にしてしまうものです。
      勝率は多少上がりますが、副作用もあります。エントリポイントを割ったが復活して大勝ちする”リベンジ”ケースが削られます。

      ご所望のものは固定幅のオートトレーリングでしょうか? MT4 に付いているような。
      以前考えたのですが、HLバンドによるトレーリングストップのように”押し目を選んで移動する”ほうがいいと思ってつけておりません。
      ちょっと作ってみて、結果がいいようでしたらアップします。

  2. kotaro.yasuiwa@gmail.com より:

    ちなみに私は MT4 のトレーリングストップも併用していますが、ここのみ手動で設定するのは確かに面倒かもしれません。

    EA に組み込むのがいいのですが、暴落対策はティック毎に計算が発生しますので、複雑なものを組み込みすぎますと、多数の EA を稼働する場合はPCの負荷が高くなることも考える必要があります。

    • onem より:

      ご返信ありがとうございます。
      お示しいただきましたVQ_EAに組み込まれている機能はいいですね。

      確かに一回反転してその後リベンジケースをどうするかという内容ですね・・・・。

      以下、少し自分なりに提案内容を考え整理してみました。
      目的は急騰後の暴落反転対策に変わりません。

      ・15分足等短い足を監視し利が乗る方向にXpips動いた際、次の足でYパーセント切り返すと利確(反転の目安になる50%や61.8%が妥当でしょうか?)
      ↑デメリット・PC負荷が高くなる?・更なる利益取得機会の損失。(これは仕切りなおし再エントリーという考えもありますかね?)

      ・最大含み益の50%まで下落したら一旦利益確定
      ↑デメリット・同じように更なる利益取得機会の損失

      ・Xpips含み益が出て、エントリーからの最大出来高を記憶させ、その90%以上出来高で急騰後、
       出来高が50%以下で一旦利益確定
      急騰定義・過去(15分足等)の平均振幅のA倍上昇
      ↑デメリット・PC負荷が高くなる?

      思いつく点を羅列しただけでお見苦しい点ご容赦ください。
      書いてみて思いましたがVQ_EAに組み込まれた内容が一番いいのかも知れません・・・・(私の提案内容は複雑すぎる)

      • kotaro.yasuiwa@gmail.com より:

        >15分足等短い足を監視し
        異なる時間足では EA のマジックナンバーが変わってしまいますから iClose(0,minute,1)で参照取得することになりますね。

        >Yパーセント切り返すと利確(反転の目安になる50%や61.8%が妥当でしょうか?)
        そこまで待つより「23.6% でいったん降りてまたしきり直し」でもいいような気がしますが、ケースバイケースでしょうね。100%の解答はないと思います。

        >Xpips含み益が出て、エントリーからの最大出来高を記憶させ、その90%以上出来高で急騰後、出来高が50%以下で一旦利益確定

        出来高(ティック数)はティック毎に見るのでしょうか。やったことはないですが、ティック毎のデータは期間で平滑化されていないので変動が大きくダマされることが多いような気がします。

        >急騰定義・過去(15分足等)の平均振幅のA倍上昇
        お教えいただいた急騰定義は似たものをブレイクアウトシステムに組み込んだことがあります(ATR の multi倍を超えたらエントリ)。

        急騰後急落というと指標発表時のものが代表的ですが、変化が激しいためにスリップがひどくてEAではついていけませんね。指標発表時はフィボナッチも無視されることが多いので、私は参加しないことにしています。

        この平均足システムの大きな狙いはバンドウォークに見られるような少し長めのトレンドを捕まえることです。ですので最初から小さな負けは許容しています。あまり余裕のない足切りや利益確定はこいつの長所をそぐことになりかねません。

        ご指摘の急落対策はまた別の問題として真剣に考えてみたいです(そのときはブレイクアウトシステムに組み込むでしょうが)。

        • onem より:

          >この平均足システムの大きな狙いはバンドウォークに見られるような少し長めのトレンドを捕まえることです。ですので最初から小さな負けは許容しています。あまり余裕のない足切りや利益確定はこいつの長所をそぐことになりかねません。

          なるほど、確かにそのとおりですね。
          納得いたしました。
          稚拙な当方の意見に対しご返信、ありがとうございました。
          新しいEA楽しみにしております。

          • kotaro.yasuiwa@gmail.com より:

            平均足システムにエントリポイントにストップを移動する機能を組み込んだものを発表しました。
            > http://yiwasaki.com/wp/post-19539-19539.html
            やはり、平均足との相性はよくないようですね。

            急落対策は MT4付属の固定幅トレーリングストップを使うのもいいのですが、これはサーバーに指し値注文を発注するタイプなので、取り消すのが面倒くさいですね。固定幅なので融通は利きませんし。

            EA に固定幅トレーリングストップをつければ成り行き注文になる(サーバーに指し値注文は発行しない)のですが、やはり取り消すには設定を変更する操作が必要なので急ぎの時に間に合わないケースもあります。ただ、いろんな設定(ATR の半分とか、フィボナッチに合わせるとか)ができそうです。
            短い時間足のシステムにはぜひつけたい機能です。

Message

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

親子で学ぶ どうしたらお金持ちになれるの? – – 人生という「リアルなゲーム」の攻略法 / 橘 玲 (2)

昨日の記事の続き。 この本にはこのようなセクションがあります。ア

親子で学ぶ どうしたらお金持ちになれるの? – – 人生という「リアルなゲーム」の攻略法 / 橘 玲

★★★☆☆ 自分の子どもに「どうして〇〇したらいけないの」と

ミニPC AMD Ryzen 5 3550H 16GB DDR4 512GB NVME SSD

またまた購入したミニPC です。 CPU:AMD R

【FX】Hippo Trader という EA(10)

久々の Hippo についての話です。 ナンピンマーチン系は嫌い

【FX】Bitcoin の値動き(2)

前回の記事「【FX】Bitcoin の値動き」の続きです。 Bi

→もっと見る

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