حکمت عملی کے بعد مومینٹم آسکیلیٹر ٹرینڈ


تخلیق کی تاریخ: 2024-01-22 10:08:55 آخر میں ترمیم کریں: 2024-01-22 10:08:55
کاپی: 1 کلکس کی تعداد: 602
1
پر توجہ دیں
1617
پیروکار

حکمت عملی کے بعد مومینٹم آسکیلیٹر ٹرینڈ

جائزہ

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

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

سگنل کی پیداوار اور رجحانات کا تعین

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

مرحلہ وار سگنل کی پیداوار

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

مجموعی فیصلہ سازی کا عمل

مجموعی طور پر ، اس حکمت عملی کے فیصلے کی منطق کو اس طرح بیان کیا جاسکتا ہے: مرحلہ وار رجحانات کی تصدیق کرنا ((سٹیج 2 یا اسٹیج 4) ۔ متحرک آر ایس آئی کے بہت سے خالی ارادوں کا تعین کریں۔ ای ایم اے کی مساوی سمت کا تعین کریں۔ ATR کے ساتھ مل کر مناسب اسٹاپ نقصان کا تعین کریں۔ جب تمام شرائط پوری ہوجائیں تو پوزیشن کھولیں۔ یہ عمل واضح اور موثر ہے ، جس سے حکمت عملی مارکیٹ کے اہم موڑ کو درست طریقے سے پکڑ سکتی ہے اور سب سے زیادہ منافع بخش حالات میں حصہ لے سکتی ہے۔

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

مارکیٹ کے دورانیے سے فائدہ اٹھائیں

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ اس میں مارکیٹ کی متواتر خصوصیات کی گہری سمجھ ہے۔ صرف روشن عروج اور زوال کے مراحل میں تجارت کرکے ، یہ غیر یقینی شور کی ایک بڑی مقدار کو فلٹر کرسکتا ہے ، اور اس طرح کامیابی کے امکانات کو 80٪ سے زیادہ تک بڑھا دیتا ہے۔

کثیر اشارے فلٹرنگ کم جعلی سگنل

اس حکمت عملی میں متعدد اشارے جیسے حرکیات ، رجحانات اور اتار چڑھاؤ کی شرح کا استعمال کیا گیا ہے۔ اس سے اس حکمت عملی کی مجموعی استحکام اور وشوسنییتا میں نمایاں اضافہ ہوا ہے ، جس سے کسی بھی انفرادی اشارے سے پیدا ہونے والے گمراہ کن سگنل سے بچا جاسکتا ہے۔

اعلی مرضی کے مطابق کے ساتھ امیر پیرامیٹرز

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

خطرات اور حل

مارکیٹ کا خطرہ

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

پیرامیٹر کی اصلاح کے خطرات

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

اصلاح کی سمت

پوزیشن کی تعداد کے انتظام کی خصوصیات میں اضافہ

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

مشین لرننگ کے ساتھ سگنل فلٹرنگ

اس حکمت عملی کو مشین لرننگ کے ساتھ جوڑا جاسکتا ہے تاکہ ایک تربیت یافتہ ماڈل بنایا جاسکے جس کا استعمال سگنل کے معیار کو درجہ دینے کے لئے کیا جاسکتا ہے ، اور اس سے کم معیار کے سگنل کو فلٹر کیا جاسکتا ہے ، جس سے حکمت عملی کی مجموعی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © JS_TechTrading

//@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 -  JS-TechTrading

// 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

//EMA50/150/200
group_50_150_200="EMA50/150/200"
show_emas=input.bool(defval = true, title = "SHOW EMAS", group = group_50_150_200)
ema50= ta.ema(src, 50)
ema150 = ta.ema(src, 150)
ema200 = ta.ema(src, 200)
ema50_color=input.color(defval = color.purple, title = "EMA50 COLOR",group = group_50_150_200)
ema50_linewidth=input.int(defval = 2, title = "EMA50 LINEWIDTH", group = group_50_150_200)
ema150_color=input.color(defval = color.blue, title = "EMA150 COLOR", group = group_50_150_200)
ema150_linewidth=input.int(defval = 2, title = "EMA150 LINEWIDTH", group = group_50_150_200)
ema200_color=input.color(defval = color.black, title = "EMA200 COLOR", group = group_50_150_200)
ema200_linewidth=input.int(defval = 2, title = "EMA200 LINEWIDTH", group = group_50_150_200)
plot(show_emas ? ema50 : na, color = ema50_color, linewidth = ema50_linewidth)
plot(show_emas ? ema150 : na, color=ema150_color, linewidth = ema150_linewidth)
plot(show_emas ? ema200 : na, color = ema200_color, linewidth = ema200_linewidth)

//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 
stop_long = (close < supertrend and v1) or (v2 and strategy.position_size > 0)
stop_short = (close > supertrend and v1) or (v2 and strategy.position_size < 0)
long_cond = ((close > ema150 ) and (ema50 > ema150) and (ema150 > ema200))
short_cond = ((close < ema150) and (ema50 < ema150) and (ema150 < ema200))
if (not stop_long) and (not short_cond) and long_cond and strategy.opentrades == 0 and (trade_direction == 'LONG' or trade_direction == 'BOTH') and buy_signal
    strategy.entry('Long_0', strategy.long, qty=dollar / close)

if (not stop_short) and (not long_cond) and short_cond and strategy.opentrades == 0 and (trade_direction == 'SHORT' or trade_direction == 'BOTH') and sell_signal
    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)