Stock 2% gap

Эта стратегия наблюдает за акцией с гэпом вниз на 2%, затем покупает гэп (лонг), чтобы закрыть позицию, когда гэп закрывается, или в конце следующего бара после бара гэпа.

Таким образом, эта стратегия удерживает позицию открытой только в течение 1 бара.


Код

using OpenQuant.API;

public class MyStrategy : Strategy
{
	[Parameter("Gap percent")]
	double Percent = 2;

	[Parameter("Order quantity (number of contracts to trade)")]
	double Qty = 100;

	double prevClose;
	Order sellOrder;

	public override void OnBar(Bar bar)
	{
		prevClose = bar.Close;

		if (HasPosition)
		{
			sellOrder.Cancel();

			Sell(Qty, "Exit");
		}
	}

	public override void OnBarOpen(Bar bar)
	{
		if ((prevClose - bar.Open) / prevClose > Percent / 100)
			Buy(Qty, "Entry");
	}

	public override void OnPositionOpened()
	{
		sellOrder = SellLimitOrder(Qty, prevClose, "Limit Exit");
		sellOrder.Send();
	}
}