Market Data Mini - インジゲーター

sitemap
世界最強のFXキャッシュバックサイト
TOP > インジゲータ > Market Data Mini
Market Data Mini
Market Data Miniの説明
現在チャートのスプレッド、通貨ペア、時間足をチャートウインドウの左上に表示するインジゲーター。
スプレッドが更新されるたび、時間足が変更されるたびに表示も更新されます。また違う通貨ペアのチャートにインジゲーターを起動させると表示が変わります。

ソースコード説明
ソースコード完成例
MarketDataコード
テキスト版(ソースコード)はこちら
各処理の説明
前半部分は、省略させていただきます。詳しく知りたい方は、「オブジェクトで四角形を描いて装飾をする」を参考にしてみてください。

■初期化関数の設定
・通貨ペアの設定
①string pair = Symbol( );
②ObjectCreate( "symbol",OBJ_LABEL,0,0,0);
③ObjectSet("symbol",OBJPROP_XDISTANCE,40);
④ObjectSet("symbol",OBJPROP_YDISTANCE,90);
⑤ObjectSetText("symbol","通貨ペア:"+pair,20,"MS ゴシック",clrWhite);

①string pair = Symbol( );
string型の変数pairにSymbol()を利用して取得した値を代入します。

②ObjectCreate( "symbol",OBJ_LABEL,0,0,0);
オブジェクト名「symbol」、オブジェクトの種類「ラベル」、オブジェクトの位置を「0,0,0」に設定。

③ObjectSet("symbol",OBJPROP_XDISTANCE,40);
設定した原点からのX軸の画面中央に向かっての距離を「40」に指定。

④ObjectSet("symbol",OBJPROP_YDISTANCE,90);
設定した原点からのY軸の画面中央に向かっての距離を「90」に指定。

⑤ObjectSetText("symbol","通貨ペア:"+pair,20,"MS ゴシック",clrWhite);
オブジェクトの文字列を「通貨ペア」と上記で代入した変数「pair」にします。
また、文字のサイズを「20」、書式を「MS ゴシック」、カラーを「白」に設定。

・時間足の設定
  ①int time = Period( );
  ②string s_time = "";
        
  ③if(time >= 60)
    {
    s_time = "1h";
    }
    if(time >= 240)
    {
    s_time = "4h";
    }
    if(time >= 1440)
    {
      s_time = "D1";
    }
    if(time >= 10080)
    {
      s_time = "W1";
    }
    if(time >= 43200)
    {
      s_time = "MN";
    }
    
   ④if(time < 60)
    {    
   ⑤ObjectCreate( "Period02",OBJ_LABEL,0,0,0);
   ⑥ObjectSet("Period02",OBJPROP_XDISTANCE,40);
   ⑦ObjectSet("Period02",OBJPROP_YDISTANCE,140);
   ⑧ObjectSetText("Period02","時間足:"+time,20,"MS ゴシック",clrWhite);
   ⑨}else{    
   ⑩ObjectCreate( "Period02",OBJ_LABEL,0,0,0);
   ⑪ObjectSet("Period02",OBJPROP_XDISTANCE,40);
   ⑫ObjectSet("Period02",OBJPROP_YDISTANCE,140);
   ⑬ObjectSetText("Period02","時間足:"+s_time,20,"MS ゴシック",clrWhite);
    }

①int time = Period( );
int型の変数timeにPeriod()を利用して取得した値を代入します。

②string s_time = "";
string型の変数s_timeに「""」を代入して初期化しておきます。

③if(time >= 60){ s_time = "1h";}
timeが60以上のとき、「1h」と表示されるように設定します。
同様に、240以上のときは、「4h」、1440以上のときは、「D1」、10080以上のときは、「W1」、43200以上のときは、「MN」と表示されるように設定します。

④if(time < 60){ }
timeが60未満のときの処理を追加します。

⑤ObjectCreate( "Period02",OBJ_LABEL,0,0,0);
オブジェクト名「Period02」、オブジェクトの種類「ラベル」、オブジェクトの位置を「0,0,0」に設定。

⑥ObjectSet("Period02",OBJPROP_XDISTANCE,40);
設定した原点からのX軸の画面中央に向かっての距離を「40」に指定。

⑦ObjectSet("Period02",OBJPROP_YDISTANCE,140);
設定した原点からのY軸の画面中央に向かっての距離を「140」に指定。

⑧ObjectSetText("Period02","時間足:"+time,20,"MS ゴシック",clrWhite);
オブジェクトの文字列を「時間足」と上記で代入した変数「time」にします。
また、文字のサイズを「20」、書式を「MS ゴシック」、カラーを「白」に設定。

⑨}else{
timeが60未満ではないときの処理を追加します。

⑩ObjectCreate( "Period02",OBJ_LABEL,0,0,0);
オブジェクト名「Period02」、オブジェクトの種類「ラベル」、オブジェクトの位置を「0,0,0」に設定。

⑥ObjectSet("Period02",OBJPROP_XDISTANCE,40);
設定した原点からのX軸の画面中央に向かっての距離を「40」に指定。

⑦ObjectSet("Period02",OBJPROP_YDISTANCE,140);
設定した原点からのY軸の画面中央に向かっての距離を「140」に指定。

⑬ObjectSetText("Period02","時間足:"+s_time,20,"MS ゴシック",clrWhite);
オブジェクトの文字列を「時間足」と上記で代入した変数「s_time」にします。
また、文字のサイズを「20」、書式を「MS ゴシック」、カラーを「白」に設定。

■指標計算関数の設定
・スプレッドの設定
int start()
{
   ①double spread = MarketInfo(Symbol(),MODE_SPREAD)*0.1;
   ②spread = NormalizeDouble(spread,1);

   ③ObjectCreate( "spread",OBJ_LABEL,0,0,0);
   ④ObjectSet("spread",OBJPROP_XDISTANCE,40);
   ⑤ObjectSet("spread",OBJPROP_YDISTANCE,40);
   ⑥ObjectSetText("spread","Spread:"+spread,20,"MS ゴシック",clrWhite);

   return(INIT_SUCCEEDED);

}

①double spread = MarketInfo(Symbol(),MODE_SPREAD)*0.1;
double型の変数spreadにMarketInfoを利用して取得したスプレッドの値に0.1をかけた値を代入します。

②spread = NormalizeDouble(spread,1);
spreadにspreadを小数点以下第2位で四捨五入した値を代入します。

③ObjectCreate( "spread",OBJ_LABEL,0,0,0);
オブジェクト名「spread」、オブジェクトの種類「ラベル」、表示させるウインドウの番号を「0(チャートウインドウ)」、オブジェクトの位置を「0,0,0」に設定。

④ObjectSet("spread",OBJPROP_XDISTANCE,40);
設定した原点からのX軸の画面中央に向かっての距離を「40」に指定。

⑤ObjectSet("spread",OBJPROP_YDISTANCE,40);
設定した原点からのY軸の画面中央に向かっての距離を「40」に指定。

⑥ObjectSetText("spread","Spread:"+spread,20,"MS ゴシック",clrWhite);
オブジェクトの文字列を「Spread:」と上記で代入した変数「spread」にします。
また、書式を「MS ゴシック」、カラーを「白」に設定。
パラメータの説明
今回はとくにありません。
使用例
USDJPY(ドル円)の15分足チャート 15分足

時間足が変わったとき
1h足
通貨ペアが変わったとき
AUDNZD
このインジゲータに使用しているMQLの一覧
関連ページ
スポンサードリンク
Twitter