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


تخلیق کی تاریخ: 2024-02-02 11:11:48 آخر میں ترمیم کریں: 2024-02-02 11:11:48
کاپی: 0 کلکس کی تعداد: 782
1
پر توجہ دیں
1617
پیروکار

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

جائزہ

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

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

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

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

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

ٹرانسمیشن حکمت عملی مندرجہ ذیل بنیادی اصولوں پر مبنی ہے:

  1. اے ٹی آر کی قدر کا حساب لگائیں: ایس ایم اے کے حساب کا استعمال کرنے کا انتخاب کیا جاسکتا ہے ، یا بلٹ ان اے ٹی آر اشارے کا استعمال کیا جاسکتا ہے۔ ایس ایم اے ورژن کا فارمولا یہ ہے:
   atr2 = sma(tr, Periods) 
  1. ٹریک اور ٹریک کے حساب سے: ٹریک قیمت کو اے ٹی آر کے ضرب سے کم کر کے اے ٹی آر کے ضرب سے کم کرتا ہے ، ٹریک قیمت کو اے ٹی آر کے ضرب سے زیادہ کرتا ہے۔
   up = close - (Multiplier * atr)
   dn = close + (Multiplier * atr)
  1. قیمتوں کے اوپر اور نیچے کے ریلوں کے تعلقات کا اندازہ لگائیں ، رجحان کی سمت کا حساب لگائیں۔ جب قیمت اوپر سے نیچے کی طرف جاتی ہے تو رجحان کثیر سر ہوتا ہے ، جب قیمت نیچے سے ٹریک پر ہوتی ہے تو رجحان خالی سر ہوتا ہے۔
   trend := trend == -1 and close > dn ? 1 : trend == 1 and close < up ? -1 : trend 
  1. جب رجحان تبدیل ہوتا ہے تو ٹریڈنگ سگنل پیدا ہوتا ہے ، جیسے کہ جب کثیر سر سے خالی سر میں تبدیل ہوتا ہے تو فروخت کا سگنل پیدا ہوتا ہے:
   sellSignal = trend == -1 and trend[1] == 1
  1. ٹریڈنگ سگنل اور دیگر شرائط کے مطابق فلٹرنگ کے ذریعے داخل ہونے یا نہ ہونے کا انتخاب کریں۔

  2. منافع کو لاک کرنے یا خطرے سے بچنے کے لئے اسٹاپ لاس اور اسٹاپ اسٹاپ سیٹ کریں۔

یہ ایک ٹرانسمیشن کی حکمت عملی کے اہم نکات ہیں جو پیرامیٹرز کی اصلاح کے ساتھ مل کر بہتر تجارتی نتائج حاصل کرسکتے ہیں۔

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

ٹرانسمیشن کی حکمت عملی میں مندرجہ ذیل فوائد ہیں:

  1. سپر ٹرینڈ اشارے خود قیمتوں کے رجحانات کا اندازہ لگانے کے لئے ایک مؤثر ذریعہ ہے ، اور یہ ایک عام طور پر استعمال ہونے والا اسٹاپ نقصان کا ٹریک کرنے والا آلہ ہے۔

  2. اے ٹی آر پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے اور مختلف اقسام کے لئے بہترین پیرامیٹرز کا مجموعہ حاصل کرنے کے لئے بہتر بنایا جاسکتا ہے۔ ایس ایم اے حساب کتاب کا طریقہ بھی ایک اور آپشن فراہم کرتا ہے۔

  3. مختلف تجارتی اوقات کی ضروریات کو پورا کرنے کے لئے ریپیٹ اور فکسڈ ٹرانزیکشن کی وقت کی حد مقرر کی جاسکتی ہے۔

  4. فوری طور پر پہلی فہرست میں داخل ہونے یا سگنل کا انتظار کرنے کا اختیار فراہم کریں ، جو نسل کی خصوصیات کے مطابق منتخب کیا جاسکتا ہے۔

  5. بلٹ میں سٹاپ نقصان کی روک تھام کی ترتیب حکمت عملی کے خطرے کے خلاف مزاحمت کو بڑھا سکتی ہے یا زیادہ منافع کو لاک کر سکتی ہے۔

  6. اپنی مرضی کے مطابق ٹرانزیکشن اشارے ، خود کار طریقے سے یا روبوٹ ٹریڈنگ سسٹم میں ضم کرنے کے لئے ، بغیر کسی کی نگرانی کے قابل۔

اسٹریٹجک رسک

