دوہری چینل الگورتھم خودکار تجارتی حکمت عملی


تخلیق کی تاریخ: 2023-10-10 15:25:53 آخر میں ترمیم کریں: 2023-10-10 15:25:53
کاپی: 0 کلکس کی تعداد: 639
1
پر توجہ دیں
1617
پیروکار

جائزہ

اس حکمت عملی میں سپر ٹرینڈ اور اسٹچ آر ایس آئی دونوں اشارے استعمال کیے گئے ہیں تاکہ ممکنہ خرید و فروخت کے سگنل کی نشاندہی کرنے کے لئے مختلف ٹائم فریموں میں قیمتوں کے رجحانات اور اوورلوڈ اوور سیل کی صورتحال کا تجزیہ کیا جاسکے۔ اس حکمت عملی کا مقصد اہم رجحانات کی سمت میں تجارت کرنا ہے تاکہ قیمتوں کی اہم سمت کو وسط اور لمبی لائنوں پر پکڑ سکے۔

حکمت عملی کا اصول

اس حکمت عملی میں قیمتوں کے رجحان کی سمت کا تعین کرنے کے لئے 1 گھنٹے اور 4 گھنٹے کے دو وقت کے ادوار کے سپر ٹرینڈ اشارے کا استعمال کیا گیا ہے۔ جب دونوں وقت کے ادوار کے سپر ٹرینڈ ایک ہی سمت میں ہوتے ہیں تو ہم سمجھ سکتے ہیں کہ ایک مضبوط قیمت کا رجحان ہے۔

اس کے علاوہ ، حکمت عملی اسٹچ آر ایس آئی اشارے کا استعمال کرتی ہے کہ آیا اس سے زیادہ خرید و فروخت کی صورتحال موجود ہے۔ اسٹچ آر ایس آئی اشارے آر ایس آئی اور اسٹوکاسٹک آسکیلیٹر دونوں اشارے کے فوائد کو جوڑتا ہے۔ جب اسٹچ آر ایس آئی اشارے لائن پر اوپری خرید لائن ہوتی ہے تو ، اس کی نشاندہی ہوتی ہے کہ قیمت میں ممکنہ طور پر اوپری فروخت کا رجحان موجود ہے۔ جب اسٹچ آر ایس آئی اشارے لائن کے نیچے اوپری فروخت لائن ہوتی ہے تو ، اس کی نشاندہی ہوتی ہے کہ قیمت میں ممکنہ طور پر اوپری فروخت کا رجحان موجود ہے۔

جب ڈبل سپر ٹرینڈ قیمت کے رجحان کی سمت کی تصدیق کرتا ہے ، اور اگر اسٹچ آر ایس آئی نے بھی اوپری خرید اور فروخت کا مظاہرہ کیا ہے ، تو یہ خریدنے یا بیچنے کا ایک اچھا وقت ہے۔ سگنل کو مزید تصدیق کرنے کے لئے ، حکمت عملی نے ایک واپسی کی مدت بھی ترتیب دی ہے۔ اسٹچ آر ایس آئی نے اوپری خرید اور فروخت کا اشارہ ظاہر کرنے کے بعد ، ایک خاص تعداد میں K لائنوں کو واپس کرنے کی ضرورت ہے۔ اگر اس عرصے کے دوران قیمت کی نقل و حرکت اسٹچ آر ایس آئی کے اشارے کی تصدیق کرتی ہے تو ، خریدنے یا بیچنے کو متحرک کیا جائے گا۔

مجموعی طور پر ، اس حکمت عملی میں دو ٹائم فریموں کے سپر ٹرینڈ کا استعمال کرتے ہوئے بڑے رجحانات کا تعین کیا گیا ہے ، اور اسٹوچ آر ایس آئی نے مقامی ایڈجسٹمنٹ کا تعین کرنے کا طریقہ استعمال کیا ہے۔

