Đây là một chiến lược giao dịch định lượng ngắn hạn dựa trên Đường trung bình di chuyển đơn giản (SMA), Đường trung bình di chuyển theo cấp số (EMA), Keltner Channels, chỉ số MACD và dao động Stochastic. Nó sử dụng sự đột phá giá của SMA và EMA, kết hợp với các tín hiệu dài và ngắn từ Keltner Channels, MACD và Stochastic để tự động hóa các bước nhập và ra khỏi giao dịch.
Chiến lược này sử dụng đường SMA 25 giai đoạn, đường EMA 200 giai đoạn để xây dựng đường trung bình động kép. Khi giá vượt qua đường trung bình động kép lên, một tín hiệu mua được tạo ra. Khi giá vượt qua đường trung bình động kép xuống, một tín hiệu bán được tạo ra.
Đồng thời, chiến lược này sử dụng các kênh Keltner 10 giai đoạn. Sự đột phá của các dải kênh trên và dưới cũng phục vụ như các tín hiệu hỗ trợ. Chỉ số MACD tạo ra các tín hiệu giao dịch với đường nhanh, đường chậm và biểu đồ.
Cụ thể, khi giá đóng ở trên cả SMA và EMA, và trong các kênh Keltner, biểu đồ MACD là âm và Stochastic %K dưới 50, một tín hiệu nhập khẩu dài được kích hoạt. Khi giá đóng ở dưới cả SMA và EMA, và trong các kênh Keltner, biểu đồ MACD là dương và Stochastic %K trên 50, một tín hiệu nhập khẩu ngắn được kích hoạt.
Chiến lược này tích hợp bốn chỉ số kỹ thuật thường được sử dụng - trung bình động, kênh, MACD và Stochastic. Nó xác định dài / ngắn dựa trên đột phá giá, một chiến lược giao dịch định lượng ngắn hạn điển hình. So với các chiến lược chỉ số duy nhất, sự kết hợp nhiều chỉ số của nó cải thiện độ chính xác tín hiệu và đáng để thử nghiệm và tối ưu hóa thêm.
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00: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/ // © exlux99 //@version=5 strategy(title="Scalping Trading System Crypto and Stocks", overlay=true) src = input(low, title="Source") //sma and ema len = input.int(25, minval=1, title="Length SMA" , group="Moving Averages") len2 = input.int(200, minval=1, title="Length EMA", group="Moving Averages") out = ta.sma(src, len) out2 = ta.ema(src, len2) //keltner lengthk = input.int(10, minval=1, title="Length Keltner Channel",group="Keltner") mult = input(2.0, "Multiplier",group="Keltner") BandsStyle = input.string("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style",group="Keltner") atrlength = input(14, "ATR Length",group="Keltner") ma = ta.sma(src, lengthk) rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, lengthk) upper = ma + rangema * mult lower = ma - rangema * mult //stoch periodK = input.int(10, title="%K Length", minval=1,group="Stochastic") smoothK = input.int(1, title="%K Smoothing", minval=1,group="Stochastic") periodD = input.int(1, title="%D Smoothing", minval=1,group="Stochastic") k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) //macd 1 fast_length = input(title="Fast Length MACD", defval=4,group="MACD Fast") slow_length = input(title="Slow Length MACD", defval=34,group="MACD Fast") signal_length = input.int(title="Signal Smoothing MACD", minval = 1, maxval = 50, defval = 5,group="MACD Fast") sma_source = input.string(title="Oscillator MA Type MACD", defval="EMA", options=["SMA", "EMA"],group="MACD Fast") sma_signal = input.string(title="Signal Line MA Type MACD", defval="EMA", options=["SMA", "EMA"],group="MACD Fast") fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal long= close > out and close < upper and close > lower and hist < 0 and k < 50 and close > out2 short= close < out and close < upper and close > lower and hist > 0 and k > 50 and close < out2 strategy.entry("long",strategy.long,when= long) strategy.entry("short",strategy.short,when=short)