
Chiến lược này được viết dựa trên Pine Script nhằm mục đích xác định tín hiệu mua tiềm năng thông qua hình thức 1-2-3, kết hợp với các điều kiện bổ sung của chỉ số moving average ((EMA) và moving average convergence divergence ((MACD)). Chiến lược này sử dụng hình thức giá, xác nhận xu hướng và chỉ số động lực để cung cấp tín hiệu giao dịch toàn diện.
Cốt lõi của chiến lược này là xác định hình dạng 1-2-3, một hình dạng giá phổ biến, bao gồm ba đường dây liên tiếp, cho thấy xu hướng tiềm năng bị đảo ngược. Đối với tín hiệu mua, giá đóng cửa đường dây đầu tiên cao hơn giá mở, giá đóng cửa đường dây thứ hai thấp hơn giá mở, giá đóng cửa đường dây thứ ba cao hơn giá đóng cửa đường dây đầu tiên, và cuối cùng là giá đóng cửa đường dây thứ tư cao hơn cửa dây thứ ba.
Ngoài hình 1-2-3, chiến lược này cũng sử dụng các chỉ số EMA và MACD để xác nhận hướng xu hướng và sự đảo ngược xu hướng tiềm năng. Các đường EMA 9 và đường EMA 20 được sử dụng để xác nhận xu hướng, trong khi đường MACD và đường tín hiệu được sử dụng để xác định động lực và sự đảo ngược xu hướng tiềm năng.
Khi tất cả các điều kiện mua được đáp ứng, tức là hình thức 1-2-3, giá đóng cửa cao hơn hai đường EMA, đường MACD cao hơn đường tín hiệu, chiến lược sẽ mở một vị trí nhiều đầu. Tương tự như vậy, khi tất cả các điều kiện bán được đáp ứng, chiến lược sẽ mở một vị trí đầu trống.
Chiến lược này dựa trên các chỉ số 1-2-3, EMA và MACD cung cấp một phương pháp toàn diện để xác định tín hiệu mua bán tiềm năng. Nó kết hợp các chỉ số định hình giá, xác nhận xu hướng và động lực để tạo ra tín hiệu giao dịch đáng tin cậy. Tuy nhiên, chiến lược này cũng có một số hạn chế, chẳng hạn như thiếu các biện pháp quản lý rủi ro và tối ưu hóa tham số.
/*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)