
اس حکمت عملی کا نام RSI اشارے کے ساتھ چلنے والی اوسط کے ساتھ مل کر ایک مقداری تجارت کی حکمت عملی ہے۔ یہ حکمت عملی RSI اشارے اور چلنے والی اوسط کو بطور تجارتی سگنل استعمال کرتی ہے تاکہ رجحان کے تناظر میں الٹ کارروائی کی جاسکے۔ اس کا بنیادی خیال یہ ہے کہ جب اسٹاک کی قیمت میں الٹ سگنل ہوتا ہے تو پوزیشن کھولیں ، اور جب اوور خریدنے اور اوور فروخت ہونے پر رک جائیں۔
یہ حکمت عملی بنیادی طور پر اسٹاک کی قیمتوں کے رجحانات اور الٹ کے وقت کا فیصلہ کرنے کے لئے آر ایس آئی اشارے اور تیز رفتار حرکت پذیری اوسط کا استعمال کرتی ہے۔ خاص طور پر ، حکمت عملی پہلے تیز رفتار حرکت پذیری اوسط (ایس ایم اے) اور سست رفتار حرکت پذیری اوسط کا حساب لگاتی ہے ، جس سے سست رفتار حرکت پذیری اوسط کو تیز رفتار حرکت پذیری اوسط پر عبور کرتے وقت خریدنے کا اشارہ ہوتا ہے۔ جب تیز رفتار حرکت پذیری اوسط کے نیچے سست رفتار حرکت پذیری اوسط کو عبور کرتے وقت فروخت کا اشارہ ہوتا ہے۔
اسی وقت ، اس حکمت عملی میں آر ایس آئی کا حساب لگایا جاتا ہے تاکہ یہ معلوم کیا جاسکے کہ آیا اسٹاک کی قیمت زیادہ خرید یا زیادہ فروخت کی حالت میں ہے۔ پوزیشن کھولنے سے پہلے ، یہ فیصلہ کیا جائے گا کہ آیا آر ایس آئی کا اشارے معمول پر ہے یا نہیں۔ اگر آر ایس آئی مقررہ حد سے زیادہ ہے تو ، پوزیشن کھولنے کو روک دیں اور پھر آر ایس آئی کی واپسی کے بعد پوزیشن کھولیں۔ اس سے اوور خرید اوور فروخت کے غیر موزوں وقت میں پوزیشن لگانے سے بچا جاسکتا ہے۔ دوسری طرف ، جب پوزیشن رکھی جاتی ہے تو ، اگر آر ایس آئی مقررہ حد سے زیادہ ہے تو ، پوزیشن کو ختم کردیا جائے گا۔ یہ تجارت کو منافع بخش بنا سکتا ہے۔
آر ایس آئی اشارے اور چلتی اوسط کے ساتھ مل کر ، اسٹاک کی قیمتوں میں الٹ سگنل پیدا ہونے پر پوزیشن کھول دی جاسکتی ہے۔ اور جب اوورلوڈ اوور سیل ہوتا ہے تو اسٹاپ کو روک دیا جاتا ہے ، جس سے اسٹاک کی قیمتوں کے رجحانات کے تناظر میں الٹ آپریشن کرنے کے لئے منافع بخش مقدار کی تجارت کی حکمت عملی حاصل ہوتی ہے۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
جب اسٹاک کی قیمت میں ردوبدل ہوتا ہے تو پوزیشن کھولنے کے لئے درست ہے۔ خریدنے کے سگنل کے طور پر منتقل اوسط لکیری فورک اور فروخت کے سگنل کے طور پر ڈیڈ فورک کا استعمال کرتے ہوئے ، اسٹاک کی قیمت کے رجحان میں ردوبدل کے مواقع کو درست طریقے سے پکڑ سکتے ہیں۔
غیر منقولہ وقت پر پوزیشن کھولنے سے گریز کریں۔ آر ایس آئی اشارے کے ذریعہ اوورلوڈ اور اوور سیل کی صورتحال کا فیصلہ کرنے سے ، اسٹاک کی قیمتوں میں مختصر مدت کے اتار چڑھاؤ کے دوران پوزیشن بنانے سے بچنے اور غیر ضروری نقصان سے بچنے سے بچنے کے لئے مؤثر طریقے سے بچایا جاسکتا ہے۔
RSI روکنے سے پوزیشنوں کو مناسب منافع کی حد میں رکھا جاسکتا ہے ، اور تجارت کے خطرے کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔
آسانی سے پیرامیٹرز کو ایڈجسٹ کرنا۔ ایس ایم اے سائیکل ، آر ایس آئی پیرامیٹرز وغیرہ کو مختلف مارکیٹ کے حالات کے مطابق لچکدار ایڈجسٹ کیا جاسکتا ہے۔
فنڈز کے استعمال کی اعلی کارکردگی۔ رجحانات کے خاتمے کے جھٹکے کے مرحلے میں بار بار تجارت کی جاسکتی ہے ، اور فنڈز کو موثر طریقے سے استعمال کیا جاسکتا ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
ٹریکنگ خرابی کا خطرہ۔ حرکت پذیری اوسط ایک رجحان سازی اشارے کے طور پر کچھ تاخیر کا شکار ہے ، جس کی وجہ سے پوزیشن کھولنے کا وقت غلط ہوسکتا ہے۔
بار بار ٹریڈنگ کا خطرہ۔ زلزلے کے حالات میں ، یہ اکثر پوزیشنوں کو کھولنے اور بند کرنے کا سبب بن سکتا ہے۔
پیرامیٹرز ایڈجسٹ کرنے کا خطرہ۔ ایس ایم اے کی مدت اور آر ایس آئی پیرامیٹرز کو مارکیٹ میں ایڈجسٹ کرنے کے لئے بار بار جانچنے کی ضرورت ہوتی ہے۔ غلط ترتیب سے حکمت عملی کی کارکردگی متاثر ہوسکتی ہے۔
اسٹاپنگ کا خطرہ۔ آر ایس آئی اسٹاپنگ کی غلط ترتیب سے بھی پوزیشنوں میں ابتدائی روانگی یا اسٹاپنگ روانگی کے بعد بڑھتی ہوئی صورتحال پیدا ہوسکتی ہے۔
اس حکمت عملی کو بہتر بنانے کے لئے مندرجہ ذیل نکات ہیں:
MACD ، برلن لائن اور دیگر اشارے کو RSI کے ساتھ مل کر استعمال کرنے کی کوشش کریں تاکہ سگنل زیادہ درست اور قابل اعتماد ہو۔
مشین لرننگ الگورتھم شامل کریں تاکہ پیرامیٹرز کو تاریخی اعداد و شمار کے مطابق خود بخود ایڈجسٹ کیا جاسکے ، جس سے پیرامیٹرز کو ایڈجسٹ کرنے کا خطرہ کم ہوجائے۔
اسٹاپ اسٹاپ کی حکمت عملی کو بہتر بنانے کے لئے میکانیزم شامل کریں تاکہ اسٹاپ اسٹاپ کو زیادہ ذہین بنایا جاسکے اور مارکیٹ میں تبدیلیوں کے مطابق ڈھال لیا جاسکے۔
پوزیشن مینجمنٹ کی حکمت عملی کو بہتر بنانا ، پوزیشن کے سائز کو متحرک طور پر ایڈجسٹ کرنا ، اور ایک ہی تجارت کے خطرے کو کم کرنا۔
ہائی فریکوئینسی ڈیٹا کے ساتھ مل کر ، حکمت عملی کی تعدد کو بڑھانے کے لئے ٹِک سطح کے ریئل ٹائم ڈیٹا کا استعمال کرتے ہوئے ہائی فریکوئینسی ٹریڈنگ۔
مجموعی طور پر ، اس حکمت عملی میں آر ایس آئی اشارے اور متحرک اوسط کا استعمال تجارتی سگنل پیدا کرنے کے لئے کیا گیا ہے ، جس سے رجحان کے دوران الٹ پلٹ کے حساب کتاب کی ایک مقداری حکمت عملی حاصل کی گئی ہے۔ اکیلے متحرک اوسط کا استعمال کرنے کے مقابلے میں ، اس حکمت عملی میں آر ایس آئی اشارے کا فیصلہ شامل کرنے سے غیر موزوں وقت کی پوزیشن کھولنے سے بچنے میں مدد ملتی ہے ، اور آر ایس آئی اسٹاپ کے ذریعہ تجارت کے خطرے کو کنٹرول کرنے سے اس حکمت عملی کی استحکام میں اضافہ ہوتا ہے۔ یقینا ، اس حکمت عملی میں بھی کچھ بہتری کی گنجائش موجود ہے ، مستقبل میں اس میں مزید اشارے کے مجموعے ، پیرامیٹرز کی خودکار اصلاح ، پوزیشن کی پوزیشن وغیرہ کے انتظام کے لحاظ سے اصلاح کی جاسکتی ہے ، جس سے حکمت عملی کی کارکردگی بہتر ہوسکتی ہے۔
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-18 19:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//1. 做多
// a. RSI在超买区间时不开单,直到RSI回落一点再开单
// b. 已经有多仓,如果RSI超买,则平多获利,当RSI回落一点之后,再次开多,直到有交叉信号反转做空
//2. 做空
// a. RSI在超卖区间时不开单,直到RSI回落一点之后再开多单
// b. 已经有空仓,如果RSI超卖,则平空获利,当RSI回落一点之后,再开空单,直到有交叉信号反转做多
//@version=4
strategy("策略_RSI+移动揉搓线_", overlay=true)
// 输入
fastLength = input(11, minval=1)
slowLength = input(82,minval=1)
length = input(title="长度", type=input.integer, defval=14, minval=1, maxval=100)
hight_rsi = input(title="rsi超过上轨平多获利", type=input.integer, defval=80, minval=1, maxval=100)
low_rsi = input(title="rsi超过下轨平空获利", type=input.integer, defval=20, minval=1, maxval=100)
open_long_rsi_threshold = input(title="rsi低于该阈值时才开多", type=input.integer, defval=75, minval=1, maxval=100)
open_short_rsi_threshold = input(title="rsi高于该阈值时才开空仓", type=input.integer, defval=25, minval=1, maxval=100)
// 均线
sma_fast = sma(close, fastLength)
sma_slow = sma(close, slowLength)
// RSI
rsi = rsi(close, length)
//**********变量*start*******//
var long_f = false // 标记是否是均线交叉多头
var short_f = false // 标记是否是均线交叉空头
var long_open_pending = false // 标记开仓时rsi是否处于超买状态
var short_open_pending = false // 标记开仓时rsi是否处于超卖
var long_rsi_over_buy = false // 标记 多仓时 是否发生超买平多获利
var short_rsi_over_sell = false // 标记 空仓时 是否发生超卖平空获利
//**********逻辑*start*******//
// 买入
longCondition = crossover(sma_fast, sma_slow)
if (longCondition)
short_rsi_over_sell := false // 清空该标记,防止再次开空仓
long_f := true
short_f := false
if (rsi < hight_rsi)
// 并且没有超买
strategy.entry("多", long=strategy.long)
if (rsi > hight_rsi)
// 开仓时发生超买,等待rsi小于hight_rsi
long_open_pending := true
// 卖出
shortCondition = crossunder(sma_fast, sma_slow)
if (shortCondition)
long_rsi_over_buy := false //清空该标记,防止再次开多仓
long_f := false
short_f := true
if (rsi > low_rsi)
strategy.entry("空", long=strategy.short)
if (rsi < low_rsi)
// 开仓时发生超卖,等待rsi大于low_rsi
short_open_pending := true
// 等待RSI合理,买入开仓
if (long_f and long_open_pending and strategy.position_size == 0 and rsi < open_long_rsi_threshold)
strategy.entry("多", long=strategy.long)
long_open_pending := false
// 等待RSI合理,卖出开仓
if (short_f and short_open_pending and strategy.position_size == 0 and rsi > open_short_rsi_threshold)
strategy.entry("空", long=strategy.short)
short_open_pending := false
//RSI止盈(RSI超买平多)
if (strategy.position_size > 0 and long_f and rsi > hight_rsi)
strategy.close_all()
long_rsi_over_buy := true
//RSI止盈(RSI超卖平空)
if (strategy.position_size < 0 and short_f and rsi < low_rsi)
strategy.close_all()
short_rsi_over_sell := true
//RSI止盈之后,再次开多
if (long_f and long_rsi_over_buy and strategy.position_size == 0 and rsi < hight_rsi)
long_rsi_over_buy := false
strategy.entry("多", long=strategy.long)
//RSI止盈之后,再次开空
if (short_f and short_rsi_over_sell and strategy.position_size == 0 and rsi > low_rsi)
short_rsi_over_sell := false
strategy.entry("空", long=strategy.short)
//**********绘图*start*******//
p1 = plot(sma_fast, linewidth=2, color=color.green)
p2 = plot(sma_slow, linewidth=2, color=color.red)
fill(p1, p2, color=color.green)
plot(cross(sma_fast, sma_slow) ? sma_fast : na, style = plot.style_circles, linewidth = 4)
// 绘制rsi线
//plot(rsi, color=color.green, editable=true, style=plot.style_circles, linewidth=2)
// 绘制上下轨
//high_ = hline(80, title="上轨")
//low_ = hline(20, title="下轨")
//fill(high_, low_, transp=80, editable=true, title="背景")