*

スローな TII にしてくれ

公開日: : 最終更新日:2015/02/24 マネー

TII をさらに使いやすくする方法を考えました。

下のチャートのサブウィンドウに3種類の TII すなわち、

  1. オリジナルの TII
  2. TII にシグナルを付加したもの(自作)
  3. TII のシグナルをさらに平滑化したシグナルのシグナルを付加したもの(自作)

を表示してみました。

 

スローストキャステクスっぽくなってしまいましたネ。

この手の指標は 0からの上離れと 100からの下離れを売買指標にするわけ(一番下のサブウィンドウでの↑↓の部位)ですが、それはこの3種類のどれでも簡単に判定できます。

問題は 50付近での絡み合いの部分です(○で囲った部分)。

ここで S字カーブを描いたり、場合によっては元来た方へ戻る場合があり、それぞれの処理が必要となります。

S字カーブを描いたりする場合、右の○のように TII が連峰状(六ヶ岳?)になるとシグナルがない場合はドテン売買がその都度発生し、ロスがふくらみます。

シグナルとのクロスで 2回までに減らせますし、シグナルと「シグナルのシグナル」とのクロスではパラメーター次第ですがさらに回数を減らせます。

裁量の方にはたいした違いはないのですが、EA化するのには重要な処置になります。

関連記事

プログラムソース(オリジナルの TII_RLH を改変)

//+--------------------------------------------------------------------+
//|                                                   TII_RLH_S2       |
//|                                    Copyright ゥ 2006, Robert Hill   |
//|                                       http://www.metaquotes.net/   |
//+--------------------------------------------------------------------+                                                                   |

#property  copyright "Copyright 2006, Robert Hill "
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Red
#property  indicator_color2  Aqua
#property  indicator_color3  Green

#property  indicator_width1  2
#property  indicator_width2  1
#property  indicator_width3  1

//----
extern int Major_Period=60;
extern int Major_MaMode=1; //0=sma, 1=ema, 2=smma, 3=lwma, 4=lsma
extern int Major_PriceMode=0;//0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4
extern int Minor_Period=30;
extern color LevelColor=Silver;
extern int BuyLevel=20;
extern int MidLevel=50;
extern int SellLevel=80;

extern int SigPeriod1 = 8;
extern int SigPeriod2 = 10;

//---- buffers
double ma[];
double ma_dev[];
double tii[];

