
اس حکمت عملی میں ٹریڈنگ سگنل پیدا کرنے کے لئے ٹرپل تصدیق کا طریقہ کار استعمال کیا گیا ہے ، یعنی مارکیٹ کے مضبوط رجحان کی تصدیق کرنے والا متحرک اشارے ، رجحان کی سمت کی تصدیق کرنے والا سپر ٹرینڈ اشارے ، اور رجحان کی سمت کی تصدیق کے لئے ای ایم اے اشارے۔ حکمت عملی صرف اس صورت میں تجارت کا اشارہ پیدا کرتی ہے جب ان تینوں اشارے کی شرائط پوری ہوجائیں ، اس طرح صرف اعلی امکانات کے ساتھ تجارت کے مواقع کا انتخاب یقینی بنایا جائے۔
Momentum RSI (مومنٹم RSI)
متحرک آر ایس آئی اشارے کا استعمال مارکیٹ کے رجحانات کی طاقت کا اندازہ لگانے کے لئے کیا جاتا ہے۔ 60 سے زیادہ پڑھنے پر مارکیٹ کا رجحان مضبوط ہوتا ہے۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کے نتیجے میں ، اس کی قیمتوں میں اضافہ ہوا ہے۔
سپر ٹرینڈ تجزیہ
سپر ٹرینڈ لائن مارکیٹ کے رجحانات کی سمت کی نمائندگی کرتی ہے۔ صرف اس صورت میں پوزیشن لگانے پر غور کریں جب قیمت سپر ٹرینڈ لائن کو توڑ دے۔
جب قیمت نیچے سے اوپر کی طرف سے سپر ٹرینڈ لائن کو توڑتی ہے تو ، اسے کثیر رخا رجحان میں تبدیل کیا جاتا ہے۔ جب قیمت اوپر سے نیچے کی طرف سے ٹوٹ جاتی ہے تو ، اسے خالی رخا رجحان میں تبدیل کیا جاتا ہے۔
ای ایم اے کی حکمت عملی
حقیقی ٹریڈنگ سگنل صرف اس صورت میں بھیجے جاتے ہیں جب یہ تینوں اشارے پوزیشن کی تعمیر کی شرائط کے مطابق ہوں۔ اس سے جعلی سگنل کی تعداد میں نمایاں کمی واقع ہوتی ہے اور حکمت عملی کی استحکام میں اضافہ ہوتا ہے۔
اس حکمت عملی میں بہت زیادہ استحکام اور منافع بخش امکانات ہیں۔ اس کے اہم فوائد یہ ہیں:
ایک سے زیادہ تصدیق کے طریقہ کار، مؤثر شور فلٹرنگ، صرف اعلی امکانات کے ساتھ تجارت کو منتخب کریں.
سپر ٹرینڈ لائن متحرک ٹریکنگ اسٹاپ نقصانات ، مؤثر طریقے سے خطرے پر قابو پالیں۔
رجحان کی طاقت کا تعین کرنے کے ساتھ ، صرف مضبوط رجحانات میں تجارت کریں ، اضافی خطرے سے بچیں۔
ای ایم اے کے اشارے کی اضافی تصدیق اس بات کو یقینی بناتی ہے کہ تجارت صحیح سمت میں ہے۔
مکمل طور پر پیرامیٹرائزڈ ، ہر قسم کے تاجر اپنی مرضی کے مطابق کرسکتے ہیں۔
اس حکمت عملی کا بنیادی خطرہ غیر معمولی توڑ کے نتیجے میں غلط تجارتی سگنل سے ہے۔ اہم خطرات اور حل میں شامل ہیں:
جعلی دراندازی کا خطرہ: دراندازی کی توثیق کے طریقہ کار میں اضافہ
زلزلے کی حد میں اضافہ کا خطرہ: مناسب طور پر نقصان کی حد کو ایڈجسٹ کریں۔
ٹرینڈ ریورس کا خطرہ: پوزیشن کی مدت کو کم کریں ، وقت پر نقصان کو روکیں۔
اس حکمت عملی کو مندرجہ ذیل نکات سے بہتر بنایا جاسکتا ہے:
اصلاحی پیرامیٹرز: اشارے کے پیرامیٹرز کو مزید اقسام کے مطابق ڈھالنا۔
اضافی فلٹرنگ: مزید اشارے کے ساتھ مل کر ، سگنل کے معیار کو بہتر بنائیں۔
مجموعی حکمت عملی: دیگر حکمت عملیوں کے ساتھ جوڑتا ہے ، فائدہ اٹھانے کے لئے ایک دوسرے کی تکمیل کرتا ہے۔
متحرک شیڈولنگ: مارکیٹ کے حالات کے مطابق پیرامیٹرز کو خود بخود ایڈجسٹ کریں۔
مشین لرننگ: الگورتھم کا استعمال کرتے ہوئے خود کار طریقے سے بہترین پیرامیٹرز تلاش کریں
یہ حکمت عملی متحرک اشارے ، سپر رجحانات اور ای ایم اے کے موثر امتزاج کے ذریعہ متعدد تصدیق شدہ اعلی احتمال کی تجارتی حکمت عملی کو حاصل کرتی ہے۔ سخت بریک ویلیڈ میکانزم بھی اس کو انتہائی مستحکم بناتا ہے۔ اس کے ساتھ ساتھ اس میں بہت زیادہ تخصیص اور اصلاح کی گنجائش بھی ہے۔ مجموعی طور پر ، یہ حکمت عملی رجحان سے باخبر رہنے اور فریکچر ٹریڈنگ کے فوائد کو جوڑتی ہے ، یہ ایک بہت ہی امید افزا الگورتھم ٹریڈنگ حکمت عملی ہے۔
/*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)