اسٹریٹجک فوائد

  • غلط سگنل کو مؤثر طریقے سے فلٹر کرنے کے لئے کثیر وقت کی مدت کے اشارے کا استعمال کرتے ہوئے فیصلہ
  • مجموعی سپر ٹرینڈ اور اسٹچ آر ایس آئی اشارے کے فوائد ، رجحانات کا تعین کرنے اور اوورلوڈ اور اوورلوڈ کا تعین کرنے کے لئے
  • سگنل کی توثیق کے لئے بیک اپ سیٹ کریں ، غیر ضروری تجارت سے بچیں
  • میڈیم اور لانگ لائن آپریٹنگ حکمت عملی کا استعمال کرتے ہوئے ، زیادہ بار بار تجارت سے ہونے والے پوائنٹس کو کم کیا جاسکتا ہے
  • آسانی سے سمجھنے کے لئے باہمی پیمائش کا مجموعہ ، پیرامیٹرز کو ایڈجسٹ کرنے میں لچکدار

اسٹریٹجک رسک

  • بڑے بازاروں میں ہلچل کے دوران ، لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی
  • واپسی کا دورانیہ بہت طویل ہے ، خریدنے / فروخت کے بہتر مواقع سے محروم ہوسکتا ہے
  • StochRSI پیرامیٹرز کو غلط طریقے سے ترتیب دیا گیا ہے جس سے غلط اوورلوڈ اور اوور سیل سگنل ہوسکتا ہے
  • سپر ٹرینڈ پیرامیٹرز کی غلط ترتیب ، رجحان کی غلط سمت کا اندازہ لگانے کا خطرہ
  • اہم بنیادی تبدیلیوں کو نظرانداز کرنے کے لئے اشارے کے اشارے کو میکانی طور پر پیروی کرنا

آپٹمائزڈ طریقہ:

  • اسٹچ آر ایس آئی اور سپر ٹرینڈ کے پیرامیٹرز کو بہتر بنائیں
  • مختلف بڑے ڈسک ماحول کے تحت ، واپسی کے دورانیے کی لمبائی کو ایڈجسٹ کریں
  • ٹرانزیکشن حجم جیسے اشارے کے ساتھ تصدیق کریں
  • اہم اور بنیادی خبروں پر توجہ دیں اور جب ضروری ہو تو فعال مداخلت کریں

حکمت عملی کی اصلاح کی سمت

  • مزید سپر ٹرینڈ اشارے شامل کریں جو مختلف ٹائم پیکیجز میں ہیں ، جس سے کثیر سطح کا فلٹر بنتا ہے
  • اسٹچ آر ایس آئی کو دوسرے اوورلوڈ اوور سیل قسم کے اشارے جیسے کے ڈی ، آر ایس آئی وغیرہ کے ساتھ تبدیل کرنا
  • ٹریڈنگ کے رجحانات کے مطابق زیادہ سے زیادہ منافع حاصل کرنے کے لئے موبائل سٹاپ نقصان کی حکمت عملی میں اضافہ کریں
  • اہم اوسط اشارے ، جیسے 30 سیکنڈ اوسط ، کے ساتھ مل کر بڑے رجحانات کا تعین کریں
  • خودکار پیرامیٹرز کو بہتر بنانے کے لئے پروگرام تیار کریں تاکہ حکمت عملی کو زیادہ غیر مستحکم بنایا جاسکے

خلاصہ کریں۔

ڈبل چینل باورچی خانے کی چٹائی کی حکمت عملی سپر ٹرینڈ کے بڑے رجحانات کا اندازہ لگانے اور اسٹوچ آر ایس آئی کے مقامی ایڈجسٹمنٹ کا اندازہ لگانے کے لئے ایک قابل اعتماد رجحانات کی پیروی کرنے کی حکمت عملی کا استعمال کرتی ہے۔ یہ حکمت عملی وسط لائن مینجمنٹ پر مبنی ہے ، جو زیادہ بار بار تجارت سے ہونے والے منافع کے نقصان سے مؤثر طریقے سے بچا جاسکتا ہے۔ پیرامیٹرز کی اصلاح اور مجموعی اشارے کی تصدیق جیسے ذرائع کے ذریعہ ، اس حکمت عملی سے مستحکم مثبت منافع حاصل کیا جاسکتا ہے۔ تاہم ، سرمایہ کاروں کو ابھی بھی اہم بنیادی تبدیلیوں پر توجہ دینے کی ضرورت ہے ، تاکہ اشارے کے اشارے پر مکینیکل طور پر عمل پیرا نہ ہو۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-09 00:00:00
end: 2023-10-09 00:00:00
period: 4h
basePeriod: 15m
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/
// © Baby_whale_to_moon

