*

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

###

関連記事

月刊「FX攻略.com 2019年12月号」におまけの AI インジケーター(2)

前回紹介した「月刊「FX攻略.com 2019年12月号」におまけの AI インジケーター」ですが、

記事を読む

DAISO 直管LEDランプ 昼白色 20型 8W 1000lm

ダイソーで昼白色の直管LEDランプが 500円で売られていたので試しに1本買ってみました。

記事を読む

VQ を使ったシンプルな自動売買システム

VQ という摩訶不思議なインジケーターがあります。始値、終値、高値、安値のそれぞれの移動平均線を使っ

記事を読む

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

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

記事を読む

[FX] EMA5-10-34_Signal というインジケーター

連休ですが、コロナのため外出自主規制を守っています。 しばらくお休みしていた FX ですが、暇

記事を読む

[FX] 2019年11月終了

昨日で 11月の相場が終了しました。 11月は第3週は気迷い風でしたが、第4週はレパトリエーシ

記事を読む

FX 2014 12/8-12/9 トレード(2) えつこチャート

2014.12.08 09:56:28~2014.12.09 16:35:42 の 33時間で

記事を読む

【FX】Fintokei に適する EA

Fintokei のように含み損を最重視する場で使用するのは、やはりナンピン系の EA は荷が重そう

記事を読む

[FX] 3年ぶりかな FX リアルトレード

自動運転用の VPSサーバーがしょっちゅう勝手に落ちて実損が出たのでしばらく 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

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

エレコム ギガビットイッチングハブ 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 ↑