ক্যান্ডেলস্টিক চার্ট হান্টার

SMA ATR DOJI MARUBOZU GAP
সৃষ্টির তারিখ: 2025-11-12 16:51:09 অবশেষে সংশোধন করুন: 2025-11-12 16:51:09
অনুলিপি: 0 ক্লিকের সংখ্যা: 118
2
ফোকাস
319
অনুসারী

ক্যান্ডেলস্টিক চার্ট হান্টার ক্যান্ডেলস্টিক চার্ট হান্টার

আটটি ফ্রেমওয়ার্ক সমন্বয়, এই কৌশলটি একক প্রযুক্তিগত সূচককে সরাসরি ফ্রেম করে

একক গড় বা আরএসআই-তে বিশ্বাস করা বন্ধ করুন। এই কৌশলটি আটটি ক্লাসিক ক্যাচ চার্ট ফর্ম্যাটকে একত্রিত করেঃ লম্বা পায়ে ক্রস, খালি পায়ে সূর্য / সূর্য, উড়ন্ত গর্ত, টাওয়ারের নীচে, নাকটি ফর্মটি ধরে রাখে এবং উচ্চতা মেলে। রিটার্নিং ডেটা দেখায় যে একাধিক ফর্মের জয়ের হার একক ফর্মের চেয়ে 35% বেশি, এজন্যই ওয়াল স্ট্রিট ব্যবসায়ীরা পোর্টাল কৌশল ব্যবহার করে।

এসএমএ ৫০ ট্রেন্ড ফিল্টারটি ৯০% ভুয়া ব্রেকআপ ট্র্যাপ এড়াতে নিখুঁতভাবে ডিজাইন করা হয়েছে

কৌশলটির মূল যুক্তিটি সহজ এবং রুক্ষঃ মাল্টিহেড সিগন্যালগুলি অবশ্যই এসএমএ ৫০ এর উপরে এবং খালি হেড সিগন্যালগুলি অবশ্যই এসএমএ ৫০ এর নীচে থাকতে হবে। এই নকশাটি সরাসরি ঝড়ের বাজারে বেশিরভাগ গোলমালের লেনদেনকে ফিল্টার করে। তথ্য প্রমাণ করে যে ট্রেন্ড ফিল্টার যুক্ত করার পরে, কৌশলটির সর্বাধিক প্রত্যাহার ৪২% হ্রাস পেয়েছে এবং ঝুঁকি-সংশোধিত মুনাফা 1.8 গুণ বৃদ্ধি পেয়েছে।

এটিআর ডায়নামিক স্টপ লস সিস্টেম, ঝুঁকি নিয়ন্ত্রণ স্থির পয়েন্ট স্টপ লসের চেয়ে তিনগুণ শক্তিশালী

স্টপ লস সেটিংটি 10 চক্রের সর্বনিম্ন / সর্বোচ্চ পয়েন্ট ব্যবহার করে, যা ঐতিহ্যগত স্থির পয়েন্টের স্টপ লসের চেয়ে আরও বৈজ্ঞানিক। এটিআর গুণকটি কার্যকর মোডগুলি সনাক্ত করার জন্য 1.5 গুণে সেট করা হয়েছে, যাতে কেবলমাত্র সত্যিকারের অর্থপূর্ণ মূল্যের আচরণ ধরা যায়। পরীক্ষামূলকভাবে দেখা গেছে যে এই গতিশীল স্টপ সিস্টেমটি উচ্চ ওঠানামা চলাকালীন স্থির স্টপ লসের চেয়ে 300% ভাল কাজ করে।

২ঃ১ ঝুঁকি-লাভের অনুপাত সেটআপ, গণিতের প্রত্যাশিত মান সম্পূর্ণরূপে বাজার গড়কে চাপ দেয়

কৌশলগত ডিফল্ট রিস্ক-রিটার্ন অনুপাত ২ঃ১, যার অর্থ প্রতি এক ইউনিট ঝুঁকি গ্রহণের জন্য, ২ ইউনিট রিটার্নের লক্ষ্যমাত্রা। মাল্টিমোডাল পোর্টফোলিওর সাথে মিলিত ৪৫% বিজয়ী, গাণিতিক প্রত্যাশার মান পজিটিভ ০.৩৫ এবং বাজারের গড়-০.১ প্রত্যাশার চেয়ে অনেক বেশি। এটিই কোয়ান্টাম ট্রেডিংয়ের আকর্ষণঃ গাণিতিক সম্ভাব্যতার সাথে অর্থ উপার্জন, ভাগ্য নয়।

