ペイントバーは足に色を付ける機能で条件を満たす状態が過去から現在にかけて連続して発生しているとき効果を発揮します。
PlotPB(開始値, 終了値, “プロット名”);
ある条件を満たした場合にマークしたい場合にはショウミーが良いでしょう。ショウミーをもっと詳しく知りたい方はこの記事を読んでみてください。
【EasyLanguage⑦】ショウミーを描画する | If~then文とともに
では現在の足の終値も含めて、10本足前の終値を比べモーメンタムが 0 より大きい場合ペイントバーを描画すると同時にアラートを通知するコードを書いてみましょう。
Input: Price(Close), Length(10)
Vars: Mom(0);
Mom = Momentum(Price, Length);
If Mom > 0 then begin
PlotPB(High, Low, “モメンタム正”);
Alert;
end
else begin
NoPlot(1)
end;
上記のペイントバーをチャートに表示させてみましょう。条件を満たした足を黄色に塗っています。
すべての足には日付や曜日、時間の情報が付与されている
インターバルに関わらず全ての足には日付情報が付加されています。週足の場合には金曜日の日付を、月足の場合にはその月の最後の営業日を返します。
EasyLanguage は独自の日付形式でその日付情報を参照することができます。000 を 1900 年、100 を 2000 年として表現しています。例えば、000 は1900年、088 は 1988 年です。この記事を書いているのが2017年8月11日ですからEasyLanguage風に言えば1170811となります。
予約語Dateはこの日付を返します。一足前の日付はDate[1]となります。曜日を表す予約語もありDayOfWeek(Date)です。曜日は数字で返します。
0 = 日曜日
1 = 月曜日
2 = 火曜日
3 = 水曜日
4 = 木曜日
5 = 金曜日
6 = 土曜日
例えば水曜日の足だけをペイントバーで塗りたいなら以下のようなコードになるでしょう。
Input: Week(3);
If DayOfWeek(Date) = Week then
PlotPB(High, Low, “水曜日”);
実際に日足でチャートに表示させてみるとこのようになります。水曜日の足だけが黄色に塗られていることが確認できます。
足には時間の情報も含まれており予約語Timeがあります。例えばTime > 1300なら午後1時以降がTrueということになります。
andとor
andは2つの真偽式がどちらも真のときのみTrueを返し、orはどちらか一方の真偽式が真の時だけTrueになります。丸括弧で計算の優先順位を変えることもできます。
参考文献: