حکمت عملی کے بعد رفتار سے چلنے والی ٹرپل تصدیق کا رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-01-05 15:46:21
ٹیگز:

img

جائزہ

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

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

  1. رفتار اشارے (مومنٹم آر ایس آئی)

    • مومنٹم آر ایس آئی اشارے کا استعمال مارکیٹ کے رجحان کی طاقت کا تعین کرنے کے لئے کیا جاتا ہے۔ 60 سے زیادہ پڑھنے سے مارکیٹ کے مضبوط رجحان کی نشاندہی ہوتی ہے۔

    • تجارتی سگنل صرف شدید بیل یا ریچھ مارکیٹوں کے دوران پیدا ہوتے ہیں۔

  2. سپر ٹرینڈ تجزیہ

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

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

  3. ای ایم اے کی حکمت عملی

    • ای ایم اے اور اس کی معاون رجحان لائنوں کا استعمال رجحان کی سمت کی تصدیق کے لئے کیا جاتا ہے۔ خرید سگنل صرف اس وقت ظاہر ہوتے ہیں جب ای ایم اے معاون رجحان لائن کے ذریعے اوپر کی طرف ٹوٹ جاتا ہے ، اور مختصر سگنل اس کے برعکس ہوتے ہیں۔

صرف اس صورت میں جب تینوں اشارے بیک وقت پوزیشن کھولنے کی شرائط کو پورا کریں گے تو حقیقی تجارتی سگنل جاری کیے جائیں گے۔ اس سے غلط سگنل کی تعداد میں نمایاں کمی واقع ہوتی ہے اور حکمت عملی کے استحکام میں اضافہ ہوتا ہے۔

فوائد کا تجزیہ

اس حکمت عملی میں انتہائی استحکام اور منافع بخش ہے۔ اہم فوائد یہ ہیں:

  1. متعدد تصدیق کے طریقہ کار مؤثر طریقے سے شور کو فلٹر کرتے ہیں اور صرف اعلی امکانات کی تجارت کو منتخب کرتے ہیں.

  2. سپر ٹرینڈ لائن میں خطرہ کو مؤثر طریقے سے کنٹرول کرنے کے لئے متحرک ٹریلنگ اسٹاپ نقصان ہے۔

  3. رجحان کی طاقت کے ساتھ مل کر، صرف مضبوط رجحانات میں ٹریڈنگ اضافی خطرے سے بچتی ہے.

  4. ای ایم اے اشارے تجارت کی سمت درست ہے اس بات کو یقینی بنانے کے لئے اضافی تصدیق فراہم کرتا ہے.

  5. مکمل طور پر پیرامیٹرز تاکہ تاجروں کی ضرورت کے مطابق اپنی مرضی کے مطابق کر سکتے ہیں.

خطرے کا تجزیہ

اس حکمت عملی کے اہم خطرات غیر معمولی بریک آؤٹ سے آتے ہیں جو غلط تجارتی سگنل کا سبب بنتے ہیں۔ اہم خطرات اور حل میں شامل ہیں:

  1. جھوٹے بھاگنے کا خطرہ: بھاگنے کی تصدیق کے طریقہ کار میں اضافہ کریں۔

  2. زیادہ سے زیادہ اتار چڑھاؤ کی حد کا خطرہ: سٹاپ نقصان کی حد کو مناسب طریقے سے ایڈجسٹ کریں۔

  3. رجحان کی تبدیلی کا خطرہ: ہولڈنگ کی مدت کو کم کرنا، بروقت سٹاپ نقصان۔

اصلاح کی ہدایات

اس حکمت عملی کو بہتر بنانے کے لئے اہم سمتوں میں شامل ہیں:

  1. پیرامیٹر کی اصلاح: زیادہ اقسام کے مطابق اشارے کے پیرامیٹرز کو ایڈجسٹ کریں۔

  2. بہتر فلٹرنگ: سگنل کے معیار کو بہتر بنانے کے لئے مزید اشارے کو یکجا کریں۔

  3. جامع حکمت عملی: اضافی فوائد کو استعمال کرنے کے لئے دیگر حکمت عملیوں کے ساتھ مل کر.

  4. متحرک پیرامیٹر ایڈجسٹمنٹ: مارکیٹ کے حالات کی بنیاد پر پیرامیٹرز کو خود بخود ایڈجسٹ کریں۔

  5. مشین لرننگ: خودکار طریقے سے زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کے لئے الگورتھم کا استعمال کریں۔

خلاصہ

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


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('The Flash-Strategy (Momentum-RSI, EMA-crossover, ATR)', shorttitle='The Flash-Strategy (Momentum-RSI, EMA-crossover, ATR)', overlay=true,initial_capital = 1000)
//// author -  Baby_whale_to_moon

// MOM Rsi indicator 
group_mom_rsi = "Rsi Of Momentum "
len = input.int(10, minval=1, title="Length Mom-Rsi", group =group_mom_rsi ,tooltip = 'This ind calculate Rsi value of Momentum we use this ind to determine power of trend')
src2 = close
mom = src2 - src2[len]
rsi_mom = ta.rsi(mom, len)
mom_rsi_val = input.int(60, minval=1, title="Mom-Rsi Limit Val", group =group_mom_rsi, tooltip = "When our Mom-Rsi value more then this we open LONG or Short, with help of this indicator we we determine the status of the trend")

// Super Trend Ind
group_supertrend = "SuperTrend indicator"
atrPeriod = input(10, "ATR Length SuperTrend", group = group_supertrend)
factor = input.float(3.0, "Factor SuperTrend", step = 0.01, group = group_supertrend)

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

// Ema Indicator
group_most = "Ema indicator"
src = input(close, 'Source Ema Ind',group = group_most)
AP2 = input.int(defval=12, title='Length Ema Ind', minval=1,group = group_most)
Trail1 = ta.ema(src, AP2) //Ema func
AF2 = input.float(defval=1, title='Percent Ema Ind', minval=0.1,group = group_most) / 100
SL2 = Trail1 * AF2  // Stoploss Ema
Trail2 = 0.0
iff_1 = Trail1 > nz(Trail2[1], 0) ? Trail1 - SL2 : Trail1 + SL2
iff_2 = Trail1 < nz(Trail2[1], 0) and Trail1[1] < nz(Trail2[1], 0) ? math.min(nz(Trail2[1], 0), Trail1 + SL2) : iff_1
Trail2 := Trail1 > nz(Trail2[1], 0) and Trail1[1] > nz(Trail2[1], 0) ? math.max(nz(Trail2[1], 0), Trail1 - SL2) : iff_2

//Bull = ta.barssince(Trail1 > Trail2 and close > Trail2 and low > Trail2) < ta.barssince(Trail2 > Trail1 and close < Trail2 and high < Trail2)

//TS1 = plot(Trail1, 'ExMov', style=plot.style_line, color=Trail1 > Trail2 ? color.rgb(33, 149, 243, 100) : color.rgb(255, 235, 59, 100), linewidth=2)
//TS2 = plot(Trail2, 'ema', style=plot.style_line, color=Trail1 > Trail2 ? color.rgb(76, 175, 79, 30) : color.rgb(255, 82, 82, 30), linewidth=2)
//fill(TS1, TS2, Bull  ? color.green : color.red, transp=90)


// Strategy Sett
group_strategy = "Settings of Strategy"
Start_Time = input(defval=timestamp('01 January 2000 13:30 +0000'), title='Start Time of BackTest', group =group_strategy)
End_Time = input(defval=timestamp('30 April 2030 19:30 +0000'), title='End Time of BackTest', group =group_strategy)
dollar = input.float(title='Dollar Cost Per Position* ', defval=50000, group =group_strategy)
trade_direction = input.string(title='Trade_direction', group =group_strategy, options=['LONG', 'SHORT', 'BOTH'], defval='BOTH')
v1 = input(true, title="Version 1 - Uses SL/TP Dynamically ", group =group_strategy ,tooltip = 'With this settings our stoploss price increase or decrease with price to get better PNL score')

