이 전략은 단일 이동 평균 및 볼링거 밴드 지표에 기반합니다. 가격이 볼링거 밴드의 상부 또는 하부 밴드를 통과 할 때 구매 및 판매 신호를 생성합니다. 또한 트렌드를 결정하기 위해 이동 평균의 방향을 통합하여 MA가 상승하고 MA가 감소 할 때 오래 걸립니다.
이 전략은 주로 다음의 지표를 이용해서 판단합니다.
특정 거래 신호는 다음과 같습니다.
트렌드와 브레이크오웃을 결합하면 거래 신호가 더 신뢰할 수 있고 가짜 브레이크오웃을 피할 수 있습니다.
일반적으로 이것은 대부분의 사람들에게 적합한 간단하지만 실용적인 전략입니다. 일부 조정 및 최적화로 더 견고하고 더 많은 시장 상황에 적응 할 수 있습니다. 그것은 추천 할 가치가있는 전략입니다.
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="single sma cross", shorttitle="single sma cross",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,overlay=true,currency="USD") s=input(title="s",defval=90) p=input(title="p",type=float,defval=.9,step=.1) sa=sma(close,s) plot(sa,color=red,linewidth=3) band=stdev(close,s)*p plot(band+sa,color=lime,title="") plot(-band+sa,color=lime,title="") // ===Strategy Orders============================================= ======== inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na longCondition = crossover(close,sa+band) and rising(sa,5) shortCondition = crossunder(close,sa-band) and falling(sa,5) crossmid = cross(close,sa) strategy.entry(id = "Long", long=true, when = longCondition) strategy.close(id = "Long", when = shortCondition) strategy.entry(id = "Short", long=false, when = shortCondition) strategy.close(id = "Short", when = longCondition) strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid) strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid)