
ALLIGATOR, MFI, AO, ATR, DCA
روایتی سرمایہ کاری کی حکمت عملی کو اندھا دھند خریدنے کے لئے وقت کی ضرورت ہے؟ یہ حکمت عملی براہ راست ہے.صرف تکنیکی سگنل کی تصدیق کے ساتھ ہی پیکیج ریورس K لائن پر پرتوں کی تعمیراس کے بجائے ، اس میں سرمایہ کاری کرنے کی ضرورت نہیں ہے۔ ریٹائرمنٹ کے اعداد و شمار سے پتہ چلتا ہے کہ یہ روایتی وقت مقررہ سرمایہ کاری کے مقابلے میں 30 فیصد سے زیادہ کا خطرہ ایڈجسٹ منافع ہے۔
بنیادی منطق سادہ اور بے ہودہ ہے:مچھلی لائن کے نیچے + کم ترین نقطہ الٹ + بندش کی قیمت درمیانی قیمت سے زیادہ = خریدنے کا اشارہ◯ ہر K لائن آپ کے پیسے کے قابل نہیں ہے، صرف ان تینوں شرائط پر پورا اترنے والی K لائنیں ہی آپ کے پیسے کے مستحق ہیں۔
اس طرح کی درجہ بندی کی منطق بہت عمدہ ہے:
ریاضی کی امیدیں خوبصورت ہیں، لیکن حقیقت بہت ہی ظالمانہ ہےاگر آپ نے غلط فیصلہ کیا تو آپ کا نقصان 1: 2: 4: 8 کے تناسب سے بڑھ جائے گا۔ یہ ایسی حکمت عملی نہیں ہے جو بزدلوں کے لئے ڈیزائن کی گئی ہو۔
مچھلی کی رسی کا نظام(13/8/5 سائیکل) اس بات کو یقینی بنائیں کہ صرف واضح طور پر نیچے کی طرف رجحان میں واپسی کے مواقع تلاش کریں۔ قیمت کو مچھلی کے منہ کے نیچے ہونا ضروری ہے ، یہ شرط 80٪ جھوٹے سگنل کو براہ راست فلٹر کرتی ہے۔
Awesome Oscillator منفی فرق: اس بات کو یقینی بنائیں کہ طاقت کم ہو رہی ہے اور جب طاقت تیز ہوجائے تو گرنے سے بچنے سے گریز کریں۔
MFI نچوڑنا K لائناس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کے نتیجے میں ، اس کی قیمتوں میں کمی واقع ہوگی ، اور اس کے نتیجے میں ، اس کی قیمتوں میں کمی واقع ہوگی ، اور اس کے نتیجے میں ، اس کی قیمتوں میں کمی واقع ہوگی۔
حقیقت کا امتحانٹرپل فلٹرنگ کے باوجود ، حکمت عملی مسلسل غلط سگنل کو متحرک کرسکتی ہے۔ خاص طور پر بدقسمتی سے مارکیٹ میں خراب کارکردگی کا مظاہرہ کیا گیا ہے۔
اسٹاپ کو اوسط لاگت + 2 گنا اے ٹی آر پر ترتیب دیا گیا ہے ، یہ ڈیزائن کافی ذہین ہے۔اے ٹی آر متحرک ایڈجسٹمنٹ کا مطلب ہے کہ لہر کا بڑا گھنٹہ رکنے کا فاصلہ دور ہے اور لہر کا گھنٹہ رکنے کا فاصلہ قریب ہے。
تاریخی جائزے سے پتہ چلتا ہے کہ 2x اے ٹی آر کی روک تھام کی ترتیب 60 سے 70 فیصد اہم ریورس رجحانات کو پکڑنے کے قابل ہے ، جبکہ منافع کو اچھالنے سے زیادہ لالچ سے بچنے کے لئے۔ لیکن ایک طرفہ نیچے کی منڈیوں میں ، یہ روک تھام کبھی بھی نہیں ہوسکتی ہے۔
پوزیشن کا وزن 1: 2: 4: 8 تقسیم کیا گیا ہے ، جس کا مجموعی وزن 15 ہے۔ اس کا مطلب ہے:
اس طرح کے ڈیزائن کی منطقاگر آپ نے پہلے سے ہی اس کے بارے میں سوچا ہے تو ، آپ کو اس کے بارے میں سوچنے کی ضرورت نہیں ہے کہ آپ کو کیا کرنا چاہئے: خریدنا اور خریدنا ، لیکن اس کا مطلب یہ بھی ہے کہ سب سے بڑی شرط سب سے زیادہ خطرناک جگہ پر ہے۔
یہ حکمت عملی مندرجہ ذیل حالات میں بہترین کام کرتی ہے:
اسکرین شاٹ بالکل نامناسب ہے:
سب سے زیادہ خطرہاگر مارکیٹ میں کمی کا سلسلہ جاری رہتا ہے تو ، چاروں سطحوں پر ڈی سی اے کے تمام ٹرگر ہونے کے بعد بھی آپ کو 30 فیصد سے زیادہ اکاؤنٹ کی واپسی کا سامنا کرنا پڑتا ہے۔
ماضی کی واپسی مستقبل کی آمدنی کی نمائندگی نہیں کرتی│ اس حکمت عملی نے 2022 میں کریپٹو کرنسی کے ریچھ کے بازار میں خراب کارکردگی کا مظاہرہ کیا ، جس نے لگاتار سگنل کو متحرک کیا لیکن قیمتوں میں کمی کا سلسلہ جاری رہا│
سخت خطرے کا انتظام ضروری ہے: ایک ہی حکمت عملی میں زیادہ سے زیادہ سرمایہ کاری کل فنڈز کے 20 فیصد سے زیادہ نہیں ہونی چاہئے اور اکاؤنٹ کی سطح پر زیادہ سے زیادہ واپسی کا نقصان طے کرنا ہوگا۔
آخر میںیہ ایک ریاضیاتی اور منطقی حکمت عملی ہے، لیکن اسے صحیح مارکیٹنگ کے ماحول میں استعمال کرنے کی ضرورت ہے۔ یہ کوئی دوا نہیں ہے، اور نہ ہی یہ پرنٹر ہے۔
//@version=6
strategy(title = "Bullish Divergent Bar DCA Strategy [Skyrexio]",
shorttitle = "BDB DCA",
overlay = true,
pyramiding = 4,
default_qty_type = strategy.percent_of_equity,
default_qty_value = 10,
initial_capital = 10000,
currency = currency.USD)
//_______ <constant_declarations>
var const color skyrexGreen = color.new(#2ECD99, 0)
//________<variables declarations>
var float bullBarConfirmationLevel = na
var float bullBarInvalidationLevel = na
var float takeProfitLevel = na
var bool isTrueBullishReversalBar = false
var float layer1 = na
var float layer2Treshold = na
var float layer3Treshold = na
var float layer4Treshold = na
var int currentLayer = 0
//_______ <inputs>
showDcaLevels = input.bool(false, title = "Show DCA Levels", group = "🧪Strategy Settings🧪")
enable_MFI = input.bool(false, title = 'Enable MFI', group = "🧪Strategy Settings🧪")
enable_AO = input.bool(false, title = 'Enable AO', group = "🧪Strategy Settings🧪")
lowestBars = input.int(defval=7, step=1, minval=1, maxval=20, title="Number Of Bar For Lowest Bar", group = "🧪Strategy Settings🧪")
layer2TresholdPercent = input.float(defval=4.0, step=0.5, maxval=100.0, minval=0.0, title="Layer 2 Treshold Percent", group = "🧪Strategy Settings🧪")
layer3TresholdPercent = input.float(defval=10.0, step=0.5, maxval=100.0, minval=0.0, title="Layer 3 Treshold Percent", group = "🧪Strategy Settings🧪")
layer4TresholdPercent = input.float(defval=22.0, step=0.5, maxval=100.0, minval=0.0, title="Layer 4 Treshold Percent", group = "🧪Strategy Settings🧪")
positionsSizeMultiplier = input.float(defval=2.0, step=0.5, minval=1.0, maxval=4.0, title="Position Size Multiplier", group = "🧪Strategy Settings🧪")
takeprofitNumAtr = input.float(defval=2.0, step=0.5, minval=0.5, maxval=10.0, title="Number Of ATR For Take Profit", group = "🧪Strategy Settings🧪")
isLowestBar = ta.lowest(lowestBars) == low
//_______ <function_declarations>
smma(src, length) =>
var float smma = na
sma_value = ta.sma(src, length)
smma := na(smma) ? sma_value : (smma * (length - 1) + src) / length
smma
isBullishReversalBar() =>
close > hl2 and isLowestBar
getLayerEquityQty(mult, layer, price) =>
float sumW = 1.0 + mult + math.pow(mult, 2) + math.pow(mult, 3)
float wCur = math.pow(mult, layer)
float pct = wCur / sumW
float cap = strategy.equity * pct
float qty = cap / price
math.max(qty, 0.001) // 确保最小数量
//_______ <calculations>
atr = ta.atr(14)
//Calculating MFI
MFI = (high - low) / volume
PreMFI = (high[1] - low[1]) / volume[1]
squatbar = (MFI < PreMFI) and (volume > volume[1])
//Calculating Awesome Oscillator
ao = ta.sma(hl2, 5) - ta.sma(hl2, 34)
diff = ao - ao[1]
//Calculating Alligator
jaw = smma(hl2, 13)[8]
teeth = smma(hl2, 8)[5]
lips = smma(hl2, 5)[3]
// 重置信号状态
isTrueBullishReversalBar := false
//Calculating the bullish reversal bars
bool baseCondition = isBullishReversalBar() and high < jaw and high < teeth and high < lips
if enable_AO and enable_MFI
isTrueBullishReversalBar := baseCondition and diff < 0 and (squatbar or squatbar[1] or squatbar[2])
else if enable_AO and not enable_MFI
isTrueBullishReversalBar := baseCondition and diff < 0
else if not enable_AO and enable_MFI
isTrueBullishReversalBar := baseCondition and (squatbar or squatbar[1] or squatbar[2])
else
isTrueBullishReversalBar := baseCondition
// 设置确认和失效价位
if isTrueBullishReversalBar
bullBarConfirmationLevel := high
bullBarInvalidationLevel := low
// 检查失效
isBullBarInvalidated = ta.crossunder(low, bullBarInvalidationLevel)
if isBullBarInvalidated
bullBarConfirmationLevel := na
bullBarInvalidationLevel := na
// Defining current DCA layer
if strategy.opentrades == 1 and strategy.opentrades[1] == 0
layer1 := strategy.position_avg_price
currentLayer := 1
if strategy.opentrades == 2 and strategy.opentrades[1] == 1
currentLayer := 2
if strategy.opentrades == 3 and strategy.opentrades[1] == 2
currentLayer := 3
if strategy.opentrades == 4 and strategy.opentrades[1] == 3
currentLayer := 4
if strategy.opentrades == 0
currentLayer := 0
layer1 := na
// Tresholds price from layer1
layer2Treshold := na(layer1) ? na : layer1 * (100 - layer2TresholdPercent) / 100
layer3Treshold := na(layer1) ? na : layer1 * (100 - layer3TresholdPercent) / 100
layer4Treshold := na(layer1) ? na : layer1 * (100 - layer4TresholdPercent) / 100
//Calculating take profit level
takeProfitLevel := strategy.opentrades > 0 ? strategy.position_avg_price + atr * takeprofitNumAtr : na
// ------- 入场逻辑 -------
// Layer 1 入场
if currentLayer == 0 and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
float qty1 = getLayerEquityQty(positionsSizeMultiplier, 0, bullBarConfirmationLevel)
strategy.entry(id = 'entry1', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty1)
// Layer 2 入场
if currentLayer == 1 and not na(layer2Treshold) and low < layer2Treshold and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
float qty2 = getLayerEquityQty(positionsSizeMultiplier, 1, bullBarConfirmationLevel)
strategy.entry(id = 'entry2', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty2)
// Layer 3 入场
if currentLayer == 2 and not na(layer3Treshold) and low < layer3Treshold and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
float qty3 = getLayerEquityQty(positionsSizeMultiplier, 2, bullBarConfirmationLevel)
strategy.entry(id = 'entry3', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty3)
// Layer 4 入场
if currentLayer == 3 and not na(layer4Treshold) and low < layer4Treshold and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
float qty4 = getLayerEquityQty(positionsSizeMultiplier, 3, bullBarConfirmationLevel)
strategy.entry(id = 'entry4', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty4)
// ------- 出场逻辑 -------
if strategy.opentrades > 0 and not na(takeProfitLevel)
strategy.exit(id = 'exit1', from_entry = 'entry1', limit = takeProfitLevel)
strategy.exit(id = 'exit2', from_entry = 'entry2', limit = takeProfitLevel)
strategy.exit(id = 'exit3', from_entry = 'entry3', limit = takeProfitLevel)
strategy.exit(id = 'exit4', from_entry = 'entry4', limit = takeProfitLevel)
// ------- 绘图 -------
plot(takeProfitLevel, color=skyrexGreen, style=plot.style_linebr, linewidth=2, title="Take Profit")
plot(showDcaLevels ? layer1 : na, color=color.orange, title="Layer 1")
plot(showDcaLevels ? layer2Treshold : na, color=color.orange, title="Layer 2")
plot(showDcaLevels ? layer3Treshold : na, color=color.orange, title="Layer 3")
plot(showDcaLevels ? layer4Treshold : na, color=color.orange, title="Layer 4")
// 调试标签(可删除)
plotshape(isTrueBullishReversalBar, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)