该策略采用9周期指数移动平均线(9EMA)作为趋势判断依据,在交易日开盘10分钟内,如果连续两根5分钟K线的收盘价都非常接近最高价(大于等于最高价的99%),且收盘价位于9EMA之上,则认为出现了强势突破信号,此时以当前收盘价计算仓位大小,开仓做多。持仓直到出现第一根收盘价跌破9EMA的5分钟K线时平仓。
该策略基于以下原理:
该策略通过捕捉交易日开盘阶段的强势突破行情,以动态仓位的方式参与,力求以较小风险博取较大收益。同时,该策略也采用了严格的止损条件,一旦趋势反转即果断平仓,控制回撤。
针对上述风险,可以考虑从以下方面进行优化和改进:
通过以上优化,该策略有望在趋势捕捉的同时,更好地控制风险,提高策略收益的稳定性和可持续性。当然,任何优化都需要通过严格的回测来验证其有效性,并根据实际情况进行动态调整。
该策略以9EMA为核心,通过连续两根5分钟K线收盘价强势突破9EMA的方式,在交易日开盘10分钟内捕捉强势上涨行情,并采用固定资金额动态调整仓位的方式进行交易。该策略逻辑简单明了,易于理解和执行,适合大多数交易者使用。同时,该策略也存在一定的局限性和风险,例如对于震荡行情和下跌趋势行情的适应性不足,以及开仓后的快速反转风险等。针对这些问题,可以从趋势判断、仓位控制、止损优化、过滤条件等方面进行改进和优化,使策略能够更好地把握市场机会,控制风险。总的来说,该策略思路清晰,可塑性较强,值得进一步探索和实践。
/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Two 5min Closes Above 9EMA Strategy with Dynamic Position Size", overlay=true)
// Define the fixed amount for position sizing
fixedAmount = 1000
// Calculate the 9-period EMA
ema9 = ta.ema(close, 9)
// Define time constraints (9:30 AM to 9:40 AM EST, adjust for your timezone)
sessionStart = 0930
sessionEnd = 0940
timeCondition = (hour * 100 + minute) >= sessionStart and (hour * 100 + minute) < sessionEnd
// Detect two consecutive 5-min bars where close is near 0.99 times the high and above 9 EMA
closeNearHighAndAboveEMA = close >= high * 0.99 and close > ema9
twoConsecutiveBars = closeNearHighAndAboveEMA and closeNearHighAndAboveEMA[1]
// Entry condition: Within the first 10 minutes of the day and two consecutive bars match criteria
entryCondition = twoConsecutiveBars
// Exit condition: First 5-min close below 9 EMA after entry
exitCondition = close < ema9
// Plot EMA for visualization
plot(ema9, color=color.blue, linewidth=2, title="9 EMA")
// Calculate position size
positionSize = fixedAmount / close
// Strategy execution
if (entryCondition)
strategy.entry("Buy", strategy.long, qty=positionSize)
if (exitCondition)
strategy.close("Buy")