이 전략은 동적 상부 및 하부 레일을 형성하기 위해 가격의 이동 평균 및 표준 편차 채널을 계산하고, 현재 트렌드 방향을 판단하기 위해 가장 높은 가격과 가장 낮은 가격의 평균 값을 결합하여 중간 레일을 형성합니다. 가격이 상부 레일을 통과하면 길다는 것을 의미합니다. 가격이 하부 레일을 통과하면 짧다는 것을 의미합니다. 이것은 트렌드 변화에 따라 거래하는 전략을 구현합니다.
이 전략의 전반적인 아이디어는 명확하고 이해하기 쉽다. 채널을 통해 동적으로 트렌드를 캡처하고 여러 중간 레일 디자인을 가진 거래 신호를 생성함으로써 거래의 트렌드 방향을 효과적으로 추적하고 좋은 수익을 얻을 수 있습니다. 실제 응용에서는 장기적으로 안정적인 수익을 얻기 위해 손실을 멈추는 전략, 자본 관리, 매개 변수 최적화 등에주의를 기울여야합니다.
/*backtest start: 2023-09-10 00:00:00 end: 2023-10-10 00:00:00 period: 4h basePeriod: 15m 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/ // © ErdemDemir //@version=4 strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true) src = close mult = 2.0 basis = sma(src, 20) dev = mult * stdev(src, 20) upper = basis + dev lower = basis - dev offset = 0 lower2 = lowest(20) upper2 = highest(20) basis2 = avg(upper2, lower2) MB= (basis+basis2)/2 col1=close>MB col3=MB>close colorE = col1 ? color.blue : col3 ? color.red : color.yellow p3=plot(MB, color=colorE, linewidth=3) // Deternine if we are currently LONG isLong = false isLong := nz(isLong[1], false) // Determine if we are currently SHORT isShort = false isShort := nz(isShort[1], false) // Buy only if the buy signal is triggered and we are not already long buySignal = not isLong and crossover(close,MB) // Sell only if the sell signal is triggered and we are not already short sellSignal= not isShort and crossover(MB,close) if (buySignal) isLong := true isShort := false if (sellSignal) isLong := false isShort := true /// LONG strategy.entry("long", true , when = buySignal, comment="Open Long") strategy.close("long", when=sellSignal, comment = "Close Long") /// SHORT strategy.entry("short", false, when = sellSignal, comment="Open Short") strategy.close("short", when=buySignal, comment = "Close Short")