//@version=5
strategy('Kitchen [ilovealgotrading]', overlay=true, format=format.price, initial_capital = 1000)

// BACKTEST DATE
Start_Time = input(defval=timestamp('01 January 2017 13:30 +0000'), title='Start_Time', group = " ################# BACKTEST DATE ################ " )
End_Time = input(defval=timestamp('30 April 2024 19:30 +0000'), title='End_Time', group = " ################# BACKTEST DATE ################ " )

// supertrend 
atrPeriod = input(10, 'ATR Length', group = " #################  Supertrend  ################ ")
factor = input(3, 'Factor', group = " #################  Supertrend  ################ ")

time1 = input.string(title='Short Time Period', defval='07 1h', options=['01 1m','02 3m','03 5m',  '04 15m', '05 30m', '06 45m', '07 1h', '08 2h', '09 3h', '10 4h', '11 1D', '12 1W' ], group = " #################  Supertrend  ################ ",tooltip = "this timeframe is the value of our short-time supertrend indicator")
time2 = input.string(title='Long Time Period', defval='10 4h', options=[ '01 1m','02 3m','03 5m', '04 15m', '05 30m', '06 45m', '07 1h', '08 2h', '09 3h', '10 4h', '11 1D', '12 1W' ], group = " #################  Supertrend  ################ ",tooltip = "this timeframe is the value of our long-time supertrend indicator")


res(Resolution) =>
    if Resolution == '00 Current'
        timeframe.period
    else
        if Resolution == '01 1m'
            '1'
        else
            if Resolution == '02 3m'
                '3'
            else
                if Resolution == '03 5m'
                    '5'
                else
                    if Resolution == '04 15m'
                        '15'
                    else
                        if Resolution == '05 30m'
                            '30'
                        else
                            if Resolution == '06 45m'
                                '45'
                            else
                                if Resolution == '07 1h'
                                    '60'
                                else
                                    if Resolution == '08 2h'
                                        '120'
                                    else
                                        if Resolution == '09 3h'
                                            '180'
                                        else
                                            if Resolution == '10 4h'
                                                '240'
                                            else
                                                if Resolution == '11 1D'
                                                    '1D'
                                                else
                                                    if Resolution == '12 1W'
                                                        '1W'
                                                    else
                                                        if Resolution == '13 1M'
                                                            '1M'


// supertrend Long time period 
[supertrend2, direction2] = request.security(syminfo.tickerid, res(time2), ta.supertrend(factor, atrPeriod))
bodyMiddle4 = plot((open + close) / 2, display=display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, 'Up Trend', color=color.new(color.green, 0), style=plot.style_linebr, linewidth=2)
downTrend2 = plot(direction2 < 0 ? na : supertrend2, 'Down Trend', color=color.new(color.red, 0), style=plot.style_linebr, linewidth=2)

// supertrend short time period 
[supertrend1, direction1] = request.security(syminfo.tickerid, res(time1), ta.supertrend(factor, atrPeriod))
bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction1 < 0 ? supertrend1 : na, 'Up Trend', color=color.new(color.yellow, 0), style=plot.style_linebr)
downTrend = plot(direction1 < 0 ? na : supertrend1, 'Down Trend', color=color.new(color.orange, 0), style=plot.style_linebr)


// Stochastic RSI
low_limit_stoch_rsi = input.float(title = 'Stoch Rsi Low Limit', step=0.5, defval=15, group = " #################  Stoch RSI   ################ ", tooltip = "when Stock rsi value crossover Low Limit value we get Long")
up_limit_stoch_rsi = input.float(title = 'Stoch Rsi Up Limit', step=0.5, defval=85, group = " #################  Stoch RSI   ################ ", tooltip = "when Stock rsi value crossunder Up Limit value we get Short")
stocrsi_back_length = input.int(20, 'Stoch Rsi retroactive length', minval=1, group = " #################  Stoch RSI   ################ ", tooltip = "How many candles are left behind, even if there is a buy or sell signal, it will be valid now")
smoothK = input.int(3, 'Stochastic RSI K', minval=1, group = " #################  Stoch RSI   ################ ")
lengthRSI = input.int(14, 'RSI Length', minval=1, group = " #################  Stoch RSI   ################ ")
lengthStoch = input.int(14, 'Stochastic Length', minval=1, group = " #################  Stoch RSI   ################ ")
src_rsi = input(close, title='RSI Source', group = " #################  Stoch RSI   ################ ")
rsi1 = request.security(syminfo.tickerid, '240', ta.rsi(src_rsi, lengthRSI))
k = request.security(syminfo.tickerid, '240', ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK))

