バイナリーオプション用サインツールの作り方【矢印ツールの作成方法】
近年のバイナリーオプションブームにより、多くのサインツールが提供されるようになりました。
サインツールはトレード補助やエントリーポイントを可視化する際に便利なツールであり、自身で作成することも可能です。
本記事では、バイナリーオプションのサインツールの作り方や基本情報までを詳しく解説していきます。
サインツール作成に必要なもの(知識)
バイナリーオプション用のサインツールを作成するには、以下のものや知識が必要です。
- PCとPC環境
- MT4
- バイナリーオプションの手法に関する知識
- プログラミングの基礎知識(※できればC言語)
サインツールはスマホでは作成できないので、必ずPC版のMT4から作成する必要があります。
MT4を稼働させるためのネット環境も必須です。
バイナリーオプションの初心者にサインツール作成は難しく、ある程度の相場分析や高い勝率に関する知識が必要となります。
また、MT4で作成するサインツールのコードはC言語というプログラミング言語に酷似しており、プログラミングの基礎知識がある方はスムーズに作成ができるでしょう。
しかしC言語ができなくてもMT4の言語であるMQL言語は習得できるので、必ずしもC言語をマスターしておく必要はありません。
\ キャンペーン価格で販売中!/
自分で作るのが難しそうなら幕末サインツールを試してみてくれ。
高勝率を誇るサインツールだ。
サインツールの作り方
バイナリーオプションのサインツールは、MT4で使って作成するのが一般的です。
作成したサインツールをMT4内に挿入することで、音でのお知らせや矢印の表示などができるようになります。
まずは、基本となる作り方や導入方法を見ていきましょう。
手順①MT4の起動
まずは、MT4の立ち上げを行いましょう。
MT4は各FX会社から提供されているものを選択する必要がありますが、MT4であればどの会社を選択してもサインツールの作成が可能です。
・XM Trading
・FXCM社
バイナリーオプションの分析用であれば、上記いずれかのMT4を選択しておけば問題ありません。
デモ口座でも良いので、インストールをしてから立ち上げをしましょう。
手順②MQLの新規作成
MT4におけるインジゲーター作成は、MQLという専用コードを書き換えて作成します。
MT4の画面上部にある本のマークをクリックしましょう。
次に表示される画面の左上にある「新規作成」をクリックします。
上のような画面が表示されるので、「カスタムインディケータ」にチェックを入れて、画面下の「次へ」をクリックします。
サインツール作成の画面が表示されます。
項目の上部に「Indicators\」と表示されているので、続くように自身で好きなサインツールの名称を入力しましょう。
名称はアルファベットか数字が有効です。
著作権やリンク、パラメータの欄は書き換える必要はありません。
名前を入力後に、画面下の次へをクリックしましょう。
その後の画面で再度次へをクリックし、完了をクリックすれば作成画面に移ります。
手順③コード入力
手順②まで進むと、以下のような画面が表示されます。
上の画面に、自身で条件を入力してサインツールを作成していきます。
具体的なコードの入力方法は後術します。
コードの入力が完了したら、画面上部にある「コンパイル」をクリックしましょう。
コンパイルをクリックした後、画面下にerrorsの赤い表示があるとサインツール作成できません。
コードの入力ミスである場合が多いので、再度作成してからコンパイルをクリックしましょう。
手順④サインツールを挿入
手順③まで完了したら、自作したサインツールを挿入していきます。
MT4画面に戻り、「ファイル」→「データフォルダを開く」→「MQL4」の順にクリックします。
MQL4内のindicatorsの欄に、作成したサインツールのファイルをドラッグ&ドロップすればMT4への挿入完了です。
その後、MT4を再起動し、「挿入」→「インディケータ」→「カスタム」の中から最初に作成した名称の欄をクリックすればチャートに反映される仕組みです。
サインツールのコードの作り方
次に、手順③で紹介したコードの入力方法を解説していきます。
サインツール作りは簡単な作業ではありませんが、コードの入力さえできれば自身の手法に合った自由なツールを作成可能です。
以下の手順を参考にして、作成を進めてみてください。
矢印の表示
まず最初に、サインツールの矢印を表示させるコードを作成します。
property indicator_chart_windowと表示された欄の下に、矢印が表示されるコードを入力していきましょう。
#property indicator_buffers 2
#property indicator_color1 clrBlue
#property indicator_color2 clrRed
#property indicator_width1 2
#property indicator_width2 2
double Buffer_0[], Buffer_1[];
最初の#property indicator_buffers 2は、「2つのbuffer(矢印)を表示させます」、という宣言です。
colorの右に記載したclr〇〇は、サインツールで表示させる矢印の色を表しており、色は自由に設定を変えることが可能です。
MT4のプロパティ内にある色の選択を見ると、表示できる色と名称が記載されているので、自身の好きな色の名称を確認して入力しましょう。
また、width1 2 、width2 2と記載されたものは、矢印の太さを表しています。
数字を大きくすると線も太くなるので、こちらも好みに合わせて作成していきましょう。
太さまで入力できたら「double Buffer_0[], Buffer_1[];」を入力して矢印の表示を促します。
矢印の種類
次に、矢印の種類を選択していきます。
int OnInit(){という欄に、以下のような入力をしていきましょう。
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexBuffer(0, HighSignal);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 234);
SetIndexBuffer(1, LowSignal);
SetIndexArrowは矢印の種類を示すものです。
0と1は、先ほど宣言したBufferの値であるため、このまま入力しましょう。
右横に記載された233、234が矢印の種類であり、自由に設定が可能です。
矢印だけではなく、様々な記号や絵文字が自由に設定できるので、好きなものを選んで利用してみましょう。
絵文字や記号の右側に記載された数字を入力することで切り替えが可能です。
SetIndexBufferでは、HighSignal(上昇方向への矢印)LowSignal(下落方向の矢印)を示しています。
ローソク足・インジゲーターの入力
矢印の設定が完了したら、次にローソク足やインジゲーターの入力を行っていきます。
int OnCalculateと記載された内部に条件式を入力してきましょう。
まずは、int OnCalculate内に以下の入力を行います。
HighSignal[0] = EMPTY_VALUE;
LowSignal[0] = EMPTY_VALUE;
その後に、条件式を組み合わせてコードを書いていきます。
ローソク足の条件
まずは、ローソク足の条件です。
コード内にローソク足の条件を加えることで、矢印が陽線の時に表示、または矢印が陰線の時に表示といった条件が付け加えられます。
サインツールの矢印が求めていない条件で表示されないためにも、ローソク足の条件は作っておいた方が良いと言えるでしょう。
ローソク足のコードは次の通りです。
double close_M5 = iClose(NULL, PERIOD_M5, shift); //※5分足の始値
double open_M5 = iOpen(NULL, PERIOD_M5, shift);//※5分足の終値
double yousen_M5 = iClose(NULL, PERIOD_M5,0)-iOpen(NULL, PERIOD_M5,0);//※5分陽線
double insen_M5 = iOpen(NULL, PERIOD_M5,0)-iClose(NULL, PERIOD_M5,0);//※5分陰線
double close_M5は5分足の始値、double open_M5は5分足の終値を示します。
下の計算式は、5分足の陽線と陰線を示すコードです。
M5の欄をM1にすれば1分足、H1にすれば1時間足と自由に変更ができます。
また、ここでは分かりやすいようにdouble yousen、double insenという名称にしていますが、doubleの後の名称は自身が分かりやすいもので構いません。(※アルファベットか数字のみ)
インジゲーターのコード
続いて、インジゲーターのコードを入力します。
インジゲーターは全てコードの入力方法が決まっているので、サインツールの条件にしたいインジゲーターのコードを入力していきましょう。
インジゲーター | コード | 入力例 |
---|---|---|
RSI | double iRSI ( string symbol, //※ 通貨ペア int timeframe, // ※時間 int period, // ※平均期間 int applied_price, // ※適用価格 int shift // ※シフト ); | double rsi_M5= iRSI(NULL,PERIOD_M5,14,PRICE_CLOSE,shift); |
ストキャスティクス | double iStochastic ( string symbol, //※ 通貨ペア int timeframe, // ※時間 int Kperiod, // ※%Kの期間 int Dperiod, // ※%Dの期間 int slowing, // ※スローイングの数値 int method, // ※平均化のメソッド int applied_field, // ※適用価格 int mode, // ※ラインインデックス int shift // ※シフト ); | double stc_M5 = iStochastic (NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1 ); |
ボリンジャーバンド | double iBands ( string symbol, //※ 通貨ペア int timeframe, // ※時間軸 int period, // ※平均期間 double deviation, // ※標準偏差 int bands_shift, //※バンドシフト int applied_price, // ※適用価格 int mode, //※ラインインデックス int shift // ※シフト); | double Boll_M5= iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,1); |
※ボリンジャーバンドは期間20、偏差2.0
RSIを例にすると、期間14でdouble rsi_M5= iRSI(NULL,PERIOD_M5,14,PRICE_CLOSE,shift);というコードを書けば問題ありません。
ローソク足と同様に、double rsi_M5と記載されたdoubleの後は、自身の好きな名称を入力しましょう。
条件式の入力
ローソク足とインジゲーターの入力ができたら、それぞれの条件式をコードにして書いていきます。
今回は、以下の条件を例に見ていきましょう。
- ローエントリーの場合→ローソク足が陽線でRSI70以上
- ハイエントリーの場合→ローソク足が陰線でRS30以下
上記条件をコードにすると、以下のようになります。
if(iVolume(NULL,PERIOD_M5,0) == 1)
{ flag = false; }
if(
close_M5 > open_M5
&&
rsi_M5 >= 70
)
{ LowSignal[0] = iHigh(NULL,0,0) + Point * 10; }
if ( close_M5 < open_M5
&&
rsi_M5 <= 30
)
{ HighSignal[0] = iLow(NULL,0,0) – Point * 10; } return(rates_total); }
LowSignal[0]とHighSignal[0] の箇所は矢印を出すためのコードなので、そこまで注目する必要はありません。
最初のclose_M5 > open_M5 は、ローソク足が陽線であることを表しています。
その後のrsi_M5 >= 70 は、RSI70以下を示しており、条件を満たしたところでLowSignalつまり下矢印が出るということです。
Low Signalの下はハイエントリー時の条件が記載されています。
rsi_M5<30の場合は30よりも小さい、rsi_M5 <= 30の場合は30よりも小さいが30を含むという使い分けが可能です。=を足すか入れないかは自身の手法によって使いわけましょう。
条件式まとめ
ローソク足、例のRSIの条件式をまとめると、以下のようなコードになります。
HighSignal[0] = EMPTY_VALUE;
LowSignal[0] = EMPTY_VALUE;
double close_M5 = iClose(NULL, PERIOD_M5, shift);
double open_M5 = iOpen(NULL, PERIOD_M5, shift);
double rsi_M5= iRSI(NULL,PERIOD_M5,14,PRICE_CLOSE,shift);
if(iVolume(NULL,PERIOD_M1,0) == 1) { flag = false; }
if( close_M5 > open_M5 && rsi_M5 >= 40 )
{ LowSignal[0] = iHigh(NULL,0,0) + Point * 10; }
if ( close_M5 < open_M5 && rsi_M5 <= 50 )
{ HighSignal[0] = iLow(NULL,0,0) – Point * 10; } return(rates_total);
サインツールの作り方で紹介した手順④の通りに進めていけば、MT4内に無事矢印が表示されます。
条件式を変えれば今回紹介した例だけではなく、様々な条件でのサインツールが作成可能です。
サインツール作りの基礎知識
最後に、バイナリーオプションのサインツール作りにおける基本を紹介します。
ここまで読んでサインツール作りに興味を持った方は、以下の基本知識を押さえておきましょう。
全角スぺースや文字の入力はエラーになる
MT4でサインツールのコードを作成する際、全角での入力はエラ―となってしまうので注意しましょう。
必ず半角での入力をしなくてはいけません。
また、空間を開ける際のスペースも半角で行いましょう。
言語化できる条件のみがサインツールに反映できる
バイナリー専用のサインツールは、条件を言語化できるものだけが反映できます。
ローソク足のサイズやインジゲーターの数値など、明確な数字があるものや言葉で言い表せられる相場状況のみです。
ファンダメンタルの分析や、ソーサートップ、ボトムのような、言語化できないものはサインツールではなく、自身の目で判断するようにしましょう。
コード内にメモが残せる
サインツール作成でコードを書く時は、何を目的にして書いたコードであるかメモを残しておくと良いです。
MQLのコードは複雑な文章になるケースが多く、エラーが出た際や再度作成する時のために何を書いたか把握しておきましょう。
メモは、コード内に「//」と2本のスラッシュを残すことで入力できます。
//のない状態でメモを残すと、エラー表示になりサインツールが作成できないので注意しましょう。
コメント