【FX】ForexTrend というインジケーター(2)
公開日:
:
マネー
昨日の続きで、ForexTrend というインジケーターの話です。
ForexTrend という一般名詞のような固有名詞をつけているので、検索してもなかなか該当のものがヒットしないのが困りますね。
実行ファイルは 以下のサイトで入手できましたが、ソースがありません。
つまり、内部のロジックがどうなっているかわかりません。
ということで、ForexTrend.ex4 という実行ファイルを Indicators フォルダに置いた状態で、iCustom 関数を使った独自インジケーターを作成して挙動を調べます。
この独自インジケーターは ForexTrend.ex4 の出力値を得ることができます。
- 出力する値が何組なのか
- その値は整数なのか実数なのか(あるいは記号?)
これらがわかると、それを返り値とする関数として、自動売買プログラム(EA)の内部で使うことができます。
独自インジケーターを次のように作成。
#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
//— plot custom
#property indicator_label1 “custom”
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 clrAqua
#property indicator_style1 STYLE_SOLID
#property indicator_width1 3//— indicator buffers
double customBuffer1[];
//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int OnInit()
{
//— indicator buffers mapping
SetIndexBuffer(0,customBuffer1);
//— setting a code from the Wingdings charset as the property of PLOT_ARROW
SetIndexArrow(0, 181);return(INIT_SUCCEEDED);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//—
int limit = Bars – IndicatorCounted() – 1;
if (limit < 1) limit = 1;for (int i = limit; i >= 0; i–) {
customBuffer1[i] = iCustom( NULL, 0, “ForexTrend.ex4”, 7, 50.6, 1000 , 0, i );
// Print(customBuffer1[i]);
}
return(rates_total);
}
//+—-
*
バッファーは最初3個まで増やしてみましたが、結局1個しか使っていないようです。
つまり1個の値しか出力せず、それが実数値であることがわかりました。
そしてその値が、「0.0」と「1.0」しか取らないということがわかりました。
↑ 上の段が ForexTrend.ex4 で、下の段が独自インジケーター(出力を線表示したもの)です。
これを見て、最初は Shaff Trend Cycle を使っているのかと思いましたが、ForexTrend.ex4 のパラメーター(7, 50.6, 1000)を見ると全然違います。
特に 50.6 という 2番目のパラメーターが意味不明。どこからどこまでステップをいくらにして求めた最適値なのか不明です。
↑ 上の段が ForexTrend.ex4 で、下の段が独自インジケーター(出力をヒストグラムで表示したもの)です。
これだと完全に一致しますね。黒い部分を赤くする余分な処理は下段では行っておりませんが。
つまり、ForexTrend.ex4 を関数として使えば、戻り値は実数値の「0.0」と「1.0」しかないということがわかりました。
これで、外部インジケーターを EA 内部の関数として扱うことができる下準備が完了しました。
次回は EA を作ってみましょうか。
関連記事
関連記事
-
-
【FX】2024年4月総括
「【FX】2024年4月第1,2,3,4週総括」の続きです。 2024年4月総括 今月の 1日ご
-
-
貯蓄型の生命保険の1つ プレミアプレゼント(第一フロンティア生命)
昨日の記事「貯蓄型の生命保険」で紹介した「2年経過すると死亡保険金が掛け金の2倍になる」というドル建
-
-
【FX】Voorloper という EA(4) リアルトレード開始
Voorloper は MQL5.com で無料配布されている自動売買プログラムです。 以前の
-
-
【FX】Monopolist という EA
久々に FX の話です。 MQL5 で売られている Monopolist という EA ですが
-
-
2023-07-24 投資メモ
前回の記事「2023-06-27 投資メモ」から約1ヶ月。 楽天証券の分ですが、現在の資産は以
-
-
[FX] PLATINUM TURBO FX 入手
PLATINUM TURBO FX というスキャルピング用システムを入手しました。 M
-
-
【FX】Exness で新たにゼロ口座を開いてみる
スタンダード口座を開いた Exness ですが、スプレッドは十分狭いとは言えず、朝スキャの勝率もバッ
-
-
[FX] FXスキャルマスター システム
FXスキャルマスターという有料のシステムを入手しました。 3本の移動平均線を使って、長
-
-
S&P500 についての雑談
最近、史上最高を更新中の S&P500 についてのお話です。 S&P500 と