高勝率バイナリーオプションインジケータ研究所

バイナリーオプションの必勝法や攻略法、あらゆる手法を動画で解説したり、検証しています。Youtube動画は約10分程度の動画で毎日配信しています。チャンネル登録お願いいたします。 

まっさんのエンジョイバイナリーは バイナリーオプションの必勝法・攻略法・検証方法に関するあらゆる情報を 10分程度の動画にまとめて、毎日配信しています。

是非Youtubeのチャンネル登録をお願いいたします。

https://www.youtube.com/channel/UCVLp7vQF1aQoUPtDSGTkTXQ

にほんブログ村 為替ブログ バイナリーオプションへ
にほんブログ村

まっさん一押し!バイナリーインジ【魔夜Special】
魔夜Special FX-on 特集記事

カテゴリ: MQL講座

にほんブログ村 為替ブログ バイナリーオプションへ
にほんブログ村

さて今日は昨日の続きを解説しようと思います。

昨日は
RSIが所定のレベルになった時に逆張りのサインを出すインジに書き換えてみましたが、今回はストキャスのメインとシグナル線がクロスしたらサインを出すようなインジに改造しようと思います。

昨日の記事の続きなので、まだ見てない人は「インジケータのススメ」を先に見てから今日の記事を御覧ください。



昨日書き換えた部分をこのように書き換えます。
/*
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift+1);
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift+1);
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift); 
*/
int K_Period=5; //iStochastic関数で使うK期間 int型宣言して5を代入
int D_Period=3; //iStochastic関数で使うD期間 int型宣言して3を代入
int Slowing=3; //iStochastic関数で使うSlowing int型宣言して3を代入
double st_main0=iStochastic(NULL,0,K_Period,D_Period,Slowing,0,0,0,shift);//現在のストキャス メイン
double st_main1=iStochastic(NULL,0,K_Period,D_Period,Slowing,0,0,0,shift+1);//1本前のストキャス メイン
double st_signal0=iStochastic(NULL,0,K_Period,D_Period,Slowing,0,0,1,shift);//現在のストキャス シグナル
double st_signal1=iStochastic(NULL,0,K_Period,D_Period,Slowing,0,0,1,shift+1);//1本前のストキャス シグナル
if (st_signal0<st_main0 && st_signal1>st_main1)//1本前ではシグナルよりメインが下 現在ではシグナルよりメインが上 つまりゴールデンクロスしたという意味   
{
val1[shift]=Low[shift]-5*Point;
}
if (st_signal0>st_main0 && st_signal1<st_main1)//1本前ではシグナルよりメインが上 現在ではシグナルよりメインが下 つまりデッドクロスしたという意味
{
val2[shift]=High[shift]+5*Point;
}

インジを作成する時は実際にチャートにストキャスを出して、パラメータも全く同じに設定してみることが大切です。

思ったところに矢印が出ていなかったら、どこかまちがっているのでコードを見直してみましょう。

自分でインジケータを作れるようになってくるとだんだん楽しくなってきますので、どんどん上達します。

頑張って作れるようになりましょう!




にほんブログ村 為替ブログ バイナリーオプションへ

にほんブログ村

ブログ記事、動画を見た感想、質問・相談・疑問点など受け付けています。

ブログ右上の「まっさんへのメール」から何でもいいので

お気軽に送ってください。

あなた様からのメールをお待ちしております。 

あなた様からのメールは動画のネタにしてしまうこともあるので、

ネタにして欲しくない場合はその旨メールにご記載ください。

にほんブログ村 為替ブログ バイナリーオプションへ
にほんブログ村

さて今日は昨日の続きを解説しようと思います。

昨日の
ADX Crossing v.2.0.mq4はADXの+DIと-DIのクロスでサインを出すインジでしたが、今度はこれをRSIが所定のレベルになった時に逆張りのサインを出すインジに書き換えてみようと思います。

昨日の記事の続きなので、まだ見てない人は「インジケータのススメ」を先に見てから今日の記事を御覧ください。