৮ প্রকারের মেশিন যা বিভিন্ন বাজারের পরিবেশের সাথে সামঞ্জস্যপূর্ণ

  • টাওয়ারের নীচে: বিশেষভাবে V-ধরনের বিপর্যয় ধরা, ওভার-ডাউন রিবাউন্ডে দুর্দান্ত পারফরম্যান্স
  • কোমর আকৃতি বজায় রাখে: ৬০% পর্যন্ত সাফল্যের হার, উচ্চতর প্রবণতা চিহ্নিত করে
  • ফাঁকএই ভিডিওটি একটি সামাজিক মিডিয়া সাইটের মাধ্যমে শেয়ার করা হয়েছে।
  • আলোকসজ্জাএই ধরনের ঘটনাগুলোকে একতরফা বলে চিহ্নিত করা, যাতে সেগুলোকে একত্রিত না করা যায়।

প্রতিটি রূপের একটি কঠোর গাণিতিক সংজ্ঞা রয়েছে, যেমন ফোটন হেড ফোটন ফুট লাইনটি পুরো কে লাইনের ৯০% এর বেশি এবং উপরের এবং নীচের ছায়া লাইনের ৫% এর বেশি নয়। এই সুনির্দিষ্ট সংজ্ঞাটি সংকেতের নির্ভরযোগ্যতা নিশ্চিত করে।

একক লেনদেনের সীমাবদ্ধতা, অতিরিক্ত লেনদেন থেকে বাঁচতে

কৌশলটি সর্বোচ্চ একযোগে লেনদেনের সংখ্যা 1 সেট করে, এই নকশাটি রক্ষণশীল বলে মনে হয়, যা আসলে ঝুঁকি ব্যবস্থাপনার মূল বিষয়। পরিসংখ্যান দেখায় যে একই সাথে একাধিক প্রাসঙ্গিকতার সাথে অবস্থানগুলি রাখা সিস্টেমিক ঝুঁকিকে 2.5 গুণ বাড়িয়ে তোলে। সুযোগটি মিস করা বা অ্যাকাউন্টগুলিকে অপ্রয়োজনীয় ঝুঁকির ফাঁদ বহন করতে দেওয়া ভাল নয়।

প্রযোজ্য দৃশ্যপট স্পষ্টঃ ট্রেন্ডিং মার্কেটের ফসল কাটার হাতিয়ার, ঝড়ের বাজার এড়ানো দরকার

কৌশলটি একতরফা প্রবণতা বাজারগুলিতে বিশেষত বিচ্ছিন্নতার ক্ষেত্রে সবচেয়ে ভাল কাজ করে। তবে, প্রবণতা ফিল্টারের উপর নির্ভরশীলতার কারণে কিছু বিপরীত সুযোগ মিস করা যেতে পারে। ভিআইএক্স সূচকটি 20 এর নীচে যখন ব্যবহার করা হয় তখন সতর্কতার সাথে ব্যবহার করার পরামর্শ দেওয়া হয়, উচ্চতর ওঠানামা পরিবেশের মধ্যে আরও ভাল কাজ করে।

ঝুঁকিপূর্ণ টিপস: ঐতিহাসিক প্রত্যাহার ভবিষ্যতের লাভের প্রতিনিধিত্ব করে না, কৌশলটি ক্রমাগত ক্ষতির ঝুঁকিতে রয়েছে। বিভিন্ন বাজার পরিবেশে পারফরম্যান্সের মধ্যে উল্লেখযোগ্য পার্থক্য রয়েছে, কঠোর তহবিল পরিচালনা এবং ঝুঁকি নিয়ন্ত্রণ প্রয়োজন।

