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

اے ٹی آر اور منی مینجمنٹ کے ساتھ ایس ایس ایل چینل بیک ٹیسٹر حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-23 10:26:58
ٹیگز:

img

جائزہ

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

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

ایس ایس ایل چینل اشارے

ایس ایس ایل چینل اشارے میں چینل کی وسط لائن اور چینل بینڈ شامل ہیں۔ چینل کی وسط لائن میں ایک اوپری ٹریک اور ایک نچلی ٹریک شامل ہوتا ہے ، جو عام طور پر بیک بیک مدت میں اعلی اور کم قیمتوں کے سادہ اوسط چلتے ہیں۔ چینل بینڈ اوپری اور نچلی ٹریک کے درمیان تشکیل پائے جاتے ہیں۔

جب قیمت اوپری بینڈ کی طرف بڑھتی ہے تو ، یہ زیادہ خریدنے کی حالت کی نشاندہی کرتی ہے۔ جب قیمت نچلی بینڈ کی طرف بڑھتی ہے تو ، یہ زیادہ فروخت کی حالت کی نشاندہی کرتی ہے۔ چینل بینڈ کی خرابی کا مطلب رجحان کی تبدیلی ہے۔

ایس ایس ایل چینل پیرامیٹر پر مقرر کیا گیا ہےssl_period=16اس حکمت عملی میں.

اے ٹی آر سٹاپ نقصان/فائدہ حاصل کرنا

اوسط حقیقی رینج (اے ٹی آر) مارکیٹ کی اتار چڑھاؤ کا اندازہ کرتا ہے اور اسے اسٹاپ نقصان اور منافع کی سطح کا تعین کرنے کے لئے استعمال کیا جاسکتا ہے۔

اس حکمت عملی میں 14 مدت کے اے ٹی آر کا استعمال کیا گیا ہے (atr_period=14) اور متحرک ضاربatr_stop_factor=1.5اورatr_target_factor=1.0متغیر سٹاپ نقصان مقرر کرنے اور اتار چڑھاؤ کی بنیاد پر منافع لینے کے لئے.

یہ بھی چیک کرتا ہے کہ آلہ 2 اعشاریہ کی درستگی ہے (two_digitسونے اور JPY جیسی جوڑیوں کے لئے سٹاپ اور ٹارگٹ کو اس کے مطابق ایڈجسٹ کرنے کے لئے.

منی مینجمنٹ

منی مینجمنٹ کے ذریعے حاصل کیا جاتا ہےposition_size(فکسڈ پوزیشن سائزنگ) اورrisk(ہر تجارت پر خطرے کا فیصد) پیرامیٹرز۔ منی مینجمنٹ ماڈیول کو فعال کیا جائے گا جبuse_mm=true.

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

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

  • ایس ایس ایل چینل رجحان الٹ سگنل پکڑنے میں مؤثر ہے
  • اے ٹی آر پر مبنی رکاوٹیں اتار چڑھاؤ کی بنیاد پر خود بخود ایڈجسٹ ہوتی ہیں
  • منی مینجمنٹ تمام تجارتوں میں خطرے پر قابو پانے میں مدد کرتی ہے

خطرے کا تجزیہ

  • ایس ایس ایل چینل سگنل مکمل طور پر قابل اعتماد نہیں ہوسکتے ہیں ، غلط سگنل ہوسکتے ہیں
  • اے ٹی آر اسٹاپز بہت وسیع یا بہت تنگ ہو سکتے ہیں
  • پیسے کے غلط انتظام کی ترتیبات سے زیادہ پوزیشنوں یا کم کارکردگی کا باعث بن سکتی ہے

ان خطرات کو کم کیا جا سکتا ہے:

  1. سگنل کی تصدیق اور غلط اندراجات سے بچنے کے لئے فلٹرز کا اضافہ
  2. بہترین سٹاپ نقصان / منافع لینے کی سطح کے لئے اے ٹی آر مدت پیرامیٹر کو ایڈجسٹ کرنا
  3. مثالی پوزیشن سائزنگ کے لئے پیسے کے انتظام کے مختلف پیرامیٹرز کی جانچ

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

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

  1. بہترین کارکردگی کے لئے ایس ایس ایل چینل پیرامیٹرز کو بہتر بنائیں
  2. اے ٹی آر سٹاپ میکانزم کو بہتر بنانا یا تبدیل کرنا
  3. غیر ضروری تجارت سے بچنے کے لئے فلٹرنگ اشارے شامل کریں
  4. خطرے سے ایڈجسٹ منافع کو زیادہ سے زیادہ کرنے کے لئے پوزیشن سائزنگ کو شامل کریں
  5. مختلف آلات کے لئے ٹھیک ایڈجسٹمنٹ پیرامیٹرز
  6. زیادہ جامع جانچ کے لئے مقداری اوزار شامل کریں

منظم اصلاح کے ساتھ، یہ حکمت عملی ایک مضبوط الگورتھمک ٹریڈنگ سسٹم بن سکتی ہے۔

نتیجہ

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


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 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/
// © comiclysm

//@version=4
strategy("SSL Backtester", overlay=false)

//--This strategy will simply test the effectiveness of the SSL using
//--money management and an ATR-derived stop loss

//--USER INPUTS

two_digit = input(false, "Check this for 2-digit pairs (JPY, Gold, Etc)")
ssl_period = input(16, "SSL Period")
atr_period = input(14, "ATR Period")
atr_stop_factor = input(1.5, "ATR Stop Loss Factor")
atr_target_factor = input(1.0, "ATR Target Factor")
use_mm = input(true, "Check this to use Money Management")
position_size = input(1000, "Position size (for Fixed Risk)")
risk = input(0.01, "Risk % in Decimal Form")

//--INDICATORS------------------------------------------------------------

    //--SSL
    
sma_high = sma(high, ssl_period)
sma_low = sma(low, ssl_period)
ssl_value = 0
ssl_value := close > sma_high ? 1 : close < sma_low ? -1 : ssl_value[1]
ssl_low = ssl_value < 0 ? sma_high : sma_low
ssl_high = ssl_value < 0 ? sma_low : sma_high

    //--Average True Range
    
atr = atr(atr_period)

//--TRADE LOGIC----------------------------------------------------------

signal_long = ssl_value > 0 and ssl_value[1] < 0
signal_short = ssl_value < 0 and ssl_value[1] > 0

//--RISK MANAGMENT-------------------------------------------------------
strategy.initial_capital = 50000
balance = strategy.netprofit + strategy.initial_capital
risk_pips = atr*10000*atr_stop_factor
if(two_digit)
    risk_pips := risk_pips / 100
risk_in_value = balance * risk
point_value = syminfo.pointvalue
risk_lots = risk_in_value / point_value / risk_pips
final_risk = use_mm ? risk_lots * 10000 : position_size

//--TRADE EXECUTION-----------------------------------------------------

if (signal_long)
    stop_loss = close - atr * atr_stop_factor
    target = close + atr * atr_target_factor
    strategy.entry("Long", strategy.long, final_risk)
    strategy.exit("X", "Long", stop=stop_loss, limit=target)
if (signal_short)
    stop_loss = close + atr * atr_stop_factor
    target = close - atr * atr_target_factor
    strategy.entry("Short", strategy.short, final_risk)
    strategy.exit("X", "Short", stop=stop_loss, limit=target)
    
//--PLOTTING-----------------------------------------------------------

plot(ssl_low, "SSL", color.red, linewidth=1)
plot(ssl_high, "SSL", color.lime, linewidth=1)


مزید