矢印サインを出す仕組みはもう既に手に入れたので、テクニカルをADXからRSIに変更するだけなので簡単です。

以下の部分を見つけます。
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift+1);//1本前の+DIの値
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);//現在の+DIの値
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift+1);//1本前の-DIの値
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);//現在の-DIの値
 
if (b4plusdi<b4minusdi && nowplusdi>nowminusdi)//+DIが-DIとクロスして+DIが上になったことを示す
{
val1[shift]=Low[shift]-5*Point;  //上矢印を出すところ
}
if (b4plusdi>b4minusdi && nowplusdi<nowminusdi)//+DIが-DIとクロスして-DIが上になったことを示す
 
{
val2[shift]=High[shift]+5*Point; //下矢印を出すところ
}

これをこのように書き換えます。
/* 不要なコードをコメントアウト
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift+1);//1本前の+DIの値
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);//現在の+DIの値
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift+1);//1本前の-DIの値
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);//現在の-DIの値
*/

int RSIperiod=14;

double RSI = iRSI(NULL, 0, RSIperiod, 0, shift);
//iRSI関数の使い方はここを参考にする。 

//double RSI はRSIという変数がdouble型であるという宣言  
//
int RSIperiod=14;はRSIperiodという変数をint型で宣言し、14を代入している。


//iRSI(通貨ペア名, タイムフレーム, 期間, 適応価格, shift)

//通貨ペアにNULLを指定すると現在開いているチャートの通貨ペアという意味となる。
//タイムフレームに0を指定すると現在開いているチャートのタイムフレームという意味となる。
//期間はRSIの計算に使用するローソク足の本数
//適応価格 0は終値(普通は終値を使用する)

double RSI_Level=70;   //RSIが70以上で逆張りサインを出す
 
if (RSI=<(100-RSI_Level))  // RSIが100−RSI_Level以下、つまり30以下になったら上サイン
{
val1[shift]=Low[shift]-5*Point;  //上矢印を出すところ
}
if (RSI=>RSI_Level) //RSIがRSI_Level以上で、つまり70以上になったら下サイン
 
{
val2[shift]=High[shift]+5*Point; //下矢印を出すところ
}

たったこれだけの変更でADXのインジがRSIのインジに生まれ変わりました。


自分でインジケータを作れるようになってくるとだんだん楽しくなってきますので、どんどん上達します。

頑張って作れるようになりましょう!




にほんブログ村 為替ブログ バイナリーオプションへ

にほんブログ村

ブログ記事、動画を見た感想、質問・相談・疑問点など受け付けています。

ブログ右上の「まっさんへのメール」から何でもいいので

お気軽に送ってください。

あなた様からのメールをお待ちしております。 

あなた様からのメールは動画のネタにしてしまうこともあるので、

ネタにして欲しくない場合はその旨メールにご記載ください。

自分の力でテクニカルインジケータを作成できるようになると、
相場分析能力が格段に向上します。

「これをこうしたらこういう結果になった。」

「では次にこうしたらどうなるのだろう???」

という具合に次から次へと探究心が湧いてきて、いろいろやってみたくなって止まらなくなります。

簡単で良いので矢印サインを出すインジケータのMQ4
ソースファイルファイルを入手して、いろいろと試してみることをお勧めいたします。

MQ4ソースファイルは以下のサイトや海外のサイトでもたくさん配布されています。

http://www.abysse.co.jp/mt4/

ダウンロードしたファイルは
「ファイル」→「データフォルダを開く」とやったところの
MQL4/Indicatorsフォルダに保存し、一度再起動します。

そのあとMetaEditorを起動します。MT4の上部のメニューアイコンの「自動売買」と書かれているアイコンの左側に
あるオレンジ色のアイコンをクリックすると起動します。
今回は
ADX Crossing v.2.0.mq4を題材にしてやってみようと思います。

