ملٹی موونگ ایوریج لمیٹ ٹریڈنگ حکمت عملی


تخلیق کی تاریخ: 2023-09-22 14:16:20 آخر میں ترمیم کریں: 2023-09-22 14:16:20
کاپی: 0 کلکس کی تعداد: 641
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

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

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

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

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

طاقت کا تجزیہ

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. اوسط لائن کا استعمال کرتے ہوئے رجحانات کا تعین کریں، آپریشن آسان اور بدیہی ہے.

  2. پیراڈائم اسٹاک کھولنے سے رجحان کے آغاز میں بہتر قیمت ملتی ہے۔

  3. مرکزی محور مساوی لائن نقصان ، وقت پر نقصان کو روک سکتا ہے ، خطرے کو کنٹرول کرسکتا ہے۔

  4. اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کی قیمتوں میں کمی کی وجہ سے اس کی قیمتوں میں کمی واقع ہوئی ہے۔

  5. اپنی مرضی کے مطابق پیرامیٹرز، مختلف اقسام کے مطابق ڈھالنے

  6. واضح، سمجھنے اور توسیع کرنے میں آسان۔

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:

  1. اوسط اشارے میں تاخیر کی وجہ سے غلط فہمی پیدا ہوسکتی ہے۔

  2. ٹکٹوں کی ناکامی کی وجہ سے داخلے کا موقع ضائع ہو سکتا ہے۔

  3. درمیانی محور اوسط لائن نقصان ممکن ہے کہ بہت زیادہ کھردرا ہو ، جس سے اس میں کامیابی حاصل نہ ہوسکے فیصلے کرنا

  4. پیرامیٹرز کو غلط ترتیب دینے سے پرامڈ کی پوزیشن زیادہ بڑی ہوسکتی ہے۔

  5. ناکافی ریٹرننگ ٹائم رینج سے منحنی خطوط کا زیادہ فٹ ہونا ممکن ہے۔

  6. فیس کے عوامل کو مدنظر نہیں رکھا گیا ہے۔

خطرے سے نمٹنے کے لئے مندرجہ ذیل طریقے ہیں:

  1. دوسرے اشارے کے ساتھ مل کر تصدیق، اصلاحی پیرامیٹرز

  2. قیمت کی حد مقرر کریں اور قیمت کو ایڈجسٹ کریں۔

  3. مرکزی محور کی مساوی لائن پر اسٹاپ سیٹ کریں ، یا بریک فیصلے کی منطق شامل کریں۔

  4. آپٹمائزیشن پیرامیٹرز، منافع اور نقصان کا اندازہ لگائیں۔

  5. کثیر منڈیوں میں ردعمل کا وقت بڑھانا۔

  6. فیس اور سلائیڈ پوائنٹ کی منطق شامل کریں۔

اصلاح کی سمت

یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔

  1. زیادہ سے زیادہ اقسام کو اپنانے کے لئے پیرامیٹرز کو بہتر بنائیں۔ مشین لرننگ کے طریقوں کا استعمال کیا جاسکتا ہے۔

  2. دیگر اشارے فلٹر کی تصدیق شامل کریں۔ جیسے MACD، KDJ وغیرہ۔

  3. مرکزی محور کی یکساں لائن میں مزید اسٹاپ لاجسٹک۔

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

  5. قیمتوں میں اضافے کے لئے قیمتوں کا تعین کرنے کے لئے قیمتوں کا تعین کرنے کے لئے قیمتوں کا تعین کرنے کے لئے قیمتوں کا تعین کرنے کے لئے.

  6. اخراجات پر قابو پانے میں اضافہ کریں اور زیادہ سے زیادہ وصولی سے بچیں۔

  7. مختلف اقسام کے پیرامیٹرز کے اثرات کی جانچ کریں ، پیرامیٹرز کا تالاب بنائیں۔

خلاصہ کریں۔

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

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

//Noro
//2019

//@version=4
strategy(title = "Robot WhiteBox MultiMA", shorttitle = "Robot WhiteBox MultiMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Length")
s = input(defval = "7. OHLC4", options = ["1. Open", "2. High", "3. Low", "4. Close", "5. HL2", "6. HLC3", "7. OHLC4", "8. OC2", "9. PCMA"], title = "Data")
short3 = input(true, title = "short 3")
short2 = input(true, title = "short 2")
short1 = input(true, title = "short 1")
long1 = input(true, title = "long 1")
long2 = input(true, title = "long 2")
long3 = input(true, title = "long 3")
shortlevel3 = input(15.0, title = "Short line 3")
shortlevel2 = input(10.0, title = "Short line 2")
shortlevel1 = input(5.0, title = "Short line 1")
longlevel1 = input(-5.0, title = "Long line 1")
longlevel2 = input(-10.0, title = "Long line 2")
longlevel3 = input(-15.0, title = "Long line 3")
needoffset = input(true, title = "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")

//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick
needtime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)

//MA
oc2 = (open + close) / 2
pcma = (highest(high, len) + lowest(low, len)) / 2
src = s == "1. Open" ? open : s == "2. High" ? high : s == "3. Low" ? low : s == "4. Close" ? close : s == "5. HL2" ? hl2 : s == "6. HLC3" ? hlc3 : s == "7. OHLC4" ? ohlc4 : s == "8. OC2" ? oc2: close
sma = sma(src, len)
ma = s == "9. PCMA" ? round(pcma * mult) / mult : round(sma * mult) / mult

//Levels
longline1 = long1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
longline2 = long2 ? round(ma * ((100 + longlevel2) / 100) * mult) / mult : close
longline3 = long3 ? round(ma * ((100 + longlevel3) / 100) * mult) / mult : close
shortline1 = short1 ? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close
shortline2 = short2 ? round(ma * ((100 + shortlevel2) / 100) * mult) / mult : close
shortline3 = short3 ? round(ma * ((100 + shortlevel3) / 100) * mult) / mult : close

//Lines
colorlong1 = long1 ? color.lime : na
colorlong2 = long2 ? color.lime : na
colorlong3 = long3 ? color.lime : na
colorshort1 = short1 ? color.red : na
colorshort2 = short2 ? color.red : na
colorshort3 = short3 ? color.red : na
offset = needoffset ? 1 : 0
plot(shortline3, offset = offset, color = colorshort3, title = "Short line 3")
plot(shortline2, offset = offset, color = colorshort2, title = "Short line 2")
plot(shortline1, offset = offset, color = colorshort1, title = "Short line 1")
plot(ma, offset = offset, color = color.blue, title = "MA line")
plot(longline1, offset = offset, color = colorlong1, title = "Long line 1")
plot(longline2, offset = offset, color = colorlong2, title = "Long line 2")
plot(longline3, offset = offset, color = colorlong3, title = "Long line 3")

//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
if ma > 0
    lots := round(size / lot)
    strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0 and long1 and needtime))
    lots := round(size / lot)
    strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1 and long2 and needtime))
    lots := round(size / lot)
    strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2 and long3 and needtime))
    lots := round(size / lot)
    strategy.entry("S1", strategy.short, lot, limit = shortline1, when = (lots == 0 and short1 and needtime))
    lots := round(size / lot)
    strategy.entry("S2", strategy.short, lot, limit = shortline2, when = (lots >= -1 and short2 and needtime))
    lots := round(size / lot)
    strategy.entry("S3", strategy.short, lot, limit = shortline3, when = (lots >= -2 and short3 and needtime))
if size > 0
    strategy.entry("TPL", strategy.short, 0, limit = ma)
if size < 0
    strategy.entry("TPS", strategy.long, 0, limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()