
اس حکمت عملی میں MACD اور RSI کے دو تکنیکی اشارے شامل ہیں ، جو MACD کے کراس سگنل اور RSI کے اووربائڈ اوور سیل سگنل کا استعمال کرتے ہوئے تجارت کے وقت کا تعین کرتے ہیں۔ اس کے علاوہ ، حکمت عملی میں ایک وزن والے منتقل اوسط ((WMA) کو بطور معاون فیصلہ متعارف کرایا گیا ہے تاکہ حکمت عملی کی وشوسنییتا کو بہتر بنایا جاسکے۔ حکمت عملی 1 گھنٹے کے وقت کے فریم ورک کے تحت چلتی ہے ، جب MACD میں گولڈ فورک ہوتا ہے اور RSI 50 سے زیادہ ہوتا ہے تو زیادہ پوزیشن کھولی جاتی ہے ، اور جب MACD میں ڈیڈ فورک ہوتا ہے اور RSI 50 سے کم ہوتا ہے تو خالی پوزیشن کھولی جاتی ہے۔
اس حکمت عملی کا مرکز MACD اور RSI دو تکنیکی اشارے کا ایک مجموعہ ہے۔ MACD ایک تیز لائن ((قلیل مدتی حرکت پذیر اوسط) اور سست لائن ((طویل مدتی حرکت پذیر اوسط) کے فرق سے بنا ہے ، جو مارکیٹ میں رجحان کی تبدیلی کی عکاسی کرسکتا ہے۔ جب تیز لائن پر سست لائن کو عبور کیا جاتا ہے تو ، گولڈ فورک تشکیل دیا جاتا ہے ، جس سے اوپر کی طرف رجحان ظاہر ہوتا ہے ، اور اس کے برعکس ، نیچے کی طرف رجحان ظاہر کرنے کے لئے ڈیڈ فورک تشکیل دیا جاتا ہے۔ آر ایس آئی ایک اشارے ہے جو مارکیٹ میں زیادہ خرید و فروخت کی حالت کی پیمائش کرتا ہے۔ جب آر ایس آئی 70 سے زیادہ ہے تو ، اس کا اشارہ ہے کہ مارکیٹ میں زیادہ خرید و فروخت کا خطرہ ہے اور واپسی کا خطرہ ہوسکتا ہے۔ جب آر ایس آئی 30 سے کم ہے تو ، اس کا اشارہ ہے کہ مارکیٹ میں زیادہ فروخت کی حالت ہے ، جس سے واپسی کا موقع مل سکتا ہے۔
اس حکمت عملی میں MACD اور RSI کا امتزاج کیا گیا ہے تاکہ MACD کے ٹرینڈ فیصلے اور RSI کے اوور بُو اور اوور سیل فیصلے کا استعمال کیا جاسکے ، جس سے ٹریڈنگ کے وقت کو زیادہ درست طریقے سے پکڑا جاسکے۔ اس کے علاوہ ، حکمت عملی میں ایک وزنی متحرک اوسط ((WMA) بھی متعارف کرایا گیا ہے ، جس میں ایک معاون فیصلہ کے طور پر ، WMA عام متحرک اوسط کے مقابلے میں حالیہ قیمتوں پر زیادہ توجہ دیتا ہے ، جس سے قیمتوں میں ہونے والی تبدیلیوں کو زیادہ حساس انداز میں ظاہر کیا جاسکتا ہے۔
اس کے علاوہ ، حکمت عملی میں متعدد ٹائم فریم کے متغیرات (جیسے 15 منٹ ، 30 منٹ ، 1 گھنٹہ ، 2 گھنٹے ، وغیرہ) بھی رکھے گئے ہیں تاکہ مختلف ٹائم اسکیل کے تحت رجحانات میں تبدیلی کا اندازہ لگایا جاسکے۔ اس طرح کے متعدد ٹائم فریم کے تجزیاتی طریقہ کار سے حکمت عملی کو مارکیٹ کے رجحانات کو زیادہ جامع انداز میں سمجھنے میں مدد مل سکتی ہے ، جس سے فیصلوں کی درستگی میں اضافہ ہوتا ہے۔
اس حکمت عملی میں MACD اور RSI کے دو موثر تکنیکی اشارے شامل ہیں ، اور WMA کو معاون فیصلے کے طور پر متعارف کرایا گیا ہے ، جس سے 1 گھنٹے کے وقت کے فریم کے اندر تجارت کے فیصلے کیے جاسکتے ہیں۔ حکمت عملی کی منطق واضح ، سمجھنے میں آسان اور قابل عمل ہے ، جو مارکیٹ کے رجحانات اور اوور بیئر اور اوور سیل کی حالت کو بہتر طور پر پکڑ سکتی ہے۔ تاہم ، حکمت عملی میں کچھ حدود اور خطرات بھی موجود ہیں ، جیسے کہ تاخیر ، ایک ہی وقت کا فریم ورک ، خطرے کے کنٹرول کا فقدان وغیرہ۔
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved MACD and RSI Trading Strategy", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.01, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// MACD 設置
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
signal_smoothing = input(9, title="MACD Signal Smoothing")
// RSI 設置
input_rsi_length = input.int(14, title="RSI Length")
input_rsi_source = input(close, "RSI Source")
RSI = ta.rsi(input_rsi_source, input_rsi_length)
// 計算MACD和信號線
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_smoothing)
// 自然交易理論:利用MACD和RSI的結合
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
maTypeInput = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="Moving Average Length", group="MA Settings")
macdMA = ma(macdLine, maLengthInput, maTypeInput)
// 設置交易信號
longCondition = ta.crossover(macdLine, signalLine) and macdLine > macdMA and RSI < 70
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < macdMA and RSI > 30
// 定義時間框架
tf_15m = ta.change(RSI, 15) > 0 ? 1 : 0
tf_30m = ta.change(RSI, 30) > 0 ? 1 : 0
tf_1h = ta.change(RSI, 60) > 0 ? 1 : 0
tf_2h = ta.change(RSI, 120) > 0 ? 1 : 0
tf_4h = ta.change(RSI, 240) > 0 ? 1 : 0
tf_6h = ta.change(RSI, 360) > 0 ? 1 : 0
tf_8h = ta.change(RSI, 480) > 0 ? 1 : 0
tf_12h = ta.change(RSI, 720) > 0 ? 1 : 0
tf_1d = ta.change(RSI, 1440) > 0 ? 1 : 0
// 設置開倉、平倉和空倉條件
if (longCondition and tf_1h and RSI > 50)
strategy.entry("Long", strategy.long)
if (shortCondition and tf_1h and RSI < 50)
strategy.entry("Short", strategy.short)
if (tf_1h and RSI > 70)
strategy.close("Long")
if (tf_1h and RSI < 30)
strategy.close("Short")
// 加入其他策略
// 定義加權平均價格
wma(source, length) =>
wma = 0.0
sum = 0.0
sum_wts = 0.0
for i = 0 to length - 1
wts = (length - i) * (length - i)
sum := sum + source[i] * wts
sum_wts := sum_wts + wts
wma := sum / sum_wts
wmaLength = input.int(20, title="WMA Length", group="Other Strategies")
wmaValue = wma(close, wmaLength)
// 設置交易信號
longWMACondition = close > wmaValue
shortWMACondition = close < wmaValue
if (longWMACondition and tf_1h and RSI > 50)
strategy.entry("Long WMA", strategy.long)
if (shortWMACondition and tf_1h and RSI < 50)
strategy.entry("Short WMA", strategy.short)
if (tf_1h and RSI > 70)
strategy.close("Long WMA")
if (tf_1h and RSI < 30)
strategy.close("Short WMA")
// 繪製MACD和RSI
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")