Strategi ini menggunakan pengiraan purata bergerak harga dan standard deviasi CHANNEL, membentuk tren naik turun yang dinamik, dan menggabungkan harga tertinggi dan harga terendah untuk membentuk tren tengah, untuk menentukan arah trend semasa. Strategi untuk berdagang mengikut perubahan trend apabila harga menembusi tren naik, turun ketika harga jatuh dari tren.
Strategi ini adalah jelas dan mudah difahami, menangkap trend melalui saluran dinamik, dan menghasilkan isyarat perdagangan yang digabungkan dengan reka bentuk pelbagai rel tengah, yang dapat mengesan arah trend dengan berkesan untuk berdagang, dan mendapat pulangan perdagangan yang lebih baik. Dalam penggunaan praktikal, anda perlu memberi perhatian kepada strategi hentikan kerugian, pengurusan wang, dan mengoptimumkan parameter untuk 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")