
ALLIGATOR, MFI, AO, ATR, DCA
এই কৌশলটি সরাসরি বিপরীতমুখী।কেবলমাত্র প্রযুক্তিগত সংকেত দ্বারা নিশ্চিত হওয়া পয়েন্টার বিপরীতমুখী K-লাইনগুলিতে স্তরবিন্যাস করাএই পদ্ধতিতে, বিনিয়োগকারীরা তাদের সময় নির্ধারণের জন্য নির্দিষ্ট সময়ে বিনিয়োগ করে, কিন্তু এটির পরিবর্তে, তারা তাদের সময় নির্ধারণের জন্য নির্দিষ্ট সময়ে বিনিয়োগ করে।
এর মূল যুক্তিটি সহজ এবং সরলঃক্যালকুলেটর লাইন নীচে + সর্বনিম্ন বিপরীত + বন্ধের মূল্য মধ্যম মূল্যের উপরে = একটি ক্রয় সংকেত◯ প্রত্যেকটি K-লাইন আপনার অর্থের যোগ্য নয়, কেবলমাত্র এই তিনটি শর্ত পূরণ করে এমন K-লাইনই আপনার অর্থের যোগ্য ◯
এই ধাপে ধাপে ধারাবাহিকতা বেশ বুদ্ধিমানভাবে তৈরি করা হয়েছেঃ
গাণিতিক প্রত্যাশা সুন্দর, কিন্তু বাস্তবতা নিষ্ঠুরযদি আপনি ভুল বিচার করেন, আপনার ক্ষতির পরিমাণ 1: 2: 4: 8: এর অনুপাতে বাড়বে। এটি ভীতুদের জন্য ডিজাইন করা কৌশল নয়।
মাছ ধরার লাইন সিস্টেম(13/8/5 চক্র) নিশ্চিত করুন যে আপনি কেবলমাত্র একটি সুস্পষ্ট নিম্নমুখী প্রবণতার মধ্যে একটি বিপরীতমুখী সুযোগ খুঁজছেন। দামটি অবশ্যই হাঙ্গরের মুখের নীচে থাকতে হবে, এই শর্তটি সরাসরি 80% মিথ্যা সংকেত ফিল্টার করে।
Awesome Oscillator এর মান হল -০: নিশ্চিত করুন যে গতি এখনও হ্রাস পাচ্ছে, গতির ত্বরণে পতনের সময় ছুরিটি গ্রহণ করা এড়িয়ে চলুন।
এমএফআই এক্সট্রুশন K লাইন: লেনদেনের পরিমাণ বৃদ্ধি পেয়েছে কিন্তু দামের ব্যবধান সংকীর্ণ হয়েছে, এটি তহবিলের খেলার তীব্র সংকেত। ক্রমাগত 3 টি কে লাইনের মধ্যে উপস্থিত হওয়া ট্রিগার হতে পারে।
বাস্তবতা পরীক্ষাএমনকি যদি তিনবার ফিল্টার করা হয়, তাহলেও কৌশলটি ভুল সংকেত ছড়াতে পারে।
এটি একটি বুদ্ধিমান নকশা, কারণ এটির গড় খরচ + 2x এটিআর এ স্টপ সেট করা হয়েছে।ATR গতিশীল সমন্বয় মানে যে বড় ঘন্টা স্টপ দূরত্ব এবং ঘন্টা ঘন্টা স্টপ কাছাকাছি。
ঐতিহাসিক পর্যালোচনা দেখায় যে, ২ গুণ ATR-এর স্টপ সেটিং ৬০-৭০% প্রধান বিপর্যয়কে ধরতে সক্ষম, কিন্তু একতরফা পতনশীল বাজারে এই স্টপ কখনোই স্পর্শ করা সম্ভব নয়।
পজিশনের ওজন ১ঃ২ঃ৪ঃ৮ ভাগে ভাগ করা হয়েছে, মোট ওজন ১৫। এর মানে হলঃ
এই ডিজাইনের যুক্তিক্রমশ নিম্নমুখী, কিন্তু এর মানে হল যে সবচেয়ে বড় বাজিটি সবচেয়ে ঝুঁকিপূর্ণ অবস্থানে রয়েছে। আপনি যদি চতুর্থ স্তরটি ট্রিগার হওয়ার পরেও পড়ে যান তবে আপনি বিশাল ক্ষতির মুখোমুখি হবেন।
এই কৌশলটি নিম্নলিখিত পরিস্থিতিতে সবচেয়ে ভাল কাজ করেঃ
কোন পরিস্থিতিতে নয়:
সর্বোচ্চ ঝুঁকিক্রমাগত ভুল সংকেতের ফলে তহবিলের দ্রুত ব্যবহার। যদি বাজারটি অব্যাহত থাকে তবে 4 টি স্তরের সমস্ত ডিসিএ ট্রিগার হওয়ার পরেও কোনও প্রতিক্রিয়া না থাকে, আপনি 30% এরও বেশি অ্যাকাউন্ট প্রত্যাহারের মুখোমুখি হবেন।
ইতিহাসের পুনরাবৃত্তি ভবিষ্যতের উপার্জনকে বোঝায় নাএই কৌশলটি ২০২২ সালের ক্রিপ্টোকারেন্সির ভালুকের বাজারে খারাপভাবে কাজ করেছে, যার ফলে বারবার সংকেত জাগানো হয়েছে কিন্তু দাম ক্রমাগত হ্রাস পেয়েছে।
কঠোর ঝুঁকি ব্যবস্থাপনার প্রয়োজন: একক কৌশল সর্বাধিক বিনিয়োগ মোট তহবিলের 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)