v2 = input(false, title="Version 2 -  Uses SL/TP Statically", group =group_strategy)
v2stoploss_input = input.float(5, title='Static Stop.Loss % Val', minval=0.01, group =group_strategy)/100
v2takeprofit_input = input.float(10, title='Static Take.Prof % Val', minval=0.01, group =group_strategy)/100

v2stoploss_level_long = strategy.position_avg_price * (1 - v2stoploss_input)
v2takeprofit_level_long = strategy.position_avg_price * (1 + v2takeprofit_input)

v2stoploss_level_short = strategy.position_avg_price * (1 + v2stoploss_input)
v2takeprofit_level_short = strategy.position_avg_price * (1 - v2takeprofit_input)

group_line = "Line Settings"
show_sl_tp = input.bool(title='  Show StopLoss - TakeProf Lines',inline = "1", defval=true, group =group_line)
show_trend_line = input.bool(title='  Show Trend Line',inline = '3' ,defval=true, group =group_line)
stoploss_colour = input.color(title='StopLoss Line Colour',inline = '2' ,defval=color.rgb(255, 255, 0), group =group_line)
up_trend_line_colour = input.color(title='Up Trend line Colour',inline = '4' ,defval=color.rgb(0, 255, 0, 30), group =group_line)
down_trend_line_colour = input.color(title='Down Trend line Colour',inline = '4' ,defval=color.rgb(255, 0, 0, 30), group =group_line)

//plot(supertrend ,color = strategy.position_size > 0 and show_sl_tp ? color.rgb(255, 0, 0) :show_sl_tp ? color.rgb(0, 255, 0) : na , style = plot.style_steplinebr,linewidth = 2)
// plot(supertrend ,color = show_sl_tp and v1 ? stoploss_colour : na , style = plot.style_steplinebr,linewidth = 2)

// plot(v2stoploss_level_long ,color = strategy.position_size > 0 and show_sl_tp and v2 ? stoploss_colour : na , style = plot.style_steplinebr,linewidth = 2)
// plot(v2stoploss_level_short ,color = strategy.position_size < 0 and show_sl_tp and v2 ? stoploss_colour : na , style = plot.style_steplinebr,linewidth = 2)
// plot(v2takeprofit_level_long  ,color = strategy.position_size > 0 and show_sl_tp and v2 ? up_trend_line_colour : na , style = plot.style_steplinebr,linewidth = 2)
// plot(v2takeprofit_level_short ,color = strategy.position_size < 0 and show_sl_tp and v2 ? up_trend_line_colour : na , style = plot.style_steplinebr,linewidth = 2)


TS2 = plot(Trail2, 'Ema Strategy', style=plot.style_line, color=show_trend_line and Trail1 < Trail2 ? down_trend_line_colour : show_trend_line ? up_trend_line_colour  : na, linewidth=2)

// bgcolor(buy_signal ? color.rgb(0, 230, 119, 80) : na)
// bgcolor(sell_signal ? color.rgb(255, 82, 82, 80) : na)

Time_interval = true
buy_signal = Trail1 > Trail2 and direction < 0 and rsi_mom > mom_rsi_val and Time_interval
sell_signal =Trail1 < Trail2 and direction > 0 and rsi_mom > mom_rsi_val and Time_interval


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

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


if close < supertrend and v1
    strategy.exit('Long_Close',from_entry = "Long_0", stop=supertrend, qty_percent=100)
if  v2 and strategy.position_size > 0
    strategy.exit('Long_Close',from_entry = "Long_0", stop=v2stoploss_level_long,limit= v2takeprofit_level_long  , qty_percent=100)
    
if close > supertrend and v1
    strategy.exit('Short_Close',from_entry = "Short_0", stop=supertrend, qty_percent=100)
if  v2 and strategy.position_size < 0
    strategy.exit('Short_Close',from_entry = "Short_0", stop=v2stoploss_level_short,limit= v2takeprofit_level_short ,qty_percent=100)
    

مزید