
اس حکمت عملی نے تجارت کے اشارے کا پتہ لگانے کے لئے برن بینڈ کو توڑنے کا استعمال کیا ، جس سے ایم سی ایل اور وائی جی دونوں مثبت متعلقہ اثاثوں پر جوڑے کی تجارت ممکن ہوگئی۔ جب ایم سی ایل کی قیمت برن بینڈ کو ٹریک کرتی ہے تو ، زیادہ ایم سی ایل اور کم وائی جی پر تجارت کریں۔ جب ایم سی ایل کی قیمت برن بینڈ کو ٹریک کرتی ہے تو ، زیادہ ایم سی ایل اور زیادہ وائی جی پر تجارت کریں ، جس سے قیمت کے رجحان پر ہموار تجارت ممکن ہو۔
سب سے پہلے ، حکمت عملی ایک خاص دورانیے کے دوران بند ہونے والی قیمتوں پر مبنی ایس ایم اے اوسط اور معیاری فرق StdDev کا حساب لگاتی ہے۔ اس کے بعد ایس ایم اے اوسط کے نیچے ہر ایک میں ایک مسافت شامل کی جاتی ہے ، جس سے برن بینڈ کے اوپری ریل اور نیچے کی ریل کی تشکیل ہوتی ہے۔ جب قیمت اوپری ریل کو چھوتی ہے تو خریدنے کا اشارہ پیدا ہوتا ہے ، اور جب نیچے کی ریل کو چھوتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی میں بُرین بینڈ کی بریک ٹریڈنگ سوچ کو اپنایا گیا ہے ، یعنی قیمت جب ٹریک کو توڑتی ہے تو زیادہ دیکھتی ہے اور جب وہ ٹریک کو توڑتی ہے تو خالی نظر آتی ہے۔ بُرین بینڈ مارکیٹ میں تبدیلیوں کے مطابق چینل کی چوڑائی کو متحرک طور پر ایڈجسٹ کرتا ہے ، جو مارکیٹ میں اتار چڑھاؤ کے شور کو مؤثر طریقے سے فلٹر کرسکتا ہے۔ فکسڈ چینلز کے برعکس ، بُرین بینڈ کی چینل کی چوڑائی مارکیٹ میں اتار چڑھاؤ کی تبدیلیوں کے ساتھ بڑھتی یا کم ہوتی ہے۔ جب اتار چڑھاؤ زیادہ ہوتا ہے تو ، بُرین بینڈ پر نیچے کی چوڑائی زیادہ ہوتی ہے ، جس سے کچھ شور کو فلٹر کیا جاسکتا ہے۔
دو مثبت متعلقہ اثاثوں ، ایم سی ایل اور وائی جی کے لئے جوڑے کی تجارت کریں۔ جب ایم سی ایل نے ٹریک کو توڑ دیا ، تو اس سے ظاہر ہوتا ہے کہ ایم سی ایل کی قیمت بڑھتی ہوئی رجحان میں ہے ، اس وقت زیادہ ایم سی ایل کریں ، اور اسی وقت وائی جی کو خالی کریں ، یعنی مضبوط اثاثہ خریدیں اور کمزور اثاثہ بیچیں ، تاکہ دونوں اثاثوں کی قیمتوں میں فرق سے فائدہ اٹھائیں۔
پیرامیٹرز کو بہتر بنانے ، زیادہ متعلقہ اور زیادہ لیکویڈیٹی والے تجارتی اشیاء کا انتخاب کرنے ، معقول اسٹاپ پوزیشنوں کا تعین کرنے اور اس طرح کے طریقوں سے خطرے کو کم کیا جاسکتا ہے۔
یہ حکمت عملی مجموعی طور پر آسان اور براہ راست نظر آتی ہے ، جس میں رجحان کو پکڑنے کے لئے برلن بینڈ کا استعمال کیا جاتا ہے ، اور تجارت کو جوڑ کر الفا حاصل کیا جاتا ہے۔ تاہم ، پیرامیٹرز کی اصلاح ، اسٹاپ نقصان اور جوڑی کے انتخاب جیسے کچھ قابل اصلاح جگہ موجود ہے۔ مختلف پیرامیٹرز ، تجارتی اشیاء کی جانچ اور رجحان فلٹرنگ جیسے طریقوں کو مناسب طریقے سے متعارف کرانے سے بہتر حکمت عملی کا اثر حاصل کیا جاسکتا ہے۔
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
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/
// © shark792
//@version=5
// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
pyramiding=0, initial_capital=10000,
commission_type=strategy.commission.cash_per_order,
commission_value=4, slippage=2)
smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)
ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)
usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc = input.float(title="Risk %", defval=0.5, step=0.25)
// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev = ta.stdev(close, stdLength)
upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)
riskEquity = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize = usePosSize ? math.floor(riskEquity / atrCurrency) : 1
// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)
plot(series=upperBand, title="UB", color=color.green,
linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
linewidth=2)
// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong = ta.crossunder(close, smaValue)
// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort = ta.crossover(close, smaValue)
// 6. Submit entry orders
if enterLong
strategy.entry(id="EL", direction=strategy.long, qty=posSize)
if enterShort
strategy.entry(id="ES", direction=strategy.short, qty=posSize)
// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)