
Strategi yang ditulis berdasarkan Pine Script ini bertujuan untuk mengenal pasti isyarat jual beli yang berpotensi melalui bentuk 1-2-3, digabungkan dengan syarat-syarat tambahan dari indeks Moving Average (EMA) dan Moving Average Convergence Divergence (MACD). Strategi ini menggunakan bentuk harga, pengesahan trend dan indikator dinamik untuk memberikan isyarat perdagangan yang komprehensif.
Inti strategi ini adalah untuk mengenal pasti bentuk 1-2-3, yang merupakan bentuk harga yang biasa, yang terdiri daripada tiga tali kekunci berturut-turut, yang menunjukkan perubahan trend yang berpotensi. Untuk isyarat membeli, tali kekunci pertama ditutup dengan harga lebih tinggi daripada harga pembukaan, tali kekunci kedua ditutup dengan harga lebih rendah daripada harga pembukaan, tali kekunci ketiga ditutup dengan harga lebih tinggi daripada tali kekunci pertama, dan tali kekunci keempat ditutup dengan harga lebih tinggi daripada tali kekunci ketiga.
Selain bentuk 1-2-3, strategi ini juga menggunakan EMA dan MACD untuk mengesahkan arah trend dan potensi trend reversal. EMA 9 dan EMA 20 digunakan untuk pengesahan trend, manakala garis MACD dan garis isyarat digunakan untuk mengenal pasti momentum dan potensi trend reversal.
Apabila memenuhi semua syarat membeli, iaitu pembentukan bentuk 1-2-3, harga penutupan lebih tinggi daripada dua EMA, garis MACD lebih tinggi daripada garis isyarat, strategi akan membuka kedudukan multihead. Dengan cara yang sama, apabila memenuhi semua syarat menjual, strategi akan membuka kedudukan kosong. Apabila menghasilkan isyarat yang bertentangan atau arah penutupan tali pinggang semasa bertentangan dengan arah memegang kedudukan, strategi akan meratakan kedudukan yang sesuai.
Strategi ini berdasarkan 1-2-3 bentuk, EMA dan MACD menyediakan cara yang komprehensif untuk mengenal pasti isyarat membeli-belah yang berpotensi. Ia menggabungkan bentuk harga, pengesahan trend dan isyarat dinamik untuk menghasilkan isyarat perdagangan yang boleh dipercayai. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan, seperti kekurangan langkah-langkah pengurusan risiko dan pengoptimuman parameter.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("1-2-3 Pattern Strategy with EMAs, MACD, and 4th Candle Extension", overlay=true)
// Define conditions for the 1-2-3 pattern for buy orders
buy_candle1_above_open = close[3] > open[3]
buy_candle2_below_open = close[2] < open[2]
buy_candle3_above_close = close[1] > close[3]
buy_candle4_above_close = close > close[3]
// Define conditions for the 1-2-3 pattern for sell orders
sell_candle1_below_open = close[3] < open[3]
sell_candle2_above_open = close[2] > open[2]
sell_candle3_below_close = close[1] < close[3]
sell_candle4_below_close = close < close[3]
// Fetch 9 EMA, 20 EMA, and MACD
ema_9 = ta.ema(close, 9)
ema_20 = ta.ema(close, 20)
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
// Implement strategy logic for buy orders
if (buy_candle1_above_open and buy_candle2_below_open and buy_candle3_above_close and buy_candle4_above_close and strategy.opentrades == 0 and close > ema_9 and close > ema_20 and macd_line > signal_line)
strategy.entry("Buy", strategy.long, qty=5)
if (close < open and strategy.opentrades > 0)
strategy.close("Buy", qty=5)
// Implement strategy logic for sell orders
if (sell_candle1_below_open and sell_candle2_above_open and sell_candle3_below_close and sell_candle4_below_close and strategy.opentrades == 0 and close < ema_9 and close < ema_20 and macd_line < signal_line)
strategy.entry("Sell", strategy.short, qty=5)
if (close > open and strategy.opentrades > 0)
strategy.close("Sell", qty=5)