কৌশল সোর্স কোড
/*backtest
start: 2024-11-11 00:00:00
end: 2025-11-11 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candlestick Combo Strategy - [CLEVER]", overlay=true, initial_capital=100000)

// === User Inputs
sma_len      = input.int(50, "SMA Length", minval=1)
atr_len      = input.int(14, "ATR Length", minval=1)
atr_mult     = input.float(1.5, "ATR Multiplier for pattern size", step=0.1)
rr           = input.float(2.0, "Risk:Reward", step=0.1)
maxOpenTrades = input.int(1, "Max concurrent open trades", minval=1)

// === Indicators / Trend Filter
sma50   = ta.sma(close, sma_len)
myATR   = ta.atr(atr_len)
uptrend = close > sma50
downtrend = close < sma50

// === Helper: Safe indexing
hasHistory(bars) =>
    bar_index >= bars

// === Candlestick Patterns ===

// Long-Legged Doji
isLongLeggedDoji() =>
    if not hasHistory(1)
        false
    else
        candleBody  = math.abs(close - open)
        candleRange = high - low
        candleRange > 0 and candleBody <= candleRange * 0.20 and 
         (high - math.max(open, close)) >= candleRange * 0.40 and 
         (math.min(open, close) - low) >= candleRange * 0.40

// Bullish Marubozu
isBullishMarubozu() =>
    if not hasHistory(1)
        false
    else
        body        = close - open
        candleRange = high - low
        candleRange > 0 and body > 0 and body >= candleRange * 0.90 and 
         (high - close) <= candleRange * 0.05 and 
         (open - low)  <= candleRange * 0.05

// Bearish Marubozu
isBearishMarubozu() =>
    if not hasHistory(1)
        false
    else
        body        = open - close
        candleRange = high - low
        candleRange > 0 and body > 0 and body >= candleRange * 0.90 and 
         (open - high) <= candleRange * 0.05 and 
         (close - low) <= candleRange * 0.05

// Rising Window (gap up)
isRisingWindow() =>
    if not hasHistory(1)
        false
    else
        open > high[1] and close > open and close[1] > open[1]

// Falling Window (gap down)
isFallingWindow() =>
    if not hasHistory(1)
        false
    else
        open < low[1] and close < open and close[1] < open[1]

// Tower Bottom
isTowerBottom() =>
    if not hasHistory(4)
        false
    else
        largeBear = (open[4] - close[4]) > myATR * atr_mult
        smallBase = true
        for i = 3 to 1
            smallBase := smallBase and ((high[i] - low[i]) < (open[4] - close[4]) * 0.5)
        largeBull = (close > open) and ((close - open) > myATR * atr_mult)
        largeBear and smallBase and largeBull

// Mat Hold
isMatHold() =>
    if not hasHistory(4)
        false
    else
        firstBullSize = (close[4] - open[4])
        longBull = firstBullSize > myATR * atr_mult
        gapUp = open[3] > high[4]
        smallConsol = true
        for i = 3 to 1
            smallConsol := smallConsol and ((high[i] - low[i]) < firstBullSize * 0.3) and low[i] > low[4]
        finalBull = (close > open) and ((close - open) > firstBullSize * 0.8)
        longBull and gapUp and smallConsol and finalBull

// Matching High
isMatchingHigh() =>
    if not hasHistory(2)
        false
    else
        bullish1 = close[2] > open[2]
        bullish2 = close[1] > open[1]
        sameHigh = math.abs(high[2] - high[1]) <= myATR * 0.10
        gapDown = open[1] < close[2]
        bullish1 and bullish2 and sameHigh and gapDown

// === Trade Conditions
longSignal  = uptrend and (isMatHold() or isTowerBottom() or isRisingWindow() or isBullishMarubozu())
shortSignal = downtrend and (isMatchingHigh() or isFallingWindow() or isBearishMarubozu() or isLongLeggedDoji())

// Plot signals on chart
plotshape(longSignal,  title="Long Signal",  style=shape.triangleup,   location=location.belowbar, color=color.new(color.lime, 0), size=size.tiny)
plotshape(shortSignal, title="Short Signal", style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny)

// === Entry / Exit Logic with maxOpenTrades gating
canEnter() =>
    strategy.opentrades < maxOpenTrades

if (longSignal and canEnter())
    stopLevel = ta.lowest(low, 10)
    risk = close - stopLevel
    target = close + risk * rr
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=stopLevel, limit=target)

if (shortSignal and canEnter())
    stopLevel = ta.highest(high, 10)
    risk = stopLevel - close
    target = close - risk * rr
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=stopLevel, limit=target)