About

// Example strategy
func Strategy(rs *engine.RunState) error {
	fast := int(rs.Inputs().GetFloat("fast", 5))
	slow := int(rs.Inputs().GetFloat("slow", 15))

	xmaFast := rs.Close(0).XMA(fast)
	xmaSlow := rs.Close(0).XMA(slow)

	if rs.MarketPosition() == 0 && xmaFast.CrossesAbove(xmaSlow) {
		rs.Buy()
	}

	if rs.MarketPosition() > 0 && xmaFast.CrossesBelow(xmaSlow) {
		rs.ExitLong()
	}

	return nil
}