またろうのシストレブログ

マネックス証券が提供しているトレードステーションと、MT4などシストレ関連について色々書きます。株と自動売買、EasyLanguageについても。

トレンドラインを日付時間指定で引くインジケーターを作ってみる



多くのチャートツールは手動で線を引く機能はありますが
割と面倒くさいのではと思います。
その辺を自動化できたら楽ですね。

なので今日はチャートにトレンドラインを引くインジケーターを作ってみます。

f:id:tsukinowaapp:20180727150108j:plain

トレステにはトレンドラインを引くための命令が用意されていますので、それを利用します。

inputs:
	SDate(1180727),
	Stime(0932),
	SPrice(High),
	EDate(1180727),
	Etime(1018),
	EPrice(High),
	LineColor(White);
	
vars:
	id(0),
	double STempPrice(0),
	double EtempPrice(0),
	TLid(0);

IF Date = SDate and time >= Stime and STempPrice = 0 then
BEGIN
	STempPrice = SPrice;
END;

IF Date = EDate and time >= Etime and EtempPrice = 0 then
BEGIN
	EtempPrice = EPrice;
	id = TL_New(SDate, Stime, STempPrice, Date, Time, EtempPrice);
	TL_SetColor(id, LineColor);
END;

IF id > 0 and TLid >= 0 then
BEGIN
	TLid = TL_SetExtRight(id, True);
END;

コード解説

TL_Newで指定した2か所の日付と時間、価格に渡って直線を引くことが可能です。
返値にてIDを取得できますが、
このIDを使って線を延長したり、色を変えたりできます。
TL_SetColorで色を変えてます。
TL_SetExtRightにて、右へ線を延長しています。

今回は高値基準の下降トレンドラインですが
SPrice、EPriceのHighをLowにすれば上昇トレンドでも使えます。

この線をストラテジーに組み込んで売買の基準にすることも可能なようです。(まだやってない)

今回はinputsにて開始・終了時間を入力する方式ですが
できたらこの辺も自動で設定したいですね。
(例えば一定期間での最高値を基準にするなど)

次回はその辺をやってみようかと思います。