اس حکمت عملی کی بنیاد پر برابر لائن ٹریڈنگ ، ملٹی ہیڈ اور خالی ہیڈ کی تین داخلہ لائنوں کو ترتیب دے کر ، ملٹی ہیڈ بائی وے پوزیشن کھولنے کے لئے ، رجحان کی پیروی کرنے کی حکمت عملی ہے۔ جب قیمت اوسط لائن کو توڑتی ہے تو ، پوزیشن کھولنے کے بعد ، زیادہ کم کرنے کے لئے ، ہینگ لگانے والے دستخط کے ذریعہ تقسیم شدہ داخلہ کو حاصل کریں۔
اس حکمت عملی کا مقصد رجحان کی سمت کا تعین کرنا ہے ، جس میں بنیادی طور پر اوسط لائن کو توڑنا شامل ہے۔ خاص طور پر ، اس نے کھلنے کی قیمت ، بند ہونے کی قیمت ، اعلی قیمت ، کم قیمت ، وغیرہ کے ریاضیاتی اوسط کو حساب کتاب کرکے ایک اوسط لائن اشارے حاصل کیا ہے۔ اس کے بعد اوسط لائن کے اوپر ملٹی ہیڈ انٹری لائن اور اوسط لائن کے نیچے خالی ہیڈ انٹری لائن ترتیب دی گئی ہے۔ جب قیمت نیچے سے اوسط لائن کو توڑتی ہے تو ، ایک سے زیادہ آرڈر لگائیں۔ جب قیمت اوپر سے اوسط لائن کو توڑتی ہے تو ، ایک سے زیادہ آرڈر لگائیں۔
اضافی خالی کرنے والے احکامات کی تعداد میں اضافہ ہوتا ہے ، اور اس کی ترتیب کے ذریعے لٹکا ہوا آرڈر لگانے کے ذریعہ اسٹیک کھولنے کی اجازت دی جاتی ہے۔ مثال کے طور پر ، داخلہ لائن 1 ٹرگر کھولنے کے لئے 1 ہاتھ سے زیادہ / خالی ، داخلہ لائن 2 ٹرگر میں 1 ہینڈ ہولڈ ہولڈ ، اور داخلہ لائن 3 میں 1 ہینڈ ہولڈ ہولڈ شامل کریں۔ اس طرح داخلے کی لاگت کو منتشر کیا جاسکتا ہے ، اور ایک ہی آرڈر کے خطرے کو کم کیا جاسکتا ہے۔
اس حکمت عملی میں ایک واپسی کا طریقہ کار بھی ترتیب دیا گیا ہے۔ جب پوزیشن کی مقدار 0 سے کم ہو تو ، اوسط قیمت کے مطابق ٹریکنگ اسٹاپ آرڈر ترتیب دیا جائے گا ، اور اگر قیمت دوبارہ اوسط سے نیچے آجائے تو ، اس کی جگہ کو روک دیا جائے گا۔ اس سے کچھ منافع کو لاک کیا جاسکتا ہے ، اور فنڈز کی حفاظت کی جاسکتی ہے۔
مجموعی طور پر ، اس حکمت عملی میں رجحان کی سمت کا اندازہ لگانے کے لئے مساوی اشارے کا بھرپور استعمال کیا جاتا ہے ، جس میں کثیر درجے کی انٹری لائن کے ذریعہ منافع کے دائرے کو زیادہ سے زیادہ کیا جاتا ہے ، جبکہ اسٹاپ نقصان کا واحد کنٹرول خطرہ بھی طے کیا جاتا ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اوسط لائن کا استعمال کرتے ہوئے رجحان کی سمت کا فیصلہ واضح طور پر کیا جاسکتا ہے۔ اوسط لائن مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کرسکتی ہے ، جس سے اہم رجحان کی سمت کا فیصلہ کیا جاسکتا ہے۔
کثیر سطحی انٹری لائن ، رجحان کے چلانے والے علاقے کا بھرپور استعمال کریں۔ متعدد انٹری لائنوں کے ذریعہ ، رجحان کے پورے چلانے والے علاقے کو زیادہ سے زیادہ حد تک گرفت میں لایا جاسکتا ہے ، جس سے فائدہ اٹھانے کی گنجائش بڑھ جاتی ہے۔
بیچ کھولنے کی پوزیشن ، ایک ہی خطرے کو کم کریں۔ متعدد اندراجات ، آرڈر کے خطرے کو منتشر کرسکتے ہیں ، اور پوزیشن کی اوسط پوزیشن کی لاگت کو کم کرسکتے ہیں۔
واپسی کے نقصان کو روکنے کا طریقہ کار ترتیب دیں ، اور خطرے کو مؤثر طریقے سے کنٹرول کریں۔ واپسی کے نقصان کو روکنے کے لئے ، قیمتوں میں دوبارہ اوسط سے نیچے گرنے پر فوری طور پر روک دیا جاسکتا ہے ، اور بہت زیادہ نقصان سے بچا جاسکتا ہے۔
حکمت عملی واضح اور سمجھنے میں آسان ہے ، پیرامیٹرز لچکدار ہیں ، اور مختلف مارکیٹوں کے لئے بہتر بنایا جاسکتا ہے۔
اس حکمت عملی کے کچھ خطرات بھی ہیں:
اوسط لائن غلط سگنل بھیجنے کا امکان۔ اوسط لائن نے رجحان کا تعین کیا ہے کہ اس میں تاخیر ہے ، ممکنہ طور پر غلط سگنل بھیجے گا۔
رجحان کے الٹ جانے سے ہونے والے نقصان کا خطرہ۔ حکمت عملی رجحان پر مبنی ہے۔ اگر رجحان الٹ جاتا ہے تو ، اس سے زیادہ نقصان ہوگا۔
انٹری لائن کو زیادہ سے زیادہ کرنے کے لئے مقرر کیا گیا ہے، جس سے ٹریڈنگ کی تعدد اور سلائڈ پوائنٹ کی لاگت میں اضافہ ہوتا ہے.
بیچوں میں پوزیشن کھولنے سے پوزیشن کی حراستی کا خطرہ بڑھتا ہے۔ جب پوزیشن کی مقدار زیادہ ہو تو ، خطرہ جمع ہوتا ہے۔
اسٹاپ نقصان کا نقطہ غیر معقول طور پر ترتیب دیا گیا ہے ، اور یہ کہ اسٹاپ نقصان بہت جلد یا بہت چھوٹا ہوسکتا ہے۔
متعلقہ خطرے کے انتظام کے اقدامات:
اوسط لائن پیرامیٹرز کو بہتر بنائیں اور مناسب دورانیہ اوسط لائن کا انتخاب کریں۔
اہم تکنیکی اشارے پر توجہ دیں ، رجحان کی تبدیلی کے اشارے کا اندازہ کریں ، بروقت اسٹاپ نقصان کریں۔
فاصلے کو ایڈجسٹ کریں اور ٹرانزیکشن کو کم کریں.
پوزیشن کے سائز اور تناسب کو بہتر بنانا اور حراستی کے خطرات کو کنٹرول کرنا
اسٹاپ نقصان کے خطرے کو کم کرنے کے لئے اسٹاپ نقصان کے مقامات کی جانچ اور اصلاح کریں۔
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
مختلف اوسط لائن پیرامیٹرز اور اعداد و شمار کے ذرائع کی جانچ کریں ، اور رجحانات کے اثر کا اندازہ لگانے کے لئے بہترین اوسط لائن اشارے کا انتخاب کریں۔
زیادہ سے زیادہ خالی انٹری لائنوں کے فاصلے کے وقفے اور پوزیشن کی تعداد کے تناسب کو بہتر بنائیں ، بہترین پیرامیٹرز تلاش کریں۔
دوسرے اشارے کے ساتھ مل کر فلٹرنگ کی شرائط کے طور پر ، مساوی لائن سے غلط سگنل سے بچنے کے لئے۔ جیسے MACD ، RSI وغیرہ۔
سٹاپ نقصان لائن کی پوزیشن کو بہتر بنانے کے لئے ، آپ اے ٹی آر کی متحرک ترتیب کے مطابق اسٹاپ نقصان کی پوزیشن بھی ترتیب دے سکتے ہیں۔
رجحان کے الٹ جانے کے بارے میں مزید فیصلے کریں ، اور تمام پوزیشنوں کو بند کرنے کی شرائط طے کریں۔
مارکیٹ کے مختلف اوقات کے مطابق حکمت عملی کو بہتر بنانے کے لئے پیرامیٹرز۔
پوزیشنوں کی تعداد میں اضافے کے لئے متحرک ایڈجسٹمنٹ کی خصوصیت ، فنڈز کے استعمال کے تناسب کے مطابق پوزیشن کھولنے والوں کی تعداد کا تعین کریں۔
اس حکمت عملی میں مجموعی طور پر یکساں طور پر رجحان کی سمت کا تعین کیا گیا ہے ، جس میں رجحان کی نقل و حرکت بنیادی طور پر منافع کا ذریعہ ہے۔ متعدد سطحوں پر داخلے اور بیچوں میں کھلنے والی پوزیشنوں کے ذریعہ ، رجحان کو مؤثر طریقے سے پکڑنے ، منافع کے علاقے کو بڑھانے کے لئے۔ اس کے ساتھ ساتھ خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کا طریقہ کار ترتیب دیا گیا ہے۔ اس حکمت عملی کا نظریہ آسان اور واضح ہے ، جو ابتدائی سیکھنے کے لئے موزوں ہے ، لیکن گہری اصلاح کے لئے بھی موزوں ہے۔ یہ ایک عام رجحان سے باخبر رہنے کی حکمت عملی ہے۔
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Robot WhiteBox Iceberg", shorttitle = "Robot WhiteBox Iceberg", 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
lots = 0.0
size = strategy.position_size
mult = 1 / syminfo.mintick
needtime = true
//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 = 0.0
longline2 = 0.0
longline3 = 0.0
shortline1 = 0.0
shortline2 = 0.0
shortline3 = 0.0
longline1 := long1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
longline2 := lots[1] == 0 ? long2 ? round(ma * ((100 + longlevel2) / 100) * mult) / mult : close : longline2[1]
longline3 := lots[1] == 0 ? long3 ? round(ma * ((100 + longlevel3) / 100) * mult) / mult : close : longline3[1]
shortline1 := short1 ? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close
shortline2 := lots[1] == 0 ? short2 ? round(ma * ((100 + shortlevel2) / 100) * mult) / mult : close : shortline2[1]
shortline3 := lots[1] == 0 ? short3 ? round(ma * ((100 + shortlevel3) / 100) * mult) / mult : close : shortline3[1]
//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]
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, when = needtime)
if size < 0
strategy.entry("TPS", strategy.long, 0, limit = ma, when = needtime)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()
strategy.cancel("L1")
strategy.cancel("L2")
strategy.cancel("L3")
strategy.cancel("S1")
strategy.cancel("S2")
strategy.cancel("S3")
strategy.cancel("TPL")
strategy.cancel("TPS")