سپر ٹرینڈ بیسڈ حکمت عملی ایک قابل اعتماد اور منافع بخش الگورتھم ٹریڈنگ حکمت عملی ہے جو تین مضبوط اشارے پر مبنی ہے۔ سپر ٹرینڈ اشارے ((ATR) ، نسبتا strong مضبوط اشارے ((RSI) اور اشاریہ منتقل اوسط ((EMA) ۔ اس حکمت عملی کا مقصد مارکیٹ کے رجحانات کی سمت اور طاقت کی نشاندہی کرنا ہے ، مارکیٹ میں داخل ہونے کے لئے بہترین نقطہ پر داخل ہونا ، اور اسٹاپ نقصان یا اسٹاپ پوائنٹ پر پہنچنے پر مارکیٹ سے باہر نکلنا ہے۔
یہ حکمت عملی سپر ٹرینڈ اشارے کا استعمال کرتی ہے تاکہ یہ معلوم کیا جاسکے کہ قیمتیں بڑھتی ہوئی یا گرتی ہوئی رجحان میں ہیں۔ سپر ٹرینڈ اشارے اوسط حقیقی طول و عرض اور ایک عنصر پر مبنی ہیں ، جب قیمتیں سپر ٹرینڈ سے اوپر ہوں تو اس میں اضافہ ہوتا ہے ، اور جب قیمتیں سپر ٹرینڈ سے نیچے ہوں تو اس میں کمی ہوتی ہے۔
رشتہ دار مضبوط انڈیکس کا استعمال اس بات کا پتہ لگانے کے لئے کیا جاتا ہے کہ آیا اس سے زیادہ گرمی اور زیادہ خرید یا زیادہ فروخت کی گئی ہے۔ جب RSI 50 سے زیادہ ہوتا ہے تو مضبوط مارکیٹ ہوتی ہے ، اس کے برعکس کمزوری ہوتی ہے۔ آر ایس آئی جعلی توڑ کو فلٹر کرسکتا ہے۔
اشاریہ منتقل اوسط طویل مدتی رجحان کی سمت کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔ جب قیمت ای ایم اے سے زیادہ ہو تو یہ بڑھتی ہوئی رجحان ہے ، جب یہ کم ہو تو یہ گرتی ہوئی رجحان ہے۔ اس کا استعمال تجارت کی سمت کی تصدیق کرنے کے لئے کیا جاسکتا ہے۔
اس حکمت عملی کے لئے ٹریڈنگ سگنل مندرجہ ذیل ہیں:
کثیر سر داخلہ: قیمت سپر ٹرینڈ سے زیادہ ہے اور RSI 50 سے زیادہ ہے اور قیمت EMA سے زیادہ ہے متعدد آؤٹ: قیمتیں سپر ٹرینڈ سے نیچے بند ہوں یا رک جائیں یا رک جائیں
خالی سر داخلہ: قیمت سپر ٹرینڈ سے نیچے ہے اور آر ایس آئی 50 سے نیچے ہے اور قیمت ای ایم اے سے نیچے ہے جب خالی کریں
خالی سر سے باہر: قیمتیں سپر ٹرینڈ سے اوپر بند ہوں یا رک جائیں یا رک جائیں
اسٹاپ نقصان اور اسٹاپ اسٹاپ کو داخلے کی قیمت کے فیصد کے طور پر مقرر کیا جاسکتا ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
ٹرینڈ کی سمت کا اندازہ لگانے کے لئے تین انڈیکس کا مجموعہ استعمال کریں
سپر ٹرینڈ انڈیکیٹر واضح طور پر اوپر اور نیچے کی طرف اشارہ کرتا ہے
آر ایس آئی اشارے جعلی بریکوں کو فلٹر کرسکتے ہیں تاکہ زیادہ خرید و فروخت سے بچا جاسکے
EMAs بڑے رجحانات کی سمت کی تصدیق کرنے کے لئے استعمال کیا جا سکتا
حکمت عملی کے اشارے سادہ، واضح اور آسان ہیں
اپنی مرضی کے مطابق ATR سائیکل، RSI پیرامیٹرز اور EMA سائیکل کو بہتر بنانے کے
خطرے کو کنٹرول کرنے کے لئے سٹاپ نقصان سٹاپ سیٹ کر سکتے ہیں
مختلف مارکیٹ کے حالات کے مطابق صرف زیادہ یا صرف کم کام کر سکتے ہیں
کسی بھی ٹائم سائیکل میں استعمال کیا جا سکتا ہے
اس حکمت عملی کے اہم خطرات یہ ہیں:
جب بڑے رجحانات میں ردوبدل ہوتا ہے تو سپر ٹرینڈ اشارے میں تاخیر ہوتی ہے ، جس سے نقصان ہوسکتا ہے۔
اسٹاپ نقصان کی حد سے زیادہ چھوٹی سیٹ اپ بڑی صورتحال کو نہیں پکڑ سکتی ہے
ای ایم اے نے رجحان کی تبدیلی کا اندازہ نہیں لگایا
اس کے علاوہ، اس کے بارے میں کوئی معلومات نہیں ہے.
اس کے علاوہ، آپ کو کچھ اتار چڑھاؤ اور وقت ٹریڈنگ کے خطرات کا سامنا کرنا پڑے گا.
اس کا حل کیا ہے؟
دوسرے اشارے کے ساتھ رجحان کا الٹ
سٹاپ نقصان کو روکنے کے پیرامیٹرز کو بہتر بنائیں
دوسرے اشارے کے ساتھ رجحان کا الٹ
انڈیکس کے ساتھ مل کر
پوزیشن مینجمنٹ کو مناسب طریقے سے ایڈجسٹ کریں
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
حساسیت اور استحکام کو متوازن کرنے کے لئے اے ٹی آر سائیکل پیرامیٹرز کو بہتر بنائیں
RSI پیرامیٹرز کو بہتر بنانے اور درستگی کو بہتر بنانے
ای ایم اے سائیکل کو مختلف مارکیٹوں کے لیے بہتر بنائیں
دوسرے اشارے شامل کریں جیسے MACD، KD وغیرہ
انڈیکس کے فیصلے سے انحراف میں اضافہ
اس کے علاوہ، اس نے اس کے بارے میں سوچا تھا.
مشین لرننگ جیسے الگورتھم کے ساتھ متحرک اصلاح کے پیرامیٹرز
اعلی درجے کی روک تھام کے الگورتھم شامل کریں ، جیسے ٹریکنگ روک تھام ، متحرک روک تھام وغیرہ۔
پوزیشن مینجمنٹ کو بہتر بنانا اور مختلف اتار چڑھاؤ والے بازاروں کے مطابق ڈھالنا
زیادہ پیچیدہ داخلہ اور باہر کے حالات کے مجموعے کی جانچ کرنا
سپر ٹرینڈ بیس اسٹریٹجی سپر ٹرینڈ ، آر ایس آئی اور ای ایم اے کے تین بڑے اشارے کو مربوط کرتی ہے ، جس سے ایک آسان عملی رجحان کی پیروی کی حکمت عملی تشکیل دی جاتی ہے۔ یہ واضح طور پر رجحان کی سمت کی نشاندہی کرسکتا ہے ، جھوٹے سگنل کو فلٹر کرسکتا ہے ، بڑے رجحان کی تصدیق کرسکتا ہے۔ اس کے ساتھ ہی واضح اندراج اور باہر نکلنے کے قواعد اور اسٹاپ نقصان کی روک تھام کی ترتیب ہے۔ یہ حکمت عملی کام کرنے میں آسان ، قابل اعتماد منافع بخش ہے ، جو کسی بھی وقت کی مدت کے لئے موزوں ہے۔ اس حکمت عملی کو زیادہ طاقتور تجارتی نظام کے ل optim بہتر بنایا جاسکتا ہے ، جس میں اشارے کی تعداد کو بہتر بنانا ، رجحان کا تعین کرنے والے پیرامیٹرز میں اضافہ کرنا ، اسٹاپ نقصان کے الگورتھم کو بہتر بنانا وغیرہ شامل ہیں۔
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
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/
// © JS_TechTrading
//@version=5
// strategy("Supertrend", overlay=true,default_qty_type =strategy.percent_of_equity,default_qty_value = 1,process_orders_on_close = false)
// group string////
var string group_text000="Choose Strategy"
var string group_text0="Supertrend Settings"
var string group_text0000="Ema Settings"
var string group_text00="Rsi Settings"
var string group_text1="Backtest Period"
var string group_text2="Trade Direction"
// var string group_text3="Quantity Settings"
var string group_text4="Sl/Tp Settings"
////////////////////
option_ch=input.string('Pullback',title = "Type Of Strategy",options =['Pullback','Simple'])
//atr period input supertrend
atrPeriod = input(10, "ATR Length",group = group_text0)
factor = input.float(3.0, "Factor", step = 0.01,group=group_text0)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false)
long=direction < 0 ? supertrend : na
short=direction < 0? na : supertrend
longpos=false
shortpos=false
longpos :=long?true :short?false:longpos[1]
shortpos:=short?true:long?false:shortpos[1]
fin_pullbuy= (ta.crossunder(low[1],long) and long and high>high[1])
fin_pullsell=(ta.crossover(high[1],short) and short and low<low[1])
//Ema 1
on_ma=input.bool(true,"Ema Condition On/Off",group=group_text0000)
ma_len= input.int(200, minval=1, title="Ema Length",group = group_text0000)
ma_src = input.source(close, title="Ema Source",group = group_text0000)
ma_out = ta.ema(ma_src, ma_len)
ma_buy=on_ma?close>ma_out?true:false:true
ma_sell=on_ma?close<ma_out?true:false:true
// rsi indicator and condition
// Get user input
en_rsi = input.bool(true,"Rsi Condition On/Off",group = group_text00)
rsiSource = input(title='RSI Source', defval=close,group = group_text00)
rsiLength = input(title='RSI Length', defval=14,group = group_text00)
rsiOverbought = input(title='RSI BUY Level', defval=50,group = group_text00)
rsiOversold = input(title='RSI SELL Level', defval=50,group = group_text00)
// Get RSI value
rsiValue = ta.rsi(rsiSource, rsiLength)
rsi_buy=en_rsi?rsiValue>=rsiOverbought ?true:false:true
rsi_sell=en_rsi?rsiValue<=rsiOversold?true:false:true
// final condition
buy_cond=option_ch=='Simple'?long and not(longpos[1]) and rsi_buy and ma_buy:option_ch=='Pullback'?fin_pullbuy and rsi_buy and ma_buy:na
sell_cond=option_ch=='Simple'?short and not(shortpos[1]) and rsi_sell and ma_sell:option_ch=='Pullback'?fin_pullsell and rsi_sell and ma_sell:na
//backtest engine
start = input(timestamp('2005-01-01'), title='Start calculations from',group=group_text1)
end=input(timestamp('2045-03-01'), title='End calculations',group=group_text1)
time_cond =true
// Make input option to configure trade direction
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both',group = group_text2)
// Translate input into trading conditions
longOK = (tradeDirection == "Long") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short") or (tradeDirection == "Both")
// strategy start
if buy_cond and longOK and time_cond and strategy.position_size==0
strategy.entry('long',direction = strategy.long)
if sell_cond and shortOK and time_cond and strategy.position_size==0
strategy.entry('short',direction =strategy.short)
// fixed percentage based stop loss and take profit
// User Options to Change Inputs (%)
stopPer = input.float(1.0,step=0.10, title='Stop Loss %',group =group_text4) / 100
takePer = input.float(1.0,step =0.10, title='Take Profit %',group =group_text4) / 100
// Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)
if strategy.position_size > 0
strategy.exit(id='Close Long',stop=longStop, limit=longTake)
if strategy.position_size < 0
strategy.exit(id='Close Short',stop=shortStop, limit=shortTake)
//PLOT FIXED SLTP LINE
plot(strategy.position_size > 0 ? longStop : na, style=plot.style_linebr, color=color.new(color.red, 0), linewidth=1, title='Long Fixed SL')
plot(strategy.position_size < 0 ? shortStop :na, style=plot.style_linebr, color=color.new(color.red, 0), linewidth=1, title='Short Fixed SL')
plot(strategy.position_size > 0 ? longTake : na, style=plot.style_linebr, color=color.new(color.green, 0), linewidth=1, title='Long Take Profit')
plot(strategy.position_size < 0 ? shortTake : na, style=plot.style_linebr, color=color.new(color.green, 0), linewidth=1, title='Short Take Profit')
//