
اس حکمت عملی میں مارکیٹ کے رجحانات کا اندازہ لگانے کے لئے 7 مختلف ادوار کے آر ایس آئی اشارے استعمال کیے جاتے ہیں ، جس میں آر ایس آئی اشارے کے جھٹکے کی صورت میں گرڈ پوزیشن قائم کی جاتی ہے ، جس سے گرڈ ٹریڈنگ میں اعلی کارکردگی کا مظاہرہ ہوتا ہے۔ اس حکمت عملی کا نام ملٹی پیریڈ آر ایس آئی گرڈ ٹریڈنگ اسٹریٹجی ہے ، جس کا مختصر نام ایم پی آر ایس آئی گرڈ حکمت عملی ہے۔
اس حکمت عملی میں سات مختلف ادوار (ایک منٹ، پانچ منٹ، پندرہ منٹ، تیس منٹ، ایک گھنٹہ، دو گھنٹے اور ایک دن) کے آر ایس آئی اشارے استعمال کیے جاتے ہیں۔ جب تمام سات آر ایس آئی اشارے بیک وقت اوور بائی لائن سے نیچے ہوتے ہیں تو خریدنے کا اشارہ ہوتا ہے۔ جب تمام سات آر ایس آئی اشارے بیک وقت اوور سیل لائن سے اوپر ہوتے ہیں تو فروخت کا اشارہ ہوتا ہے۔
خرید و فروخت کے اشارے کے مطابق موجودہ قیمت کے قریب مقررہ فی صد قیمت کے فاصلے پر 20 آرڈر قائم کریں۔ مثال کے طور پر ، اسٹاک کی قیمت 100 ڈالر ہے ، آرڈر کا فاصلہ 2٪ ہے ، اور آرڈر کی قیمت 98 ڈالر ، 96 ڈالر ہے …
جب قیمت کسی آرڈر کی قیمت کو چھوتی ہے تو ، تجارت کی پوزیشن قائم کی جاتی ہے۔ جب منافع بخش ہوتا ہے تو ، اسٹیپ اسٹاپ کی مقررہ فیصد کے ساتھ اسٹاپ کیا جاتا ہے۔
کثیر اشارے کا مجموعہ مارکیٹ کے رجحانات کا فیصلہ کرتا ہے ، غلط فہمیوں سے بچتا ہے۔ 7 ادوار میں قلیل اور درمیانی اور طویل مدتی رجحانات کی تبدیلیوں کا احاطہ کیا جاتا ہے ، اور درست فیصلہ کیا جاتا ہے۔
RSI اشارے میں زیادہ خریدنے اور زیادہ فروخت کرنے کی قابل اعتماد صلاحیت ہے ، جس سے پوزیشنوں کو کم کرنے سے بچایا جاسکتا ہے۔
گرڈ آرڈر موثر گودام کی تعمیر ، پیچھا کرنے سے بچنے سے بچنے کے لئے۔ مجموعی طور پر ، گودام کی تعمیر کی لاگت کو بہتر بنانے کے ل.
اسٹاپ نقصان کی روک تھام کا انتظام ، جو فنڈ مینجمنٹ کے لئے فائدہ مند ہے ، اور انتہائی حالات میں نقصان کے خطرے کو کم کرتا ہے۔
قیمتوں میں شدید اتار چڑھاو سے گرڈ میں داخل ہونے کا خطرہ ہے۔ اس کا حل یہ ہے کہ گرڈ کے درمیان مناسب فاصلہ قائم کیا جائے اور مزید نقد رقم منتقل کی جائے۔
سٹاپ نقصان کے نقطہ کے قریب ہونے سے غیر ضروری سلائڈ پوائنٹس میں اضافہ ہوسکتا ہے۔ اس کا حل یہ ہے کہ مارکیٹ میں اتار چڑھاؤ کی شرح کے مطابق معقول اسٹاپ نقصان کا تعین کیا جائے۔
کچھ RSI اشارے غلط سگنل دے سکتے ہیں۔ اس کا حل یہ ہے کہ کچھ خاص دورانیے کے RSI اشارے کو فلٹر کریں۔
مختلف پیرامیٹرز کے مجموعے اور دیگر اشارے کی جانچ پڑتال کی جا سکتی ہے جس میں منطق کا فیصلہ کیا جاسکتا ہے ، پوزیشن اور اسٹاپ نقصان کی حکمت عملی کو بہتر بنایا جاسکتا ہے۔
گرڈ کے فاصلے کو خود بخود ایڈجسٹ کرنے کے لئے اتار چڑھاؤ کی شرح کے اشارے کے ساتھ مل کر۔ اعلی اتار چڑھاؤ پر فاصلے کو بڑھانا ، کم اتار چڑھاؤ پر فاصلے کو کم کرنا۔
فنڈ مینجمنٹ ماڈیول شامل کیا جاسکتا ہے ، جس میں زیادہ سے زیادہ انعقاد ، گرڈ اسپیس اور دیگر پیرامیٹرز کو اکاؤنٹ کے فنڈز کی حرکیات کے مطابق ایڈجسٹ کیا جاسکتا ہے۔
اس حکمت عملی میں مارکیٹ کے رجحانات کا اندازہ لگانے کے لئے ملٹی ٹائم پیکیج آر ایس آئی اشارے شامل ہیں ، اور مارکیٹ میں اتار چڑھاؤ کے وقت گرڈ پوزیشنوں کو موثر طریقے سے قائم کیا جاتا ہے۔ اس حکمت عملی میں لاگت کی اصلاح ، اسٹاپ نقصان ، اور خطرے پر قابو پانے جیسے متعدد فوائد ہیں ، جو ان سرمایہ کاروں کے لئے موزوں ہیں جو مارکیٹ میں اتار چڑھاؤ سے فائدہ اٹھانا چاہتے ہیں ، اور ان کے پاس کچھ خطرہ برداشت کرنے کی صلاحیت ہے۔ اس حکمت عملی میں مزید بہتری اور اصلاح کی گنجائش ہے ، سرمایہ کار اپنی خطرے کی ترجیحات کے مطابق ایڈجسٹ کرسکتے ہیں۔
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["MinLot",0.001,358374]]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © rrolik66
//@version=4
strategy(title="7-RSI strategy", overlay=true)
// inputs
src = input(close, "Source RSI", type = input.source)
bot_res = input(title="Bot period", type=input.resolution, defval="1")
srcin_bot = input(ohlc4, "Source Bot", type = input.source)
src_bot = security(syminfo.tickerid, bot_res, srcin_bot)
tradeDirection = input(title="Trade Direction", type=input.string,
options=["Long Bot", "Short Bot"], defval="Long Bot")
rsi1_res = input(title="RSI-1 period", type=input.resolution, defval="1", group="indicators")
rsi1_Len = input(14, minval=1, title="RSI-1 Length", group="indicators")
rsi2_res = input(title="RSI-2 period", type=input.resolution, defval="5", group="indicators")
rsi2_Len = input(14, minval=1, title="RSI-2 Length", group="indicators")
rsi3_res = input(title="RSI-3 period", type=input.resolution, defval="15", group="indicators")
rsi3_Len = input(14, minval=1, title="RSI-3 Length", group="indicators")
rsi4_res = input(title="RSI-4 period", type=input.resolution, defval="30", group="indicators")
rsi4_Len = input(14, minval=1, title="RSI-4 Length", group="indicators")
rsi5_res = input(title="RSI-5 period", type=input.resolution, defval="60", group="indicators")
rsi5_Len = input(14, minval=1, title="RSI-5 Length", group="indicators")
rsi6_res = input(title="RSI-6 period", type=input.resolution, defval="120", group="indicators")
rsi6_Len = input(14, minval=1, title="RSI-6 Length", group="indicators")
rsi7_res = input(title="RSI-7 period", type=input.resolution, defval="1D", group="indicators")
rsi7_Len = input(14, minval=1, title="RSI-7 Length", group="indicators")
longProfitPerc = input(title="Long Bot Take Profit (%)",
type=input.float, minval=0.0, step=0.05, defval=0.5, group="Long Bot") * 0.01
st_long_orders = input(title="Long Bot Step orders (%)",
type=input.float, minval=0.0, step=0.1, defval=2.0, group="Long Bot") * 0.01
rsi1_low = input(100, title="RSI-1 <", group="Long Bot")
rsi2_low = input(100, title="RSI-2 <", group="Long Bot")
rsi3_low = input(100, title="RSI-3 <", group="Long Bot")
rsi4_low = input(100, title="RSI-4 <", group="Long Bot")
rsi5_low = input(100, title="RSI-5 <", group="Long Bot")
rsi6_low = input(100, title="RSI-6 <", group="Long Bot")
rsi7_low = input(100, title="RSI-7 <", group="Long Bot")
shortProfitPerc = input(title="Short Bot Take Profit (%)",
type=input.float, minval=0.0, step=0.05, defval=0.5, group="Short Bot") * 0.01
st_short_orders = input(title="Short Bot Step orders (%)",
type=input.float, minval=0.0, step=0.1, defval=2.0, group="Short Bot") * 0.01
rsi1_up = input(0, title="RSI-1 >", group="Short Bot")
rsi2_up = input(0, title="RSI-2 >", group="Short Bot")
rsi3_up = input(0, title="RSI-3 >", group="Short Bot")
rsi4_up = input(0, title="RSI-4 >", group="Short Bot")
rsi5_up = input(0, title="RSI-5 >", group="Short Bot")
rsi6_up = input(0, title="RSI-6 >", group="Short Bot")
rsi7_up = input(0, title="RSI-7 >", group="Short Bot")
//indicators
rsi1 = rsi(src, rsi1_Len)
rsi1_sec = security(syminfo.tickerid, rsi1_res, rsi1)
rsi2 = rsi(src, rsi2_Len)
rsi2_sec = security(syminfo.tickerid, rsi2_res, rsi2)
rsi3 = rsi(src, rsi3_Len)
rsi3_sec = security(syminfo.tickerid, rsi3_res, rsi3)
rsi4 = rsi(src, rsi4_Len)
rsi4_sec = security(syminfo.tickerid, rsi4_res, rsi4)
rsi5 = rsi(src, rsi5_Len)
rsi5_sec = security(syminfo.tickerid, rsi5_res, rsi5)
rsi6 = rsi(src, rsi6_Len)
rsi6_sec = security(syminfo.tickerid, rsi6_res, rsi6)
rsi7 = rsi(src, rsi7_Len)
rsi7_sec = security(syminfo.tickerid, rsi7_res, rsi7)
//RSI
rsi1_up_signal = rsi1_sec > rsi1_up
rsi1_low_signal = rsi1_sec < rsi1_low
rsi2_up_signal = rsi2_sec > rsi2_up
rsi2_low_signal = rsi2_sec < rsi2_low
rsi3_up_signal = rsi3_sec > rsi3_up
rsi3_low_signal = rsi3_sec < rsi3_low
rsi4_up_signal = rsi4_sec > rsi4_up
rsi4_low_signal = rsi4_sec < rsi4_low
rsi5_up_signal = rsi5_sec > rsi5_up
rsi5_low_signal = rsi5_sec < rsi5_low
rsi6_up_signal = rsi6_sec > rsi6_up
rsi6_low_signal = rsi6_sec < rsi6_low
rsi7_up_signal = rsi7_sec > rsi7_up
rsi7_low_signal = rsi7_sec < rsi7_low
//Buy & Sell
Buy = rsi1_low_signal and rsi2_low_signal and rsi3_low_signal and rsi4_low_signal and rsi5_low_signal and rsi6_low_signal and rsi7_low_signal
Sell = rsi1_up_signal and rsi2_up_signal and rsi3_up_signal and rsi4_up_signal and rsi5_up_signal and rsi6_up_signal and rsi7_up_signal
// input into trading conditions
longOK = (tradeDirection == "Long Bot")
shortOK = (tradeDirection == "Short Bot")
// in entry orders price
longEntryPrice1 = src_bot * (1 - (st_long_orders))
longEntryPrice2 = src_bot * (1 - (st_long_orders*2))
longEntryPrice3 = src_bot * (1 - (st_long_orders*3))
longEntryPrice4 = src_bot * (1 - (st_long_orders*4))
longEntryPrice5 = src_bot * (1 - (st_long_orders*5))
longEntryPrice6 = src_bot * (1 - (st_long_orders*6))
longEntryPrice7 = src_bot * (1 - (st_long_orders*7))
longEntryPrice8 = src_bot * (1 - (st_long_orders*8))
longEntryPrice9 = src_bot * (1 - (st_long_orders*9))
longEntryPrice10 = src_bot * (1 - (st_long_orders*10))
longEntryPrice11 = src_bot * (1 - (st_long_orders*11))
longEntryPrice12 = src_bot * (1 - (st_long_orders*12))
longEntryPrice13 = src_bot * (1 - (st_long_orders*13))
longEntryPrice14 = src_bot * (1 - (st_long_orders*14))
longEntryPrice15 = src_bot * (1 - (st_long_orders*15))
longEntryPrice16 = src_bot * (1 - (st_long_orders*16))
longEntryPrice17 = src_bot * (1 - (st_long_orders*17))
longEntryPrice18 = src_bot * (1 - (st_long_orders*18))
longEntryPrice19 = src_bot * (1 - (st_long_orders*19))
shortEntryPrice1 = src_bot * (1 + st_short_orders)
shortEntryPrice2 = src_bot * (1 + (st_short_orders*2))
shortEntryPrice3 = src_bot * (1 + (st_short_orders*3))
shortEntryPrice4 = src_bot * (1 + (st_short_orders*4))
shortEntryPrice5 = src_bot * (1 + (st_short_orders*5))
shortEntryPrice6 = src_bot * (1 + (st_short_orders*6))
shortEntryPrice7 = src_bot * (1 + (st_short_orders*7))
shortEntryPrice8 = src_bot * (1 + (st_short_orders*8))
shortEntryPrice9 = src_bot * (1 + (st_short_orders*9))
shortEntryPrice10 = src_bot * (1 + (st_short_orders*10))
shortEntryPrice11 = src_bot * (1 + (st_short_orders*11))
shortEntryPrice12 = src_bot * (1 + (st_short_orders*12))
shortEntryPrice13 = src_bot * (1 + (st_short_orders*13))
shortEntryPrice14 = src_bot * (1 + (st_short_orders*14))
shortEntryPrice15 = src_bot * (1 + (st_short_orders*15))
shortEntryPrice16 = src_bot * (1 + (st_short_orders*16))
shortEntryPrice17 = src_bot * (1 + (st_short_orders*17))
shortEntryPrice18 = src_bot * (1 + (st_short_orders*18))
shortEntryPrice19 = src_bot * (1 + (st_short_orders*19))
// take profit price
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
// take profit values for confirmation
plot(series=(strategy.position_size > 0) ? longExitPrice : na,
color=color.green, style=plot.style_circles,
linewidth=3, title="Long Take Profit")
plot(series=(strategy.position_size < 0) ? shortExitPrice : na,
color=color.red, style=plot.style_circles,
linewidth=3, title="Short Take Profit")
// entry orders
if (strategy.position_size == 0)
strategy.order(id="Long0", long=true, limit=src_bot, when=longOK and Buy)
strategy.order(id="Long1", long=true, limit=longEntryPrice1, when=longOK and Buy)
strategy.order(id="Long2", long=true, limit=longEntryPrice2, when=longOK and Buy)
strategy.order(id="Long3", long=true, limit=longEntryPrice3, when=longOK and Buy)
strategy.order(id="Long4", long=true, limit=longEntryPrice4, when=longOK and Buy)
strategy.order(id="Long5", long=true, limit=longEntryPrice5, when=longOK and Buy)
strategy.order(id="Long6", long=true, limit=longEntryPrice6, when=longOK and Buy)
strategy.order(id="Long7", long=true, limit=longEntryPrice7, when=longOK and Buy)
strategy.order(id="Long8", long=true, limit=longEntryPrice8, when=longOK and Buy)
strategy.order(id="Long9", long=true, limit=longEntryPrice9, when=longOK and Buy)
strategy.order(id="Long10", long=true, limit=longEntryPrice10, when=longOK and Buy)
strategy.order(id="Long11", long=true, limit=longEntryPrice11, when=longOK and Buy)
strategy.order(id="Long12", long=true, limit=longEntryPrice12, when=longOK and Buy)
strategy.order(id="Long13", long=true, limit=longEntryPrice13, when=longOK and Buy)
strategy.order(id="Long14", long=true, limit=longEntryPrice14, when=longOK and Buy)
strategy.order(id="Long15", long=true, limit=longEntryPrice15, when=longOK and Buy)
strategy.order(id="Long16", long=true, limit=longEntryPrice16, when=longOK and Buy)
strategy.order(id="Long17", long=true, limit=longEntryPrice17, when=longOK and Buy)
strategy.order(id="Long18", long=true, limit=longEntryPrice18, when=longOK and Buy)
strategy.order(id="Long19", long=true, limit=longEntryPrice19, when=longOK and Buy)
if (strategy.position_size == 0)
strategy.order(id="Short0", long=false, limit=src_bot, when=shortOK and Sell)
strategy.order(id="Short1", long=false, limit=shortEntryPrice1, when=shortOK and Sell)
strategy.order(id="Short2", long=false, limit=shortEntryPrice2, when=shortOK and Sell)
strategy.order(id="Short3", long=false, limit=shortEntryPrice3, when=shortOK and Sell)
strategy.order(id="Short4", long=false, limit=shortEntryPrice4, when=shortOK and Sell)
strategy.order(id="Short5", long=false, limit=shortEntryPrice5, when=shortOK and Sell)
strategy.order(id="Short6", long=false, limit=shortEntryPrice6, when=shortOK and Sell)
strategy.order(id="Short7", long=false, limit=shortEntryPrice7, when=shortOK and Sell)
strategy.order(id="Short8", long=false, limit=shortEntryPrice8, when=shortOK and Sell)
strategy.order(id="Short9", long=false, limit=shortEntryPrice9, when=shortOK and Sell)
strategy.order(id="Short10", long=false, limit=shortEntryPrice10, when=shortOK and Sell)
strategy.order(id="Short11", long=false, limit=shortEntryPrice11, when=shortOK and Sell)
strategy.order(id="Short12", long=false, limit=shortEntryPrice12, when=shortOK and Sell)
strategy.order(id="Short13", long=false, limit=shortEntryPrice13, when=shortOK and Sell)
strategy.order(id="Short14", long=false, limit=shortEntryPrice14, when=shortOK and Sell)
strategy.order(id="Short15", long=false, limit=shortEntryPrice15, when=shortOK and Sell)
strategy.order(id="Short16", long=false, limit=shortEntryPrice16, when=shortOK and Sell)
strategy.order(id="Short17", long=false, limit=shortEntryPrice17, when=shortOK and Sell)
strategy.order(id="Short18", long=false, limit=shortEntryPrice18, when=shortOK and Sell)
strategy.order(id="Short19", long=false, limit=shortEntryPrice19, when=shortOK and Sell)
// exit position based on take profit price
if (strategy.position_size > 0)
strategy.order(id="exit_Long", long=false, limit=longExitPrice, qty=strategy.position_size)
if (strategy.position_size < 0)
strategy.order(id="exit_Short", long=true, limit=shortExitPrice, qty=abs(strategy.position_size))