Strategi ini menghasilkan tren naik turun yang dinamis dengan menghitung harga rata-rata bergerak dan standar deviasi CHANNEL, dan menggabungkan harga tertinggi dan harga terendah untuk membentuk tren tengah, sehingga menentukan arah tren saat ini. Strategi ini memungkinkan perdagangan berdasarkan perubahan tren ketika harga menembus tren naik dan turun ketika harga turun.
Strategi ini memiliki konsep yang jelas dan mudah dimengerti, menangkap tren melalui Channel dinamis, dan menghasilkan sinyal perdagangan yang digabungkan dengan desain multi-track, yang dapat secara efektif melacak arah tren untuk melakukan perdagangan, dan mendapatkan hasil perdagangan yang lebih baik. Dalam penerapan praktis, perlu memperhatikan strategi stop loss, manajemen dana, dan pengoptimalan untuk Parameter, sehingga mendapatkan keuntungan yang stabil dalam jangka panjang.
/*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")