//+------------------------------------------------------------------+
//| ADX Crossing.mq4 
//| Amir
//+------------------------------------------------------------------+
#property  copyright "Author - Amir"

#property indicator_chart_window //チャートウインドに矢印を出すことを宣言
#property indicator_buffers 2   //矢印サインを上下で2つ使う
#property indicator_color1 Lime //矢印の色の設定  ライム色
#property indicator_color2 Red //矢印の色の設定  赤色

//---- input parameters
extern int ADXbars=50; //外部入力パラメータ  パラメータ設定画面に出てくるパラメータ
extern int CountBars=350;
extern bool UseSound = True;
extern string SoundFile = "wait.waw";    

//---- buffers
double val1[]; //上矢印に使うバッファー
double val2[]; //下矢印に使うバッファー
double b4plusdi,nowplusdi,b4minusdi,nowminusdi;  //変数の宣言
bool SoundBuy = False;
bool SoundSell = False;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() //初期化ルーチン 起動時に1回だけしか実行されない
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);  //矢印バッファーの数の宣言 決まり文句
   SetIndexStyle(0,DRAW_ARROW); //矢印バッファーのタイプの宣言 決まり文句
   SetIndexArrow(0,108); //矢印の形状宣言数字で設定 決まり文句
   SetIndexStyle(1,DRAW_ARROW);//矢印バッファーのタイプの宣言 決まり文句
   SetIndexArrow(1,108);//矢印の形状宣言数字で設定 決まり文句
   SetIndexBuffer(0,val1);// 決まり文句
   SetIndexBuffer(1,val2);// 決まり文句
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()  //ティックが入る度に実行される処理
  {   
   if (CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars);
   SetIndexDrawBegin(1,Bars-CountBars);
   int i,shift,limit,CountedBars = IndicatorCounted();
   
if (CountedBars < 1)
   {
    for (i=0; i<=CountBars; i++) {val1[i] = 0.0; val2[i] = 0.0;}
   }    
   
if(CountedBars > 0) CountedBars--;
limit = Bars - CountedBars;   

for (shift = limit; shift>=0; shift--) 
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift+1);//1本前の+DIの値
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);//現在の+DIの値
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift+1);//1本前の-DIの値
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);//現在の-DIの値
 
if (b4plusdi<b4minusdi && nowplusdi>nowminusdi)//+DIが-DIとクロスして+DIが上になったことを示す
{
val1[shift]=Low[shift]-5*Point;  //上矢印を出すところ
}
if (b4plusdi>b4minusdi && nowplusdi<nowminusdi)//+DIが-DIとクロスして-DIが上になったことを示す
 
{
val2[shift]=High[shift]+5*Point; //下矢印を出すところ
}


}
if (val1[0] != EMPTY_VALUE && val1[0] != 0 && SoundBuy) //音声アラートを出す処理 上
  {
   SoundBuy = False;
   if (UseSound) PlaySound (SoundFile);
  } 
if (!SoundBuy && (val1[0] == EMPTY_VALUE || val1[0] == 0)) SoundBuy = True;  
  
if (val2[0] != EMPTY_VALUE && val2[0] != 0 && SoundSell)//音声アラートを出す処理 下 
  {
   SoundSell = False;
   if (UseSound) PlaySound (SoundFile);
  } 
if (!SoundSell && (val2[0] == EMPTY_VALUE || val2[0] == 0)) SoundSell = True;  
     
return(0);
}
//+------------------------------------------------------------------+

自分でインジケータを作れるようになってくるとだんだん楽しくなってきますので、どんどん上達します。

頑張って作れるようになりましょう!


ブログ記事、動画を見た感想、質問・相談・疑問点など受け付けています。


ブログ右上の「まっさんへのメール」から何でもいいので

お気軽に送ってください。

あなた様からのメールをお待ちしております。 

あなた様からのメールは動画のネタにしてしまうこともあるので、

ネタにして欲しくない場合はその旨メールにご記載ください。

↑このページのトップヘ