
この戦略は,双均線の交差を計算することによって,価格の傾向と取引の機会を判断する.快線上をゆっくりと通過すると,黄金の交差とみなされ,多額の取引を行う.快線下をゆっくりと通過すると,死の交差とみなされ,空きをする.同時に,量指標を組み合わせて,真の交差を判断し,偽の信号を避ける.
この戦略は以下の原則に基づいています.
2組の異なるパラメータの平均線を計算し,一組は価格変化に迅速に反応し,一組は比較的ゆっくりである. 速線上を横切ると,価格が上昇傾向を開始することを示す. 速線下を横切ると,価格が低下し始めることを示す.
均線が交差するときは,また,計量能指数の変化を検出する.計量能指数が同期突破するならば,交差信号が信頼できることを示し,計量能指数が対照突破しないならば,偽信号である可能性がある.
交差方向と量によって判断し,多行または空行のポジションに入ります. そして,利益が一定比率に達したときに停止する停止条件を設定します.
具体的には,戦略は,7日間の双平均線の交差を計算して価格の傾向を判断する.計算量変化指標を計算して交差信号の信頼性を判断する.信頼性の高い信号を決定する際には,SIGNALで多かれ少なかれ実行する.
この戦略の主な利点は
この戦略の主なリスクは
この戦略は以下の方向から最適化できます.
この戦略全体として,核心構想は双均線交差判断傾向であり,量能指標のフィルタリング信号である.効果は安定し,容易に実施できる.パラメータをさらに最適化し,信号フィルタリングと停止/止損戦略を追加することで,戦略をより信頼性と知能化し,実戦価値が高くすることができる.
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("ZendicatoR", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
sma1=sma(close,11)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
Q=n1>n2?blue:yellow
plot(sma1,style=line,color=Q,linewidth=4)
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
strategy.close("Short")
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
strategy.entry("Short",strategy.short)