1. 程式人生 > >給模型加入倉位控制

給模型加入倉位控制

Params
	Numeric length(3);
	// 交易手數
	Numeric lots(6);
Vars
	// 最高價
	Numeric hp;
	// 最低價
	Numeric lp;
	// 平均成交量
	Numeric average_v; 
	// 多倍交易手數
	Numeric t_lots;
	// 均線
	Numeric ma;
Begin
	hp = Highest(High, length);
	lp = Lowest(Low, length);
	ma = Average(Open, 10);
	// 近三根k線的平均成交量
	average_v = Average(V, 60);
	If (Close > ma) 
	{
		t_lots = 2 * lots;
	}
	Else
	{
		t_lots = 1 * lots;
	}
	// 最高價突破,做多單, 建倉次數小於5,成交量放大近3根k線平均值3倍
	If (H == hp And CurrentEntries < 2 And V > 1.5 * average_v) 
	{
		Buy(t_lots, Close);
	}
	// 最低價突破,做反手單
	If (L == lp)
	{
		// 持空單返回負數,所以使用絕對值
		Sell(Abs(CurrentContracts()), Close);
	}
	PlotNumeric("ma", ma);
End