// Strategy settings 
dollar = input.float(title='Dollar Cost Per Position ', defval=20000, group = " #################  Strategy Settings  ################ ")
trade_direction = input.string(title='Trade_direction', group = " #################  Strategy Settings  ################ ", options=['LONG', 'SHORT', 'BOTH'], defval='BOTH')
Long_message_open = input('Long Open', title = "Long Open Message", group = " #################  Strategy Settings  ################ ", tooltip = "if you write your alert window this code {{strategy.order.alert_message}} .When trigger Long signal you will get dynamically what you pasted here for Long Open Message ")
Short_message_open = input('Short Open', title = "Short Open Message", group = " #################  Strategy Settings  ################ ", tooltip = "if you write your alert window this code {{strategy.order.alert_message}} .When trigger Long signal you will get dynamically what you pasted here for Short Open Message ")
Long_message_close = input('Long Close', title = "Long Close Message", group = " #################  Strategy Settings  ################ ", tooltip = "if you write your alert window this code {{strategy.order.alert_message}} .When trigger Long signal you will get dynamically what you pasted here for Long Close Message ")
Short_message_close = input('Short Close', title = "Short Close Message", group = " #################  Strategy Settings  ################ ", tooltip = "if you write your alert window this code {{strategy.order.alert_message}} .When trigger Long signal you will get dynamically what you pasted here for Short Close Message ")

Time_interval = true
bgcolor(Time_interval ? color.rgb(255, 235, 59, 95) : na)

back_long = 0
back_short = 0

for i = 1 to stocrsi_back_length by 1
    if ta.crossover(k, low_limit_stoch_rsi)[i] == true 
        back_long += i
        back_long
    if ta.crossunder(k, up_limit_stoch_rsi)[i] == true 
        back_short += i
        back_short

// bgcolor(back_long>0?color.rgb(153, 246, 164, 54):na)
// bgcolor(back_short>0?color.rgb(246, 153, 153, 54):na)

buy_signal = false
sell_signal = false

if direction2 < 0 and direction1 < 0 and back_long > 0
    buy_signal := true
    buy_signal

if direction2 > 0 and direction1 > 0 and back_short > 0
    sell_signal := true
    sell_signal


//bgcolor(buy_signal  ? color.new(color.lime,90) : na ,title="BUY bgcolor")
plotshape( buy_signal[1] == false and  strategy.opentrades == 0 and Time_interval and buy_signal  ? supertrend2 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white)

//bgcolor(sell_signal  ? color.new(color.red,90) : na ,title="SELL bgcolor")
plotshape(sell_signal[1] == false and strategy.opentrades == 0 and Time_interval and sell_signal  ? supertrend2 : na , title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white)


// Strategy entries 
if strategy.opentrades == 0 and Time_interval and buy_signal and ( trade_direction == 'LONG' or trade_direction == 'BOTH')
    strategy.entry('Long_Open', strategy.long, qty=dollar / close, alert_message=Long_message_open)

if strategy.opentrades == 0 and Time_interval and sell_signal and ( trade_direction == 'SHORT' or trade_direction == 'BOTH')
    strategy.entry('Short_Open', strategy.short, qty=dollar / close, alert_message=Short_message_open)


// Strategy Close
if close < supertrend1 and strategy.position_size > 0 
    strategy.exit('Long_Close',from_entry = "Long_Open", stop=close, qty_percent=100, alert_message=Long_message_close)

if close > supertrend1 and strategy.position_size < 0 
    strategy.exit('Short_Close',from_entry = "Short_Open", stop=close, qty_percent=100, alert_message=Short_message_close)