Chiến lược này là một chiến lược đột phá dựa trên chỉ số động lực giá MACD và trung bình động, phù hợp với khung thời gian 1 giờ trên bạc (XAG/USD, XAG/EUR).
Khi biểu đồ MACD thay đổi từ âm sang dương và liên tục vượt qua đường tín hiệu, nó cho thấy xu hướng tăng ngắn hạn mạnh hơn. Đồng thời, nếu giá đóng phá vỡ xu hướng tăng của đường trung bình động, nó tạo ra tín hiệu dài. Tương tự, khi biểu đồ MACD thay đổi từ dương sang âm và giảm xuống dưới đường tín hiệu, và giá đóng giảm xuống dưới xu hướng giảm của đường trung bình động, nó tạo ra tín hiệu ngắn.
Cụ thể, các điều kiện để xác định tín hiệu đầu vào dài của chiến lược này là:
Các điều kiện để xác định tín hiệu đầu vào ngắn là ngược lại.
Một khi vị trí đã được mở, nó sẽ được đóng vô điều kiện khi K-line tiếp theo đóng cửa. Chiến lược này không đặt điểm lấy lợi nhuận hoặc dừng lỗ, nhằm mục đích nắm bắt điểm khởi đầu của sự bùng phát xu hướng.
Chiến lược này kết hợp các chỉ số giá và động lực để xác định thời gian đảo ngược xu hướng chính xác hơn với tỷ lệ thắng cao hơn.
Không có thiết lập lợi nhuận và dừng lỗ đáp ứng nhu cầu của các nhà đầu tư theo đuổi lợi nhuận cao.
Thiếu stop loss có thể dễ dàng dẫn đến việc cố định lỗ và rủi ro mất mát cao hơn.
Cách đóng cửa vô điều kiện trong đường K tiếp theo làm cho việc tiếp tục nắm bắt lợi nhuận xu hướng khó khăn.
Có thể xem xét thêm các chiến lược dừng lỗ phù hợp trên cơ sở mua đột phá có lợi nhuận cao để giảm rủi ro mất mát.
Nó cũng có thể kết hợp các kỹ thuật tiên tiến để nhập lại các vị trí sau khi đóng, cố gắng liên tục nắm bắt lợi nhuận xu hướng.
Nói chung, chiến lược này thuộc về một chiến lược rủi ro cao tích cực. Do không có thiết lập stop loss, các nhà đầu tư cần phải chịu rủi ro mất mát lớn hơn. Nhưng nếu đảo ngược thành công, cơ hội mở các vị trí với số lượng lớn đầu tiên cũng có thể dẫn đến lợi nhuận cao. Nó phù hợp với các nhà đầu tư tích cực có sức chịu đựng tâm lý tương đối mạnh.
/*backtest start: 2023-01-31 00:00:00 end: 2024-01-13 05:20:00 period: 1d basePeriod: 1h 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/ // © SoftKill21 //@version=4 strategy("XAG strategy 1h",overlay=true) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2020, title = "From Year", minval = 1970) var gica = 0 var marcel = gica+2 //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true len = input(10, minval=1, title="Length") src = input(close, title="Source") out = sma(src, len) //distanta = input(1.004) fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal option1=input(true) option2=input(true) long2 = close > open and time_cond and close > out and hist > 0 and hist > hist[1] short2 = close < open and time_cond and close < out and hist < 0 and hist < hist[1] long1 = (close > open ) and time_cond and close > out and hist > 0 and hist > hist[1] and high > high[1] and high[1] > high[2] and close > high[1] and close > high[2] and close > high[3] short1 = (close < open) and time_cond and close < out and hist < 0 and hist < hist[1] and low < low[1] and low[1] < low[2] and close < low[1] and close < low[2] and close < low[3] if(option1) strategy.entry("long",1,when= short1) strategy.entry("short",0,when=long1) strategy.close_all() if(option2) strategy.entry("long",1,when= short2) strategy.entry("short",0,when=long2) strategy.close_all() // if(strategy.openprofit < 0) // strategy.close_all() // if(strategy.openprofit>0) // strategy.close("long",when = close < open ) // strategy.close("short",when = close > open) // strategy.close("long",when= close < open) // strategy.close("short",when= close> open) // tp = input(0.0003) // sl = input(0.005) // strategy.exit("closelong", "long" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closelong") // strategy.exit("closeshort", "short" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closeshort")