見出し画像

[LastBarOnChart]について

【初めに】

[ EasyLanguage ]の開発をしていない方には
まったく関係のない事なので読まなくて大丈夫です。

【 [ LastBarOnChart ]について】

このnoteで販売されているインジケータのほとんどに
[ LastBarOnChart ]という関数が使われています。

ELDファイルをインポートする際に
「Function'LastBarOnChart'はインポート中の場所にすでに存在しています。」
と聞かれて「はい」を押すと上書きされて
[ LastBarOnChart ]の中身が見れなくなります。

「関数の中身が見たいのに見れない!」となった方は
一人くらいいるかもしれません。

そのいるかもしれない一人くらいのために
中身を載せておきます。
それに加え[ LastBarOnChart ]が
何をしているのかの説明を書いておきます٩( ᐛ )و

【 関数:[ LastBarOnChart ]の中身】

LastBarOnChart = Date = LastCalcDate and Time = LastCalcTime;

【 関数:[ LastCalcDate ]の中身】

LastCalcDate = JulianToDate( LastCalcJDate );

【 予約語:[ JulianToDate ] 】

「ユリウス日付」を「EasyLanguageの日付」に変更します。

【 予約語:[ LastCalcJDate ] 】

「最後の足」の「ユリウス日付」を返します。

【 関数:[ LastCalcTime ] 】の中身

LastCalcTime = MinutesToTime( LastCalcMMTime );

【 関数:[ MinutesToTime ]】の中身

inputs: Minutes( numericsimple );
variables: Hr( 0 ), One60th( 1 / 60 ), Min( 0 );

// [ LastCalcMMTime ]で取得した値を[ 1/60 ]し、小数点を省く
Hr = IntPortion( Round( Minutes, 0 ) * One60th );
// [ LastCalcMMTime ]から[ Hr * 60 ](時の値)を引く
Min = Minutes - 60 * Hr ;
// [ Hr / 24 ]の余りに[ 100 ]を掛ける
// そこに[ Min ]を足す
MinutesToTime = 100 * Mod( Hr, 24 ) + Min;

【 予約語:[ LastCalcMMTime ] 】

最後に完了した足に対して、深夜 0 時からの時間を分数で返します。

【何をやっているのか】

簡単に説明すると、
「現在の足の日付と時間が、最後の足の日付と時間と同じなら"真"」
です。
正直、[ LastCalcDateTime ]から日付と時間を取得した方が簡単で早い気がします。

【使い道】

最後の足でのみ出力したい場合はこれを使用します。
「ドローイングオブジェクト」を描画する場合、
これを利用する事が多いです。

いつもご利用ありがとうございます٩( ᐛ )و 依頼の料金のお支払いもここからでお願いします(ง ˙ω˙)ว