ローソク足の直近高安値を配列へ格納する関数(オリジナル関数)

オリジナル関数

どうも!和菓子職人トレーダー潤奈です( ゚Д゚)
今回はローソク足の直近高安値を配列へ格納する為のオリジナル関数を紹介します。

オリジナル関数って?という方はこちらのEA講座でオリジナル関数の説明をしていますのでまずこちらをご覧下さい( ゚Д゚)

スポンサーリンク

コード全文

高値と安値を格納する配列を宣言しておきます。この関数はインジケーターで使用する事を想定して作成します。

オリジナル関数のコードは以下の通りです。

コード説明

関数の宣言

値は配列に格納する関数なので、戻り値のないvoid型で宣言します。
int型のn変数には、高値と安値をどこまでのローソク足の本数を確認するかの値を入れるようにします。
使用する時はHighLowLine(100);とすれば、過去100本のローソク足から現時点までの期間を調べるようになります。

高安値の初期値を宣言

高値は対象ローソク足の高値が大きい値に更新されたか確認するので、値を0スタートにしておきます。逆に安値は小さい値に更新されたか確認するので、適当に大きい値を入れておきます。

過去のローソク足からループ処理

高値と安値が更新されていくかを確認するので、過去からさかのぼって確認していくようにループ処理を行います。

一定期間毎に高安値をリセット

日付毎に高値と安値の更新状況を確認したかったので、対象ローソク足の時刻を取得し、0時0分の時に高値と安値を初期値にリセットするようにしました。

例えば、1時間毎にリセットしたい場合は時の条件を削除して、if(TimeMinute(time)==0){とすれば毎時0分でリセットされるようになります。

15分毎にリセットしたい場合は、if(TimeMinute(time)%15==0){として、15で割った時の余りが0の時にリセットするように工夫も出来ます。

高値と安値を比較更新

対象ローソク足の高値を取得し、より高い高値をnewHigh変数に入れて、配列に格納します。

同じく、対象ローソク足の安値を取得し、より安い安値をnewLow変数に入れて、配列に格納します。

まとめ

いかがでしたでしょうか。
これを応用して上手くプログラムの中に組み込んでみて下さい。

では、少しでも参考になれば( ゚Д゚)

【免責事項】

※当ソースコードにおける如何なる損失もご自身の自己責任となります。投資資産における運用の結果生じた損害の全部若しくは一部について一切の責任及び負担を負わないものとします。
※当ソースコードにつきましても、バグや不具合がないことを保証するものではありません。

※当ソースコードについてはサポート等については行っておりません。
※このブログで掲載されている情報は、投資等の勧誘又は推奨を目的としたものではありません。
※掲載されている内容は予告なしに変更することがあります。

高安値の表示インジケーター

このように表示されるインジケーターです。

このオリジナル関数を利用したインジケーターの全ソースコードになります。
時短を考える方、この記事を評価して頂ける方だけご購入をご検討下さい( ゚Д゚)

コメント

タイトルとURLをコピーしました