
Strategi amaran reversal awal MACD di bahagian bawah dengan menganalisis garis laju MACD untuk menentukan sama ada harga semasa berada di paras tertinggi atau terendah, dan sama ada ia akan berbalik, untuk membuat keputusan cepat mengenai pergerakan harga pasaran.
Strategi ini adalah untuk menyaring dan menyaring data yang sesuai dengan garis cepat dan lambat dari output penunjuk standard MACD untuk menentukan sama ada harga memasuki kawasan kritikal sebelum berbalik dan menghantar isyarat membeli atau menjual.
Khususnya, strategi ini menggunakan pengiraan garis cepat MACD dengan garpu emas dan garpu mati garpu untuk menentukan apakah harga memasuki kawasan bawah tren naik atau kawasan atas tren turun. Pada garpu emas, jika harga tutup lebih tinggi daripada harga tutup bar sebelumnya, dan perbezaan lebih tinggi daripada perbezaan bar sebelumnya, ia akan masuk ke kawasan bawah dan mengeluarkan isyarat amaran pembalikan bawah. Pada garpu mati, jika harga tutup lebih rendah daripada harga tutup bar sebelumnya, dan perbezaan bar sebelumnya lebih tinggi daripada perbezaan semasa, ia akan masuk ke kawasan atas dan mengeluarkan isyarat amaran pembalikan atas.
Penyelesaian:
Strategi amaran reversal di bahagian bawah MACD dengan menganalisis penyambungan garis laju MACD, menentukan sama ada harga memasuki kawasan kritikal untuk reversal, dapat menemui bahagian bawah dan atas dengan berkesan, memberikan panduan untuk membuat keputusan perdagangan. Tetapi MACD sendiri membuat keputusan yang terlewat, tidak dapat menentukan titik reversal dan kekuatan reversal yang tepat. Oleh itu, parameter perlu disesuaikan dengan betul, dan digunakan bersama dengan petunjuk lain, mengawal risiko, untuk memanfaatkan strategi ini.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
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/
// © blackcat1402
//@version=5
strategy("[blackcat] L2 Reversal Labels Strategy", overlay=true, max_bars_back=5000, max_labels_count=500)
[diff, dea, macd] = ta.macd(close,12, 26, 9)
a1 = ta.barssince(ta.crossover(diff,dea)[1])
a2 = ta.barssince(ta.crossunder(diff,dea)[1])
bottom_zone = (close[a1+1]>close) and (diff>diff[a1+1]) and ta.crossover(diff,dea)
top_zone = (close[a2+1]<close) and (diff[a2+1]>diff) and ta.crossunder(diff,dea)
// Plot labels
l0 = top_zone ? label.new(bar_index, high * 1.0, 'Near Top', color=color.new(color.red, 50), textcolor=color.white, style=label.style_label_down, yloc=yloc.price, size=size.small) : bottom_zone ? label.new(bar_index, low * 1.0, 'Near Bottom', color=color.new(color.green, 50), textcolor=color.white, style=label.style_label_up, yloc=yloc.price, size=size.small) : na
if bottom_zone
longmsg = 'Bottom Reversal Soon!'
alert(message=longmsg, freq=alert.freq_once_per_bar_close)
else if top_zone
shortmsg = 'Top Reversal Soon!'
alert(message=shortmsg, freq=alert.freq_once_per_bar_close)
longCondition = bottom_zone
if (longCondition)
strategy.entry("long", strategy.long)
shortCondition = top_zone
if (shortCondition)
strategy.entry("short", strategy.short)