Donqi'an Wave Adaptive Market Strategy


تخلیق کی تاریخ: 2023-10-26 15:58:52 آخر میں ترمیم کریں: 2023-10-26 15:58:52
کاپی: 0 کلکس کی تعداد: 808
1
پر توجہ دیں
1617
پیروکار

Donqi’an Wave Adaptive Market Strategy

جائزہ

یہ حکمت عملی ڈونچین چینل اشارے پر مبنی ہے جس کی مدد سے مارکیٹ کے رجحانات کو ایڈجسٹ کیا جاسکتا ہے۔ جب قیمت ڈونچین چینل کو توڑتی ہے تو ، رجحان کا پیچھا کیا جاتا ہے۔ جب قیمت چینل کے اندر واپس آتی ہے تو ، نقصانات کو روکنا۔

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

  1. ایک مخصوص دورانیے کے دوران سب سے زیادہ قیمت اور سب سے کم قیمت کا حساب لگایا جاتا ہے ، جس سے ڈونگ چیان چینل تشکیل دیا جاتا ہے۔ چینل کی وسط لائن اس مدت کے دوران سب سے زیادہ قیمت اور سب سے کم قیمت کی اوسط ہوتی ہے۔

  2. جب قیمت چینل کے اوپری حصے میں ٹوٹ جاتی ہے تو ، ایک سے زیادہ پوزیشن کھولی جاتی ہے۔ جب قیمت چینل کے نچلے حصے میں ٹوٹ جاتی ہے تو ، خالی پوزیشن کھولی جاتی ہے۔

  3. پوزیشن کھولنے کے بعد ، اسٹاپ لائن چینل کے وسط لائن کو ٹریک کرتی ہے۔ اسٹاپ لائن چینل کو توڑنے کی ایک خاص تناسب کی قیمت کو ٹریک کرتی ہے۔

  4. جب قیمت دوبارہ چینل میں واپس آتی ہے تو ، اسٹاپ نقصان کی صفائی کریں۔

طاقت کا تجزیہ

  1. اس حکمت عملی کا مقصد مارکیٹ میں تیزی سے ہونے والی تبدیلیوں کو پکڑنے کے لیے ٹونگ چیانگ چینلز کا استعمال کرنا ہے۔

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

  3. صارف کی طرف سے مقرر کردہ سٹاپ پھیلنے کی حد کے مطابق، مناسب طریقے سے منافع بخش جگہ کو بڑھانے کے لئے.

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

  5. حکمت عملی کی تجارت کی منطق سادہ اور واضح ہے اور اسے سمجھنا اور اس پر عبور حاصل کرنا آسان ہے۔

خطرے کا تجزیہ

  1. یہ حکمت عملی صرف توڑنے والے چینلوں پر مبنی ہے اور اس سے مارکیٹوں کی بحالی کا مؤثر جواب نہیں ملتا ہے۔

  2. جعلی سگنلوں کو توڑنے کا خطرہ ہے ، جس کی تصدیق دیگر اشارے کے ساتھ مل کر کی جانی چاہئے۔

  3. نقصانات کو روکنے کے لئے غیر مناسب ترتیبات، جو ابتدائی نقصانات یا ناکافی منافع کی وجہ سے ہوسکتی ہیں.

  4. غلط چینل سائیکل کی ترتیب ، جو تجارتی سگنل کی درستگی کو متاثر کرتی ہے۔

  5. زیادہ سے زیادہ پوزیشنوں کی ترتیب مارکیٹ میں اتار چڑھاؤ کے اکاؤنٹ پر اثرات کو بڑھا سکتی ہے۔

  6. روبوٹ ٹریڈنگ میں غیر متوقع رکاوٹوں کا خطرہ ہے اور نظام کو مستحکم اور قابل اعتماد بنانے کی ضرورت ہے۔

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

  1. ٹرانزیکشن حجم کے اشارے کے ساتھ مل کر ، جعلی بریکوں کی پیروی کرنے سے گریز کریں۔

  2. ٹرینڈ اشارے کی تشخیص میں اضافہ اور پوزیشن کھولنے کے سگنل کی درستگی کو بہتر بنانا

  3. اسٹاپ اسٹاپ نقصان کے الگورتھم کو بہتر بنائیں ، متحرک ایڈجسٹمنٹ کو نافذ کریں۔

  4. مارکیٹ کے حالات کے مطابق پوزیشن مینجمنٹ کی حکمت عملی کو ریئل ٹائم میں ایڈجسٹ کریں۔

  5. رات کے وقت اور اس سے پہلے کے اعداد و شمار کا مطالعہ کریں اور بہتر وقت تلاش کریں۔

  6. مختلف دورانیہ پیرامیٹرز کی جانچ کریں ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔

  7. ماڈل کی توثیق کے ماڈیول کو شامل کریں اور overmatching سے بچیں.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2020

//@version=4
strategy(title = "Noro's Donchian Strategy", shorttitle = "Donchian str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
tp = input(defval = 10, minval = 1, title = "Take profit")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
pclen = input(50, minval = 1, title = "Price Channel Length")
showll = input(true, defval = true, title = "Show lines")
showbg = input(false, defval = false, title = "Show Background")
showof = input(true, defval = true, title = "Show Offset")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Price Channel
h = highest(high, pclen)
l = lowest(low, pclen)
center = (h + l) / 2
tpl = h * (100 + tp) / 100
tps = l * (100 - tp) / 100

//Lines
tpcol = showll ? color.lime : na
pccol = showll ? color.blue : na
slcol = showll ? color.red : na
offset = showof ? 1 : 0
plot(tpl, offset = offset, color = tpcol, title = "TP Long")
plot(h, offset = offset, color = pccol, title = "Channel High")
plot(center, offset = offset, color = slcol, title = "Cannel Center")
plot(l, offset = offset, color = pccol, title = "Channel Low")
plot(tps, offset = offset, color = tpcol, title = "TP Short")

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(bgcol, transp = 70)

//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
mo = 0
mo := strategy.position_size != 0 ? 0 : high >= center and low <= center ? 1 : mo[1]
if h > 0
    strategy.entry("Long", strategy.long, lot, stop = h, when = strategy.position_size <= 0 and needlong and truetime and mo)
    strategy.exit("TP Long", "Long", limit = tpl, stop = center)
    strategy.entry("Short", strategy.short, lot, stop = l, when = strategy.position_size >= 0 and needshort and truetime and mo)
    strategy.exit("TP Short", "Short", limit = tps, stop = center)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")