この戦略は,動的な上下線を形成するために価格の移動平均値と標準偏差チャネルを計算し,現在のトレンド方向を判断するために,最も高い価格と最も低い価格の平均値を組み合わせ,中間線を形成する.価格が上下線を突破すると,それは長いことを意味します.価格が下下線を突破すると,それは短いことを意味します.これはトレンド変化に基づいて取引する戦略を実装します.
この戦略の全体的な考え方は明確で理解しやすい.チャネルを通じて動的にトレンドをキャプチャし,複数のミドルレールデザインで取引信号を生成することで,取引のためのトレンド方向を効果的に追跡し,良いリターンを得ることができます.実際の応用では,長期的に安定したリターンを得るために,ストップ損失戦略,資本管理,パラメータ最適化などに注意を払う必要があります.
/*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")