忍者ブログ

forex tester2のインディケーターを自作

fx(外国為替証拠金取引)のトレードの練習やルールの検証をForex Tester 2というソフトでしてみます。 Meta Trader4(MT4)のインディケーター(indicator)をForex Tester2用に移植できたらしてみます。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


少しだけデバッグしてみました

少しだけデバッグコードを仕込んでデバッグしてみました。

print関数でTerminalに文字列を出力することができます。
C:\ForexTester2\LOGS\ForexTester.log にも同じ内容が記録されます。

Init関数、Calculate関数が呼ばれるタイミング、
Calculate関数の引数indexの値、
HOURバッファの初期値、
ロウソク足増加時のバッファの変化について確認しました。



library HourDisp; uses SysUtils, Interfaces, DateUtils, graphics, IndicatorInterfaceUnit, TechnicalFunctions; var HOUR: TIndexBuffer; procedure Init; stdcall; begin print('initinit'); IndicatorShortName('Hour'); SetOutputWindow(ow_SeparateWindow); SetFixedMinMaxValues(-1, 24); SetEmptyValue(100); AddLevel(13, psDashDot, 1, clYellow); AddLevel(20, psDot, 1, clBlue); HOUR := CreateIndexBuffer; IndicatorBuffers(1); SetIndexBuffer(0, HOUR); end; procedure Calculate(index: integer); stdcall; begin if HOUR[index] < 24 then exit; HOUR[index] := HourOf(Time(index)); print('index='+IntToStr(index)+ ' | HOUR[2]='+FloatToStr(HOUR[2])+ ' | HOUR[1]='+FloatToStr(HOUR[1])+ ' | HOUR[0]='+FloatToStr(HOUR[0])); end; exports Init, Calculate; end.


実行した結果です。


最初にInit関数を実行しています。

バッファの初期値が100となっているので
SetEmptyValue関数で設定した値がバッファの初期値のようです。

Calculate関数の引数を9から0にデクリメントしながら10回実行しています。
右端がHOUR[0]になるようです。



ローソク足が1本増えると元々のHOUR[0]の値がHOUR[1]にコピーされています。
左端がHOUR[10]となって右端がHOUR[0]となっています。
勝手にシフトされているようです。

if HOUR[index] < 24 then exit;
この処理で設定済みのバッファは上書きしないようにしています。
Calculate関数が毎分実行されて
Logが多くなるのを防いでいます。
PR

トラックバック

トラックバックURL:

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字(絵文字)


forex tester2 販売
Forex Tester 2の購入はこちらから。
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリー
フリーエリア



最新記事
最新CM
最新TB
RSS
ブログ内検索
アーカイブ
最古記事
プロフィール
HN:
fx練習生
年齢:
48
性別:
男性
誕生日:
1975/04/03
職業:
夢は専業トレーダー
趣味:
fx
自己紹介:
fxの専業トレーダーになって経済的自由と時間的自由を手に入れたいです。
自分で売買ルールを作成してテストして自信をもってリアルトレードしたいです。
P R