وسائل لوڈ ہو رہے ہیں... لوڈنگ...

سپر ٹرینڈ بنیادی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-11 15:14:54
ٹیگز:

جائزہ

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

حکمت عملی منطق

یہ حکمت عملی سپر ٹرینڈ اشارے کا استعمال کرتی ہے تاکہ یہ طے کیا جاسکے کہ قیمت اوپر کی طرف ہے یا نیچے کی طرف۔ سپر ٹرینڈ اوسط حقیقی رینج اور ایک عنصر پر مبنی ہے ، اس سے اوپر سپر ٹرینڈ اپ ٹرینڈ ہے اور اس سے نیچے ڈاؤن ٹرینڈ ہے۔

آر ایس آئی کا استعمال اوور بک / اوور سیل حالات کا پتہ لگانے کے لئے کیا جاتا ہے۔ 50 سے اوپر بولش ہے اور 50 سے نیچے bearish ہے۔ آر ایس آئی جھوٹے سگنل کو فلٹر کرتا ہے۔

ای ایم اے طویل مدتی رجحان کی سمت کا جائزہ لیتا ہے۔ ای ایم اے کے اوپر اپ ٹرینڈ ہے ، نیچے ڈاؤن ٹرینڈ ہے۔ یہ تجارت کی سمت کی تصدیق کرتا ہے۔

تجارتی سگنل یہ ہیں:

لانگ انٹری: قیمت سپر ٹرینڈ اور آر ایس آئی 50 سے اوپر اور قیمت ای ایم اے سے اوپر لانگ ایگزٹ: قیمت سپر ٹرینڈ یا اسٹاپ نقصان یا منافع حاصل کرنے سے نیچے بند ہوجاتی ہے

مختصر اندراج: قیمت سپر ٹرینڈ سے نیچے اور آر ایس آئی 50 سے نیچے اور قیمت ای ایم اے سے نیچے شارٹ ایگزٹ: قیمت سپر ٹرینڈ یا اسٹاپ نقصان یا منافع لینے سے اوپر بند ہوتی ہے

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

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

اس حکمت عملی کے فوائد:

  1. 3 اشارے کا مجموعہ، قابل اعتماد رجحان کا پتہ لگانے

  2. سپر ٹرینڈ واضح طور پر اوپر اور نیچے کے رجحان کی نشاندہی کرتا ہے

  3. آر ایس آئی جھوٹے بریک آؤٹس کو فلٹر کرتا ہے، زیادہ خریدنے / زیادہ فروخت سے بچتا ہے

  4. ای ایم اے نے مجموعی رجحان کی سمت کی تصدیق کی

  5. سادہ اور واضح ٹریڈنگ سگنل، پیروی کرنے کے لئے آسان

  6. حسب ضرورت ATR مدت، RSI پیرامیٹرز اور EMA مدت کے لئے اصلاح

  7. خطرہ کو کنٹرول کرنے کے لئے نقصان کو روکیں اور منافع لیں

  8. مختلف بازاروں کے لئے صرف طویل یا صرف مختصر موڈ

  9. کسی بھی وقت کے فریم پر لاگو

خطرے کا تجزیہ

اہم خطرات:

  1. رجحان کی تبدیلی میں سپر ٹرینڈ کی تاخیر، نقصانات کا سبب بن سکتی ہے

  2. چھوٹا سٹاپ نقصان / منافع لے لو بڑے اقدامات کو پکڑنے میں ناکام ہے

  3. ای ایم اے رجحان کی تبدیلی کے نکات کو نہیں دیکھ سکتا

  4. کوئی اختلاف کا پتہ لگانے

  5. اب بھی اتار چڑھاؤ کا خطرہ اور وقت کا خطرہ ہے

حل:

  1. الٹ کا پتہ لگانے کے لئے دیگر اشارے شامل کریں

  2. سٹاپ نقصان / منافع حاصل کرنے کے لئے بہتر بنائیں

  3. اسپاٹ ریورسنگ میں دیگر اشارے شامل کریں

  4. اختلافات کے اشارے شامل کریں

  5. پوزیشن کا سائز ایڈجسٹ کریں

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

حکمت عملی کو بہتر بنانے کے طریقے:

  1. حساسیت اور استحکام کے لئے ATR مدت کو بہتر بنائیں

  2. اعلی درستگی کے لئے RSI پیرامیٹرز کو بہتر بنائیں

  3. مختلف مارکیٹوں کے لئے EMA مدت کو بہتر بنائیں

  4. ریورس کا پتہ لگانے کے لئے MACD، KD جیسے اشارے شامل کریں

  5. اختلافات کے اشارے شامل کریں

  6. الیوٹ لہروں کا استعمال کرکے الٹ پھیروں کا پتہ لگائیں

  7. پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لئے مشین لرننگ کا استعمال کریں

  8. اعلی درجے کی سٹاپ نقصان الگورتھم جیسے ٹریلنگ سٹاپ نقصان

  9. مختلف اتار چڑھاؤ کے لئے پوزیشن سائزنگ کو بہتر بنائیں

  10. زیادہ پیچیدہ داخلہ اور باہر نکلنے کے حالات کی جانچ کریں

نتیجہ

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


/*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')

//

مزید