【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] Tokyo Box(ロンドン・コーリング) の新作プログラム (5) 2週間めの実動結果
東京時間(夏時間では午前9時から午後3時まで)の高値を上に抜けたらブレイクで買い、低値を下に
-
-
RVI のクロスを使った逆張り系FX自動売買システム
RVI( relative vigor index )という指標は素直でわかりやすいなぁと前から
-
-
VQ を使ったシンプルな自動売買システム
VQ という摩訶不思議なインジケーターがあります。始値、終値、高値、安値のそれぞれの移動平均線を使っ
-
-
【FX】EA の運用
以前にも書いた内容ですが、よい事例が見つかったので、より具体的に述べてみようと思います。 この
-
-
現代貨幣理論(MMT)
最近よく聞く言葉に、現代貨幣理論 Modern Monetary Theory というものがありまし
-
-
【FX】2024年1月集計
運用中の FX 口座(14口座)の 2024年1月の集計ですが、この月から通常口座とテスト口座に分け
-
-
FX には興味を失った!
何年か前に借りていた VPS(仮想専用サーバー)がたびたび落ちてしまい、腹が立ってここ数年 FX(自
-
-
[FX] 異国のゴールデンゲート
異国の戦士さんという作者の作った自動売買プログラム「異国のゴールデンゲート」がなかなかよいという評判