
ڈونگ چیان چینل توڑنے کی حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو ایک خاص مدت کے دوران اعلی ترین اور کم ترین قیمتوں کا حساب کتاب کرکے قیمتوں کی چینل تشکیل دیتی ہے ، اور چینل کی حدود کو خرید و فروخت کے اشارے کے طور پر استعمال کرتی ہے۔ جب قیمت ٹریک کو توڑتی ہے تو ، کم ہوجائیں۔ جب قیمت ٹریک کو توڑتی ہے تو ، زیادہ ہوجائیں۔ یہ حکمت عملی ڈیجیٹل کرنسیوں کے اعلی اتار چڑھاؤ والے کاروبار کے لئے موزوں ہے۔
اس حکمت عملی میں قیمتوں کے رجحانات کا اندازہ لگانے اور انٹری سے باہر نکلنے کے لئے ٹونچین چینل اشارے کا استعمال کیا جاتا ہے۔ ٹونچین چینل میں اوپری ریل ، نچلی ریل اور درمیانی ریل شامل ہیں۔ اوپری ریل ایک خاص دورانیے میں سب سے زیادہ قیمت ، نچلی ریل کم قیمت ، اور درمیانی ریل اوسط قیمت ہے۔
داخلہ اور باہر نکلنے کے دور کی لمبائی کو الگ الگ ترتیب دیا جاسکتا ہے۔ جب قیمت اوپر کی طرف ٹوٹ جاتی ہے تو ، زیادہ داخلہ ہوتا ہے۔ جب قیمت نیچے کی طرف ٹوٹ جاتی ہے تو ، خالی داخلہ ہوتا ہے۔ باہر نکلنے کا مقام قیمت کے لئے ایک بار پھر اسی راستے کو چھوتا ہے۔ آپ کو بھی منتخب کیا جاسکتا ہے کہ درمیانی راستے کو نقصان کی لائن کے طور پر استعمال کریں۔
اس کے علاوہ ، حکمت عملی میں روک تھام کا مقام بھی ترتیب دیا گیا ہے۔ زیادہ پوزیشنوں کی روک تھام کی قیمت لاگت کی قیمت ((1 + روک تھام کا تناسب) ہے ، جبکہ غیر فعال پوزیشنیں اس کے برعکس ہیں۔ اس خصوصیت کو چالو کرنے سے منافع کو مقفل کیا جاسکتا ہے اور نقصانات میں توسیع سے بچا جاسکتا ہے۔
مجموعی طور پر ، اس حکمت عملی نے رجحانات کا اندازہ لگایا ، جبکہ اس بات کو یقینی بنایا کہ اسٹاپ نقصان اور اسٹاپ کو روکنے کے لئے کافی جگہ موجود ہے۔ اس سے یہ خاص طور پر ڈیجیٹل کرنسیوں جیسے اعلی اتار چڑھاؤ والی اقسام کے لئے موزوں ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
مندرجہ بالا خطرات کو کنٹرول کرنے کے لئے، مندرجہ ذیل اقدامات کی سفارش کی جاتی ہے:
یہ حکمت عملی مندرجہ ذیل جہتوں سے بہتر بنائی جا سکتی ہے:
ڈونگ چیئن چینل کو توڑنے کی حکمت عملی مجموعی طور پر ایک حکمت عملی ہے جس میں واضح فیصلے ، خطرے پر قابو پایا جاسکتا ہے۔ یہ خاص طور پر ڈیجیٹل کرنسی جیسی اعلی اتار چڑھاؤ والی اقسام کے لئے موزوں ہے ، جس میں آمدنی کا بہت زیادہ امکان ہے۔ اس کے ساتھ ہی ، اس حکمت عملی میں کچھ پیرامیٹرز کو بہتر بنانے کی گنجائش بھی موجود ہے اور دیگر اشارے کے ساتھ مل کر یہ مستقبل میں توسیع پذیر سمت ہیں۔ مسلسل اصلاح اور جدت طرازی کے ذریعہ ، اس حکمت عملی کو ڈیجیٹل کرنسی کے الگورتھم ٹریڈنگ کا ایک اہم انتخاب بننے کی امید ہے۔
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
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/
// © algotradingcc
// Strategy testing and optimisation for free trading bot
//@version=4
strategy("Donchian Channel Strategy [for free bot]", overlay=true )
//Long optopns
buyPeriodEnter = input(10, "Channel Period for Long enter position")
buyPeriodExit = input(10, "Channel Period for Long exit position")
isMiddleBuy = input(true, "Is exit on Base Line? If 'no' - exit on bottom line")
takeProfitBuy = input(2.5, "Take Profit (%) for Long position")
isBuy = input(true, "Allow Long?")
//Short Options
sellPeriodEnter = input(20, "Channel Period for Short enter position")
sellPeriodExit = input(20, "Channel Period for Short exit position")
isMiddleSell = input(true, "Is exit on Base Line? If 'no' - exit on upper line")
takeProfitSell = input(2.5, "Take Profit (%) for Short position")
isSell = input(true, "Allow Short?")
// Test Start
startYear = input(2005, "Test Start Year")
startMonth = input(1, "Test Start Month")
startDay = input(1, "Test Start Day")
startTest = timestamp(startYear,startMonth,startDay,0,0)
//Test End
endYear = input(2050, "Test End Year")
endMonth = input(12, "Test End Month")
endDay = input(30, "Test End Day")
endTest = timestamp(endYear,endMonth,endDay,23,59)
timeRange = time > startTest and time < endTest ? true : false
// Long&Short Levels
BuyEnter = highest(buyPeriodEnter)
BuyExit = isMiddleBuy ? ((highest(buyPeriodExit) + lowest(buyPeriodExit)) / 2): lowest(buyPeriodExit)
SellEnter = lowest(sellPeriodEnter)
SellExit = isMiddleSell ? ((highest(sellPeriodExit) + lowest(sellPeriodExit)) / 2): highest(sellPeriodExit)
// Plot Data
plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter")
plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50)
plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter")
plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50)
// Calc Take Profits
TakeProfitBuy = 0.0
TakeProfitSell = 0.0
if strategy.position_size > 0
TakeProfitBuy := strategy.position_avg_price*(1 + takeProfitBuy/100)
if strategy.position_size < 0
TakeProfitSell := strategy.position_avg_price*(1 - takeProfitSell/100)
// Long Position
if isBuy and timeRange
strategy.entry("Long", strategy.long, stop = BuyEnter, when = strategy.position_size == 0)
strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TakeProfitBuy, when = strategy.position_size > 0)
// Short Position
if isSell and timeRange
strategy.entry("Short", strategy.short, stop = SellEnter, when = strategy.position_size == 0)
strategy.exit("Short Exit", "Short", stop=SellExit, limit = TakeProfitSell, when = strategy.position_size < 0)
// Close & Cancel when over End of the Test
if time > endTest
strategy.close_all()
strategy.cancel_all()