チャートのタイムフレーム(期間•時間枠)を一括で変更するスクリプト
チャートのタイムフレームを一括で変更したいです
FXの不労所得だけで年収2000万を達成しました。
このお悩みに誠意をもって回答します。
このページでわかること・できること
〇複数チャートのタイムフレームを一括で変更する方法
〇タイムフレーム変更スクリプトの入手
〇スクリプトの活用方法
〇プログラム詳細
チャートのタイムフレーム(期間・時間枠)はスクリプトで一括変更できる
MT4用スクリプト「TimeFlameChangar」を使用すれば、すべてのチャートでタイムフレームを一括変更できる。
ダウンロードはこちらのリンクから可能。
MT4へのセットは、データフォルダ>MQL4>Scriptsへファイルを移動しMT4の再起動で完了する。
詳細はこちらを参照。
タイムフレーム一括変更のやり方
スクリプト「TimeFlameChangar」の使い方はかんたんで、起動させて期間を指定すればすべてのチャートに反映される。
- スクリプトを起動(ダブルクリック、または任意のチャートへドロップ)
- 「パラメーターの入力」タブで期間を指定
スクリプトを使ってチャート分析を効率化する方法とは?
期間ごとにMT4をわけると監視しやすいですね
グループごとの期間変更もスクリプトを使えば簡単です
上記の例ではMT4をタイムフレーム(期間)ごとにわけて使用している。
MT4①には5分足だけ表示、MT4②には15分足だけ表示、MT4③には1時間足だけ表示として使用するとチャート監視がしやすい。
それだけでなく「H1をH4に切り替えたい」といった時でも一括変更は容易なためおすすめだ。
プログラム詳細
void OnStart()
{
long chartIds[];
long chartId;
if(GetChartIds(chartIds))
{
for(int i=ArraySize(chartIds)-1;i>=0;i--)
{
chartId=chartIds[i];
ChartSetSymbolPeriod(chartId,ChartSymbol(chartId),Timeframe);
}
}
return;
}
bool GetChartIds(long &chartIds[])
{
int i=0;
long chartId=ChartFirst();
while(chartId>=0)
{
if(ArrayResize(chartIds,i+1)<0) return(false);
chartIds[i]=chartId;
chartId=ChartNext(chartId);
i++;
}
if(ArraySize(chartIds)>0)
{
return true;
}
return false;
}
void OnStart(): メインの実行関数であり、スクリプトが起動されたときに実行される。
long chartIds[];: チャートIDを格納する配列を宣言。
long chartId;: チャートIDを一時的に保持するための変数を宣言。
if(GetChartIds(chartIds)): GetChartIds関数を呼び出して、チャートIDを取得し、成功した場合には以下の処理を実行。
for(int i=ArraySize(chartIds)-1;i>=0;i–): チャートIDの配列を逆順でループ。
chartId=chartIds[i];: ループ内で現在のチャートIDを取得。
ChartSetSymbolPeriod(chartId,ChartSymbol(chartId),Timeframe);: ChartSetSymbolPeriod関数を使って、チャートの時間足を変更。
bool GetChartIds(long &chartIds[]): チャートIDを取得するカスタム関数を定義する。
int i=0;: ループ用のカウンタ変数を初期化。
long chartId=ChartFirst();: 最初のチャートのIDを取得。
while(chartId>=0): チャートIDが有効である限り、以下の処理を繰り返す。
if(ArrayResize(chartIds,i+1)<0) return(false);: チャートIDを格納する配列のサイズを拡張。
chartIds[i]=chartId;: 現在のチャートIDを配列に格納。
chartId=ChartNext(chartId);: 次のチャートのIDを取得。
if(ArraySize(chartIds)>0): 配列にチャートIDが格納されている場合には、以下の処理を実行する。
return true;: チャートIDの取得が成功したことを示す真を返す。
return false;: チャートIDの取得が失敗したことを示す偽を返す。
その他の便利なMT4用スクリプト
-
ラウンドナンバーに自動で水平ラインを引く方法|MT4スクリプト
-
市場ごとに高値と安値を色分けする|時間帯ブレイクアウト|MT4スクリプト
-
取引履歴をすべてCSVファイルに出力するスクリプト|MT4
-
リスクゼロの損益分岐点でストップ注文するスクリプト|ブレイクイーブン
-
MT4を便利にするスクリプトまとめ
-
すべてのチャートを一括で閉じる方法|通貨ペア選択も可|MT4スクリプト
-
S/L・T/P注文を一括でキャンセルする方法|MT4スクリプト
-
ストップロス(損切り)とテイクプロフィット(利食い)を一括で注文する方法
-
ポジション全決済と売りのみ・買いのみ決済を選択できる一括決済スクリプト
-
すべて・または選択したチャートを一括で開く方法|MT4スクリプト
-
チャートのトレンドラインまたはオブジェクトすべてを一括で削除する方法
-
チャートのタイムフレーム(期間•時間枠)を一括で変更するスクリプト
まとめ
MT4用スクリプト「TimeFlameChanger」を使用すると、複数のチャートの時間足を一括で変更できる。
スクリプトは本記事でダウンロードが可能だ。
スクリプトの利用方法は簡単で、起動して期間を指定するだけで全てのチャートに反映される。
複数の通貨ペアをタイムフレームごとにわけてMT4表示すると、期間の変更も容易く効率的な監視が可能となる。