
七笔形态震荡突破策略通过检测价格形成七根K线的persistence上涨或下跌的形态,判断市场震荡趋势,并在固定时间点进行突破操作,实现盈利。
该策略的核心逻辑基于两个指标:
当检测到sevenReds时,做多;当检测到sevenGreens时,做空。
此外,策略还在每天固定时间(美国重要数据发布时间)进行平仓,锁定利润。
七笔形态震荡突破策略具有以下优势:
七笔形态震荡突破策略也存在一定的风险:
对应解决方法:
七笔形态震荡突破策略可以从以下方面进行优化:
七笔形态震荡突破策略通过捕捉市场中短期震荡趋势实现盈利,同时利用定时操作规避重大风险,并设置止盈逻辑锁定利润。该策略可通过多证券池轮动、机器学习等方式进行效果优化,是一种较为典型的中频量化交易策略。
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Eliza123123
//@version=5
strategy("Breakeven Line Demo", overlay=true)
// Generic signal (not a viable strategy don't use, just some code I wrote quick for demo purposes only)
red = open > close, green = open < close
sevenReds = red and red[1] and red[2] and red[3] and red[4] and red[5] and red[6]
sevenGreens = green and green[1] and green[2] and green[3] and green[4] and green[5] and green[6]
if sevenReds
strategy.entry('Buy', direction=strategy.long)
if sevenGreens
strategy.entry('Sell', direction=strategy.short)
if (hour == 5 and minute == 0 ) or (hour == 11 and minute == 0) or (hour == 17 and minute == 0 ) or (hour == 23 and minute == 0)
strategy.close_all("Close")
// Breakeven line for visualising breakeven price on stacked orders.
var breakEvenLine = 0.0
if strategy.opentrades > 0
breakEvenLine := strategy.position_avg_price
else
breakEvenLine := 0.0
color breakEvenLineColor = na
if strategy.position_size > 0
breakEvenLineColor := #15FF00
if strategy.position_size < 0
breakEvenLineColor := #FF000D
plot(breakEvenLine, color = breakEvenLine and breakEvenLine[1] > 0 ? breakEvenLineColor : na, linewidth = 2, style = plot.style_circles)