اس حکمت عملی کے کچھ خطرات بھی ہیں:

  1. ایک ٹرانسمیشن اشارے سے زیادہ غلط سگنل پیدا ہوسکتے ہیں اور دوسرے اشارے کے ساتھ مل کر فلٹر کرنے کی ضرورت ہوتی ہے.

  2. اے ٹی آر پیرامیٹرز کی غلطی سے تجارت کی کثرت یا رجحانات کو چھوڑنے کا سبب بن سکتا ہے۔ پیرامیٹرز کو بہتر بنانے کی ضرورت ہے تاکہ بہترین توازن ہو۔

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

  4. وقت کی حد کو غلط طریقے سے ترتیب دیا گیا ہے ، جس سے آپ اہم تجارت کے اوقات سے محروم ہوسکتے ہیں یا بیعانہ پر کوئی فائدہ نہیں ہوتا ہے۔

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

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

اس حکمت عملی کو مزید بہتر بنانے کے لیے درج ذیل نکات پر غور کیا جا سکتا ہے:

  1. مختلف اے ٹی آر سائیکل پیرامیٹرز کو آزمائیں اور مناسب توازن پوائنٹ تلاش کریں۔ عام طور پر 10-20 کے درمیان مثالی ہے۔

  2. مختلف اے ٹی آر ضرب پیرامیٹرز کی جانچ ، عام طور پر 2-5 زیادہ موزوں ہیں ، بہترین قدر تلاش کرنے کے لئے آہستہ آہستہ ایڈجسٹ کیا جاسکتا ہے۔

  3. جعلی سگنل کو فلٹر کرنے کے لئے دیگر اشارے شامل کرنے کی کوشش کریں ، جیسے MACD ، KD ، وغیرہ۔

  4. سٹاپ نقصان کی روک تھام کے پیرامیٹرز کو بہتر بنانے کے لئے ، پیرامیٹرز کا بہترین مجموعہ تلاش کریں۔ متحرک سٹاپ نقصان کی روک تھام کو متعارف کرایا جاسکتا ہے۔

  5. مختلف ٹرانزیکشن ٹائم رینج کی ترتیبات کی جانچ کریں۔ دن کی مختصر لائن کی اقسام مختصر وقت کے لئے موزوں ہیں۔

  6. خود کار طریقے سے معاہدوں کو منتخب کرنے کی کوشش کریں اور اعلی لیکویڈیٹی یا اتار چڑھاؤ کی شرح والے اشارے کو ٹریک کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 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/
// © REV0LUTI0N

//@version=4

// Strategy
strategy("Supertrend Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
enableentry = input(true, title="Enter First Trade ASAP")
waitentry = input(false, title="Wait To Enter First Trade")

atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
Long = (trend == 1 ? up : na)
buySignal = trend == 1 and trend[1] == -1

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
Short = (trend == 1 ? na : dn)
sellSignal = trend == -1 and trend[1] == 1

// Strategy Backtesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time, title='Backtesting Start Date')
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time, title='Backtesting End Date')

time_cond  = true

//Time Restriction Settings
startendtime = input("", title='Time Frame To Enter Trades')
enableclose = input(false, title='Enable Close Trade At End Of Time Frame')
timetobuy = (time(timeframe.period, startendtime))
timetoclose = na(time(timeframe.period, startendtime))

// Stop Loss & Take Profit % Based
enablesl = input(false, title='Enable Stop Loss')
enabletp = input(false, title='Enable Take Profit')
stopTick = input(5.0, title='Stop Loss %', type=input.float, step=0.1) / 100
takeTick = input(10.0, title='Take Profit %', type=input.float, step=0.1) / 100

longStop = strategy.position_avg_price * (1 - stopTick)
shortStop = strategy.position_avg_price * (1 + stopTick)
shortTake = strategy.position_avg_price * (1 - takeTick)
longTake = strategy.position_avg_price * (1 + takeTick)

plot(strategy.position_size > 0 and enablesl ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL")
plot(strategy.position_size < 0 and enablesl ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL")
plot(strategy.position_size > 0 and enabletp ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit")
plot(strategy.position_size < 0 and enabletp ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit")

// Alert messages
message_enterlong  = input("", title="Long Entry message")
message_entershort = input("", title="Short Entry message")
message_closelong = input("", title="Close Long message")
message_closeshort = input("", title="Close Short message")

// Strategy Execution
if Long and time_cond and timetobuy and enableentry
    strategy.entry("Long", strategy.long, alert_message = message_enterlong)
    
if Short and time_cond and timetobuy and enableentry
    strategy.entry("Short", strategy.short, alert_message = message_entershort)
    
if buySignal and time_cond and timetobuy and waitentry
    strategy.entry("Long", strategy.long, alert_message = message_enterlong)
    
if sellSignal and time_cond and timetobuy and waitentry
    strategy.entry("Short", strategy.short, alert_message = message_entershort)
    
if strategy.position_size > 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size < 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closeshort)
    
if strategy.position_size > 0 and enablesl and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong)
if strategy.position_size < 0 and enablesl and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)
    
if strategy.position_size > 0 and enabletp and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong)
if strategy.position_size < 0 and enabletp and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)