double tiis[];
double tiis2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   IndicatorBuffers(5);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexDrawBegin(0,Major_Period);
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3 indicator buffers mapping
   SetIndexBuffer(0,tii);
   SetIndexBuffer(1,tiis);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexDrawBegin(1,Major_Period);

   SetIndexBuffer(2,tiis2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexDrawBegin(2,Major_Period);

   SetIndexBuffer(3,ma_dev);
   SetIndexBuffer(4,ma);

//---- name for DataWindow and indicator subwindow label
   IndicatorShortName(" TII  ,  Major_Period ( "+Major_Period+" )  ,  Minor_Period  ( "+Minor_Period+" ), ");
   SetLevelStyle(STYLE_DASH,1,LevelColor);
   SetLevelValue(0,BuyLevel);
   SetLevelValue(1,MidLevel);
   SetLevelValue(2,SellLevel);
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| LSMA with PriceMode                                              |
//| PrMode  0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2,    |
//| 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4  |
//+------------------------------------------------------------------+
double LSMA(int Rperiod,int prMode,int shift)
  {
   int i;
   double sum,pr;
   int length;
   double lengthvar;
   double tmp;
   double wt;
//----
   length=Rperiod;
   sum=0;
   for(i=length; i>=1;i--)
     {
      lengthvar=length+1;
      lengthvar/=3;
      tmp=0;
      switch(prMode)
        {
         case 0: pr=Close[length-i+shift];break;
         case 1: pr=Open[length-i+shift];break;
         case 2: pr=High[length-i+shift];break;
         case 3: pr=Low[length-i+shift];break;
         case 4: pr=(High[length-i+shift] + Low[length-i+shift])/2;break;
         case 5: pr=(High[length-i+shift] + Low[length-i+shift] + Close[length-i+shift])/3;break;
         case 6: pr=(High[length-i+shift] + Low[length-i+shift] + Close[length-i+shift] + Close[length-i+shift])/4;break;
        }
      tmp =(i - lengthvar)*pr;
      sum+=tmp;
     }
   wt=sum*6/(length*(length+1));
//----
   return(wt);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int i,j,limit;
   double sdPos,sdNeg;

   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   if(counted_bars==0) limit-=1+MathMax(Major_Period,Minor_Period);

//----
   for(i=limit; i>=0; i--)
     {
      if(Major_MaMode==4)
        {
         ma[i]=LSMA(Major_Period,Major_PriceMode,i);
        }
      else
        {
         ma[i]=iMA(NULL,0,Major_Period,0,Major_MaMode,Major_PriceMode,i);
        }
      ma_dev[i]=Close[i]-ma[i];
     }
//========== COLOR CODING ===========================================               
   for(i=0; i<=limit; i++)
     {
      sdPos=0;
      sdNeg=0;

      for(j=i;j<i+Minor_Period;j++)
        {
         if(ma_dev[j]>=0) sdPos=sdPos+ma_dev[j];
         if(ma_dev[j]<0) sdNeg=sdNeg+ma_dev[j];
        }
      tii[i]=100*sdPos/(sdPos-sdNeg);
     } 
   for(i=0; i<=limit; i++)
     {
      tiis[i] = iMAOnArray(tii,0,SigPeriod1,0,MODE_EMA,i); 
     }
   for(i=0; i<=limit; i++)
     {
      tiis2[i] = iMAOnArray(tiis,0,SigPeriod2,0,MODE_EMA,i); 
     }

//----
   return(0);
  }

//+------------------------------------------------------------------+

###

関連記事

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

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

記事を読む

FX には興味を失った!

何年か前に借りていた VPS(仮想専用サーバー)がたびたび落ちてしまい、腹が立ってここ数年 FX(自

記事を読む

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

自動運転用の VPSサーバーがしょっちゅう勝手に落ちて実損が出たのでしばらく FX はやめておりまし

記事を読む

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

  本日もテストトレードのみ。ドル円です。 10:00 114.750

記事を読む

平等な税金

以前に紹介した橘玲さんの新作「新・貧乏はお金持ち 「雇われない生き方」で格差社会を逆転する 」ですが

記事を読む

RVI のクロスを使った逆張り系FX自動売買システム

RVI( relative vigor index )という指標は素直でわかりやすいなぁと前から

記事を読む

【FX】新しい FX自動売買プログラム作成(3) ゴールド昼スキャ

「【FX】新しい FX自動売買プログラム作成(2) 朝スキャから昼スキャへ」の続きです。 自作

記事を読む

【FX】Fintokei 入門プランを無料で試してみる

プロップファームの Fintokei のチャレンジプランの二次試験の経過は以下のとおり。 合格の

記事を読む

ミニPC(NipoGi AK1plus-n97)にて 10ケの MT4 を動作させる

Intel N97 CPU を積んだミニ PCの NipoGi AK1plus-n97 ですが、現在

記事を読む

【FX】London Box というプログラム

昨日作った Tokyo Box は東京時間でできたボックスの高値、低値をロンドン時間でブレイクするの

記事を読む

Message

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

Gemini に経済を教わる

Gemini に質問してみました。 私「日経平均とダウ平均との関

AI で note に投稿することが流行っているそうな

AI で note に投稿することが流行っているそうな。 not

GS 日本株・プラス(通貨分散コース)の今月の配当

日本の投資信託の GS 日本株・プラス(通貨分散コース)の今月の配当金

知識は体系的に学ばないと身につかない

知識は体系的に 知識は体系的に学ばないと身につかないものです。 断

医者になって42年

42年前(1984年)には、以下のような出来事がありました。

→もっと見る

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