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

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

VWAPを直近一定本数で計算する関数を作ってインジケーターにしてみた


VWAPの欠点

今日は久しぶりにトレステの話でもしてみます。
前にVWAPの話をしましたが、VWAPは上げ下げを順に加算していくので
その性質上、前場寄り直後は大きく上下しますが、午後からは殆ど動かなくなります。
なので、直近の一定本数のみを加算する方式にしたらどうか、と考えたのが以下です。

またろう式範囲内VWAP

関数:VWAP_M

inputs: 
	VwapAvg(NumericSimple);

vars:
	PriceW(0),
	ShareW(0),
	Answer(0),
	ii(0),
	BarCount(0);

Once
begin
	PriceW = 0;
	ShareW = 0;
	Answer = OpenD(0);
end;

if date > date[1] then begin
	BarCount = 0;
end;

if CurrentBar > 1 then begin

	PriceW = 0;
	ShareW = 0;
	
	FOR ii = 0 to VwapAvg - 1
	BEGIN
		IF ii < BarCount then
		begin
			PriceW += (High[ii] * UpTicks[ii]) + (Low[ii] * DownTicks[ii]);
		END;
	end;

	FOR ii = 0 to VwapAvg - 1
	BEGIN
		IF ii < BarCount then
		begin
			ShareW += Ticks[ii];
		END;
	end;

	if ShareW > 0 then
	BEGIN
		Answer = PriceW / ShareW;
	END;
		
end;

BarCount = BarCount + 1;

VWAP_M = Answer;

VwapAvgが対象とする直近の本数です。

インジケーター

inputs: 
	AvgDownColor(Cyan), 
	AvgUPColor(Magenta),
	NewColor(DarkGray),
	VwapAvg(25);

vars:
	Answer(0),
	AnswerH(0);

Answer = VWAP_M(VwapAvg);

SetPlotColor(1,NewColor);

IF Answer[1] < Answer then 
	SetPlotColor(1,AvgUpColor);
IF Answer[1] > Answer then
	SetPlotColor(1,AvgDownColor);

Plot1(Answer,"VWAP_M");

従来の移動平均線出来高を加味したもの、という解釈ができるかと思います。

移動平均線と比較してみる

f:id:tsukinowaapp:20181104204749j:plain

細い水色の線が移動平均線で、その近くにある太いピンクと水色の線がまたろう式VWAPです。(ともに25本で設定)
またろう式VWAPの方が敏感に上下しているかと思います。
(ちなみに波の中心に一本通っている線が一般的なVWAPです。)

これを使って何ができるか、と考えてしまうと微妙ですが
良かったら使ってみてください。