Chiến lược này kết hợp các đường EMA, chỉ số MACD và lợi nhuận một ngày để xác định các tín hiệu đột phá thị trường và thực hiện chiến lược giao dịch động lực để mua thấp và bán cao.
Khi đường EMA nhanh vượt qua đường EMA chậm, nó được coi là thị trường đang có xu hướng tăng và một tín hiệu mua được tạo ra. Khi sự khác biệt của chỉ số MACD vượt qua trục 0, một tín hiệu mua cũng được tạo ra để mở các vị trí dài.
Ngoài ra, nếu giá đóng cửa của một ngày tăng hơn 10% so với giá mở, một tín hiệu mua cũng sẽ được tạo ra để theo đuổi xu hướng thị trường phá vỡ.
Sau khi mở các vị trí, nếu giá giảm hơn 10%, stop loss sẽ được kích hoạt.
Đây là một chiến lược theo xu hướng điển hình có thể nắm bắt xu hướng tăng sau một bước đột phá mạnh mẽ, với tiềm năng lợi nhuận lớn.
Mặc dù được thiết kế hợp lý, một số rủi ro vẫn tồn tại:
Để giảm các rủi ro trên, chúng ta có thể xem xét tối ưu hóa chiến lược dừng lỗ di chuyển hoặc thêm các chỉ số khác như khối lượng để lọc tín hiệu.
Vẫn còn chỗ cho việc tối ưu hóa thêm:
Thông qua điều chỉnh tham số, kết hợp chỉ số và các phương pháp khác, sự ổn định và lợi nhuận của chiến lược này có thể được cải thiện đáng kể.
Nói chung, chiến lược này đơn giản, thực tế và có tiềm năng lợi nhuận lớn. Bằng cách đánh giá các điểm đột phá thị trường, nó có thể nắm bắt hiệu quả xu hướng tăng, và kiểm soát rút cũng hợp lý. Trong tối ưu hóa trong tương lai, liên tục cải thiện điều chỉnh tham số và thiết kế dừng lỗ / lấy lợi nhuận có thể làm cho nó trở thành một chiến lược giao dịch định lượng dài hạn có giá trị.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Alt Coins", overlay=true) //Simple Alt Coin Trading Strategy// // by @ShanghaiCrypto // ////EMA//// fastLength = input(5) slowLength = input(12) baseLength = input(50) price = close emafast = ema(price, fastLength) emaslow = ema(price, slowLength) emabase = ema(price, baseLength) ///MACD//// MACDLength = input(9) MACDfast = input(12) MACDslow = input(26) MACD = ema(close, MACDfast) - ema(close, MACDslow) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD ////PUMP//// OneCandleIncrease = input(10, title='Gain %') pump = OneCandleIncrease/100 ////Profit Capture and Stop Loss////// stop = input(10.0, title='Stop Loss %', type=float)/100 profit = input(45.0, title='Profit %', type=float)/100 stop_level = strategy.position_avg_price * (1 - stop) take_level = strategy.position_avg_price * (1 + profit) ////Entries///// if crossover(emafast, emaslow) strategy.entry("Cross", strategy.long, comment="BUY") if (crossover(delta, 0)) strategy.entry("MACD", strategy.long, comment="BUY") if close > (open + open*pump) strategy.entry("Pump", strategy.long, comment="BUY") /////Exits///// strategy.exit("SELL","Cross", stop=stop_level, limit=take_level) strategy.exit("SELL","MACD", stop=stop_level, limit=take_level) strategy.exit("SELL","Pump", stop=stop_level, limit=take_level) ////Plots//// plot(emafast, color=green) plot(emaslow, color=red) plot(emabase, color=yellow) plot(take_level, color=blue) plot(stop_level, color=orange)