
یہ حکمت عملی ایک انڈیکس کی حرکت پذیری اوسط ((EMA) اور ہموار سمت اشارے ((SDI) پر مبنی ایک خود کار طریقے سے رجحان ٹریکنگ ٹریڈنگ سسٹم ہے۔ اس میں متعدد تکنیکی اشارے اور رسک مینجمنٹ ٹولز شامل ہیں جن کا مقصد مارکیٹ کے رجحانات کو پکڑنا اور خطرے پر قابو پانا ہے۔ یہ حکمت عملی تیزی سے اور سست EMA کی کراسنگ اور SDI کی سمت کا استعمال کرتے ہوئے مارکیٹ کے رجحانات کا تعین کرتی ہے اور اس کے مطابق خرید و فروخت کے سگنل پیدا کرتی ہے۔ اس کے علاوہ ، اس حکمت عملی میں اسٹاپ اسٹاپ ، اسٹاپ نقصان اور ٹریکنگ اسٹاپ نقصان جیسے رسک مینجمنٹ کی خصوصیات بھی شامل ہیں تاکہ منافع کو بچایا جاسکے اور نقصان کو محدود کیا جاسکے۔
اس حکمت عملی کا بنیادی حصہ اس کی لچکدار اور جامع خطرے کے انتظام کے طریقہ کار میں ہے۔ ای ایم اے سائیکل ، ایس ڈی آئی ہموار اور خطرے کے انتظام کی حد جیسے سایڈست پیرامیٹرز کا استعمال کرتے ہوئے ، تاجر مختلف مارکیٹ کے حالات اور ذاتی خطرے کی ترجیحات کے مطابق حکمت عملی کو بہتر بنا سکتے ہیں۔ بیعانہ اور پوزیشن سائز کی لچکدار ترتیب حکمت عملی کی لچک کو مزید بڑھا دیتی ہے ، جس سے یہ مختلف تجارتی طرزوں اور فنڈز کے سائز کے لئے موزوں ہے۔
انڈیکس کا حساب:
ٹریڈنگ سگنل پیدا:
پوزیشن مینجمنٹ:
رسک مینجمنٹ:
ٹائم فلٹر:
رجحانات کو پکڑنے کی صلاحیت: ای ایم اے اور ایس ڈی آئی کے ساتھ مل کر ، مارکیٹ کے رجحانات کی شناخت اور ان کا سراغ لگانا۔
لچکدار: مختلف مارکیٹ کے حالات کو ایڈجسٹ کرنے کے لئے.
مکمل خطرے کا انتظام: انٹیگریٹڈ اسٹاپ ، نقصان کو روکنے اور نقصان کو روکنے کے لئے ، خطرے پر مکمل کنٹرول۔
لچکدار پوزیشن کنٹرول: مختلف خطرے کی ترجیحات کے مطابق لیورج اور فنڈز کے استعمال کے تناسب کو ایڈجسٹ کریں۔
ریٹرننگ فرینڈلی: حکمت عملی کو بہتر بنانے کے لئے تاریخی اعداد و شمار کی ریٹرننگ کی حمایت کریں۔
جذباتی غیرجانبدار: جذباتی اثرات کو کم کرنے کے لئے ، جس کا مقصد مقصد اشارے پر مبنی ہے۔
ملٹی فنکشنل: مختلف ٹائم سیکنڈ اور ٹرانزیکشن کی اقسام کے لئے استعمال کیا جا سکتا ہے
زیادہ تجارت: ہلچل والی مارکیٹوں میں بار بار تجارت سے اخراجات میں اضافہ ہوسکتا ہے۔
تاخیر: EMA اور SDI تاخیر کے اشارے ہیں ، اور جب رجحان الٹ جاتا ہے تو اس کا رد عمل سست ہوسکتا ہے۔
غلط بریک کا خطرہ: مختصر مدت کے اتار چڑھاو میں رجحانات کا غلط اندازہ لگانا ، جس سے غلط تجارت ہوسکتی ہے۔
پیرامیٹر حساسیت: کارکردگی پیرامیٹرز کی ترتیبات پر بہت زیادہ انحصار کرتی ہے ، جس میں مسلسل اصلاح کی ضرورت ہوتی ہے۔
مارکیٹ کے ماحول پر انحصار: بعض مارکیٹ کے حالات میں خراب کارکردگی کا امکان ہے۔
لیوریج کا خطرہ: اعلی لیوریج سے نقصان میں اضافہ ہوسکتا ہے ، احتیاط سے استعمال کریں۔
تکنیکی انحصار: مستحکم تکنیکی ماحول پر انحصار کرتا ہے ، جس میں نظام کی خرابی سے نقصان ہوسکتا ہے۔
متحرک پیرامیٹرز ایڈجسٹمنٹ: مختلف مارکیٹ کے مراحل کے مطابق ای ایم اے اور ایس ڈی آئی پیرامیٹرز کی خود کار طریقے سے ایڈجسٹمنٹ کا احساس کریں۔
ملٹی ٹائم فریم تجزیہ: متعدد ٹائم فریموں کے اشارے کو مربوط کرنا ، رجحانات کی درستگی کو بہتر بنانا۔
اتار چڑھاؤ کا فلٹر: اے ٹی آر جیسے اتار چڑھاؤ کے اشارے شامل کریں ، اعلی اتار چڑھاؤ کے دوران تجارتی قواعد کو ایڈجسٹ کریں۔
مارکیٹ کی حالت کی شناخت: مارکیٹ کی حالت کی درجہ بندی ((رجحان / جھٹکا) ، ٹارگٹڈ آپٹمائزڈ ٹریڈنگ منطق متعارف کرایا۔
فنڈ مینجمنٹ کو بہتر بنائیں: متحرک پوزیشن ایڈجسٹمنٹ کو لاگو کریں ، اکاؤنٹ کے خسارے کی صورت حال کے مطابق خود بخود خطرہ ایڈجسٹ کریں۔
اشارے کا مجموعہ: سگنل کی وشوسنییتا کو بڑھانے کے لئے دیگر تکمیلی اشارے ، جیسے RSI یا MACD شامل کرنے پر غور کریں۔
مشین لرننگ انٹیگریشن: مشین لرننگ الگورتھم متعارف کروانا ، پیرامیٹرز کے انتخاب اور سگنل کی تخلیق کو بہتر بنانا۔
ای ایم اے اور ایس ڈی آئی کے ساتھ مل کر اس کی اپنی مرضی کے مطابق رجحانات کی پیروی کرنے والی حکمت عملی میں مارکیٹ کی مضبوط موافقت اور خطرے کے انتظام کی صلاحیت کا مظاہرہ کیا گیا ہے۔ لچکدار پیرامیٹرز کی ترتیب اور خطرے پر قابو پانے کے جامع اقدامات کے ذریعہ ، یہ تاجروں کو ایک قابل اعتماد مقدار میں تجارت کا فریم ورک فراہم کرتا ہے۔ حکمت عملی کا بنیادی فائدہ اس کے رجحانات کے لئے حساس گرفت اور خطرے پر سخت کنٹرول میں ہے ، جس سے یہ مختلف مارکیٹ کے حالات میں مستحکم کارکردگی کا مظاہرہ کرنے کے قابل ہے۔
تاہم ، تاجر کو اس حکمت عملی کے اندرونی پسماندگی اور پیرامیٹرز کی حساسیت جیسے ممکنہ خطرات سے آگاہ رہنا چاہئے۔ اس حکمت عملی کو مستقل طور پر اصلاح اور بہتری کے ذریعہ ، خاص طور پر متحرک پیرامیٹرز کی ایڈجسٹمنٹ ، ملٹی ٹائم فریم تجزیہ اور مارکیٹ کی حالت کی شناخت جیسے پہلوؤں میں ، اس کی کارکردگی اور استحکام کو مزید بڑھانے کی امید ہے۔
مجموعی طور پر ، یہ حکمت عملی ایک ٹھوس بنیاد فراہم کرتی ہے جس میں مقدار کی تجارت کی جاسکتی ہے ، جو ان سرمایہ کاروں کے لئے موزوں ہے جو نظام سازی اور نظم و ضبط کی تجارت کے طریقوں کی تلاش میں ہیں۔ حکمت عملی کے اصولوں کو گہرائی سے سمجھنے اور انفرادی تجارتی طرز کے ساتھ مل کر ، تاجر اس آلے کو مالیاتی منڈیوں میں اپنے مسابقتی برتری کو بڑھانے کے لئے مؤثر طریقے سے استعمال کرسکتے ہیں۔
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 1h
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/
// © erdas0
//@version=5
strategy("Strategy SEMA SDI Webhook", overlay=true, slippage = 1, commission_value = 0.035, default_qty_type=strategy.percent_of_equity, default_qty_value=50, initial_capital = 1000, calc_on_order_fills = true, process_orders_on_close = true)
// Start and end dates
dts=input(false,"",inline="dts")
dte=input(false,"",inline="dte")
start_date = input(timestamp("2023-01-01 00:00:00"), "Start Date",inline="dts")
end_date = input(timestamp("2124-01-01"), "End Date",inline="dte")
times = true
// Initial capital
leverage= input.int(10, "Leverage", minval=1,inline="qty") //Leverage Test
usdprcnt= input.int(50, "%", minval=1,inline="qty")
qty= input(false,"Inital USDT ◨",inline="qty")
initial_capital = qty ? (strategy.initial_capital+strategy.netprofit)/close*leverage*usdprcnt/100 : na
//Level Inputs
tpon=input(false,"TP ◨",group ="Take Profit/Stop Loss", inline="1")
sloc=input(true,"SL ◨",group ="Take Profit/Stop Loss", inline="1")
tron=input(true,"Trailing ◨",group ="Take Profit/Stop Loss", inline="1")
tp = tpon ? input.float(25, "Take Profit %", minval=0.1,step=0.1,group ="Take Profit/Stop Loss", inline="2") : na
sl = sloc ? input.float(4.8, "Stop Loss %", minval=0.1,step=0.1,group ="Take Profit/Stop Loss", inline="2") : na
tr = tron ? input.float(1.9, "Trailing Stop ", minval=0.1,step=0.1,group ="Take Profit/Stop Loss", inline="4") : na
// Take profit and stop loss levels
dir=strategy.position_size/math.abs(strategy.position_size) //Directions
newtrade=strategy.closedtrades>strategy.closedtrades[1]
pftpcnt=dir<0 ? (strategy.position_avg_price-low)/strategy.position_avg_price*100 : dir>0 ? (high-strategy.position_avg_price)/strategy.position_avg_price*100 : na //max profit
pftpr= (1 + pftpcnt*dir/100) * strategy.position_avg_price //Trailing Price
take_profit = (1 + tp*dir/100) * strategy.position_avg_price
stop_loss = (1 - sl*dir/100) * strategy.position_avg_price
var float maxpft=na //max profit percent
maxpft := newtrade ? 0 : strategy.openprofit > 0 ? math.max(pftpcnt,maxpft) : maxpft
var float Tr=na //Trailing
Tr := newtrade ? na : pftpcnt >= tr and maxpft-pftpcnt >= tr ? close : Tr
//Inputs
ocema=input(true, title='EMA ◨',group="Inputs",inline="2")
ocsd=input(true, title='SDI ◨',group="Inputs",inline="2")
ocsm=input(true, title='Smooth ◨',group="Inputs",inline="2")
lenf = input.int(58, "Fast Ema", minval=1,group ="Inputs", inline="3")
lens = input.int(70, "Slow Ema", minval=1,group ="Inputs", inline="3")
slen = input.int(3, "Smooth", minval=1,group ="Inputs", inline="4")
dilen = input.int(1, title="DI Length", minval=1,group ="SDI", inline="5")
sdi = input.int(6, title="DI Smooth", minval=1,group ="SDI", inline="5")
//EMA
emaf=ta.ema(close,lenf)
emas=ta.ema(close,lens)
semaf=ta.ema(emaf,slen)
semas=ta.ema(emas,slen)
//SDI
dirmov(len,smt) =>
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = ta.rma(ta.tr, len)
plus = ta.ema(fixnan(100 * ta.rma(plusDM, len) / truerange),smt)
minus = ta.ema(fixnan(100 * ta.rma(minusDM, len) / truerange),smt)
[plus, minus]
[plus,minus]=dirmov(dilen,sdi)
pm=ta.ema(plus-minus,10)
sdcl= plus>minus ? color.new(color.green,80) :plus<minus ? color.new(color.red,80) : na
cpm= pm>pm[1] ? color.lime : pm<pm[1] ? color.red : color.yellow
barcolor(cpm,title="PM Color")
//Plot
plot(ocsm ? semaf:emaf,"Fast Ema",color=color.green)
plot(ocsm ? semas:semas,"Slow Ema",color=color.red)
// Conditions
Long = (ocsd ? plus>minus:true) and (ocema ? (ocsm ? semaf:emaf)>(ocsm ? semas:emas):true)
Short = (ocsd ? plus<minus:true) and (ocema ? (ocsm ? semaf:emaf)<(ocsm ? semas:emas):true)
// Strategy conditions
if Long and times
strategy.close("Short","Close S")
strategy.entry("Long", strategy.long, comment="L",qty = initial_capital)
if strategy.position_size>0
strategy.exit("Long LTP", "Long", limit=take_profit, stop=stop_loss, comment="LSL",comment_profit = "LTP")
if Tr and strategy.position_size>0
strategy.exit("Long LTP", "Long", limit=take_profit, stop=pftpr, comment="Tr",comment_profit = "LTP")
if Short and times
strategy.close("Long","Close L")
strategy.entry("Short", strategy.short, comment="S",qty = initial_capital)
if strategy.position_size<0
strategy.exit("Short STP", "Short", limit=take_profit, stop=stop_loss, comment="SSL",comment_profit ="STP" )
if Tr and strategy.position_size<0
strategy.exit("Short STP", "Short", limit=take_profit, stop=pftpr, comment="Tr",comment_profit = "STP")
if not times
strategy.close_all()