本策略基于枢轴点的突破来进行反转交易。它会计算指定周期的最高价和最低价,以此确定枢轴高点和枢轴低点。当价格超过枢轴高点时,做空;当价格低于枢轴低点时,做多。这是一个典型的短线反转策略。
该策略的核心逻辑是计算枢轴高点和枢轴低点。枢轴高低点的计算公式如下:
枢轴高点 = 最近N1根K线的最高价之和 / N1
枢轴低点 = 最近N2根K线的最低价之和 / N2
其中N1和N2是可以设置的两个参数,代表计算枢轴点所需要的K线数量。
计算出枢轴高低点后,策略就可以进行交易了。具体交易规则是:
这样,它就实现了一个基于枢轴点突破的短线反转策略。
这是一个非常简单的反转策略,具有如下优势:
该策略也存在一些风险:
可以通过调整参数、设置离场策略等方法来控制这些风险。
该策略还有很大的优化空间:
本策略是一个非常简单的短线枢轴反转策略。它的优点是简单易理解,适合频繁交易,可以捕捉反转行情。但也存在一定的风险,需要进一步优化以减少风险。总体来说,这是一个非常适合新手练习的策略,也为高级策略奠定了基础。
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Pivot Reversal Strategy - FIGS & DATES 2.0", overlay=true, pyramiding=0, initial_capital=10000, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, commission_value=0.075)
leftBars = input(4)
rightBars = input(2)
// backtesting date range
from_day = input(defval=1, title="From Day", minval=1, maxval=31)
from_month = input(defval=1, title="From Month", minval=1, maxval=12)
from_year = input(defval=2018, title="From Year", minval=1900)
to_day = input(defval=1, title="To Day", minval=1, maxval=31)
to_month = input(defval=1, title="To Month", minval=1, maxval=12)
to_year = input(defval=9999, title="To Year", minval=1900)
time_cond = true
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
middle = (swh+swl)/2
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : le[1] and high > hprice ? false : le[1]
if le and time_cond
strategy.entry("LONG", strategy.long, comment="LONG", stop=hprice + syminfo.mintick)
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : se[1] and low < lprice ? false : se[1]
if se and time_cond
strategy.entry("SHORT", strategy.short, comment="SHORT", stop=lprice - syminfo.mintick)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)