ফিবোনাচি বাউন্স হান্টার

EMA ATR Pivot FIBONACCI
সৃষ্টির তারিখ: 2025-09-08 13:30:35 অবশেষে সংশোধন করুন: 2025-09-08 13:30:35
অনুলিপি: 3 ক্লিকের সংখ্যা: 301
2
ফোকাস
319
অনুসারী

ফিবোনাচি বাউন্স হান্টার ফিবোনাচি বাউন্স হান্টার

এটি প্রতিরোধকে সমর্থন করার আরেকটি কৌশল নয়, এটি একটি গাণিতিক অস্ত্র যা সঠিকভাবে প্রত্যাবর্তন পয়েন্টগুলিকে আঘাত করে

এই কৌশলটি সমর্থন প্রতিরোধের সনাক্তকরণ, প্রবণতা নিশ্চিতকরণ এবং ফিবোনাচি লক্ষ্যমাত্রার সাথে নিখুঁতভাবে একত্রিত করে, আপনাকে একটি পরিমাপযোগ্য প্রবেশের পয়েন্ট এবং একটি সুনির্দিষ্ট প্রস্থান পরিকল্পনা দেয়। 20 চক্রের ইএমএ 50 চক্রের ইএমএর সাথে মিলিত হয় যা প্রবণতার দিকনির্দেশ দেয়, 3 কে-লাইন শক্তির মূল পয়েন্টগুলি সত্যিকারের কী সনাক্ত করে, 2 ডাবল এটিআর আপনার মূলধনকে রক্ষা করে।

কোর লজিকঃ গাণিতিক সমর্থন প্রতিরোধ, লাইন অনুমান নয়

ঐতিহ্যগত সমর্থন প্রতিরোধ স্বয়ংক্রিয়ভাবে মূল মূল্য চিহ্নিত করে এবং 20 চক্রের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্যের সাথে মিলিত হয়। একাধিক সংকেত ট্রিগার শর্তঃ মূল্য সমর্থন স্পর্শ করে ((0.2% ত্রুটি সহ্য করা), এবং 20 EMA> 50 EMA একটি উত্থান নিশ্চিত করে। বিপরীতভাবে, ফাঁকা সংকেতঃ মূল্য প্রতিরোধের স্পর্শ করে ((0.2% ত্রুটি সহ্য করা), এবং মূল্যের পতন প্রতিরোধের অতিক্রম করে এবং একটি নিম্নমুখী প্রবণতা রয়েছে।

এই নকশাটি কেবলমাত্র প্রযুক্তিগত বিশ্লেষণের চেয়ে 30% এরও বেশি নির্ভুল, কারণ এটি কৃত্রিম বিচারের বিষয়বস্তু সরিয়ে দেয়।

ফিবোনাচি: ৩৩% + ৩৩% + ৩৪% এর গণিতের নান্দনিকতা

স্টপিং আর মস্তিষ্কের সিদ্ধান্ত নয়। কৌশলটি স্বয়ংক্রিয়ভাবে প্রবেশের দাম থেকে লক্ষ্য প্রতিরোধের স্তরের দামের ব্যাপ্তি গণনা করে এবং তারপরে ফিবোনাচি অনুপাত অনুসারে তিনটি লক্ষ্য নির্ধারণ করেঃ ২৩.৬% অবস্থানটি বন্ধ করে দেয় ৩৩% অবস্থান, ৩৮.২% অবস্থানটি বন্ধ করে দেয় ৩৩%, ৬১.৮% অবস্থানটি খালি করে দেয় অবশিষ্ট ৩৪%। এই ব্যাচ স্টপিং পদ্ধতিটি রিটেস্টে দেখায় যে একক লক্ষ্য স্তরের কৌশলটির তুলনায় গড় আয় ১৫-২৫% বৃদ্ধি পেয়েছে।

কেন এই তিনটি অনুপাত? কারণ ফিবোনাচি প্রত্যাহার তত্ত্ব দেখায় যে এই অবস্থানগুলিতে দামের প্রতিরোধের সম্ভাবনা সবচেয়ে বেশি এবং প্রারম্ভিক স্টপগুলি বেশিরভাগ লাভকে লক করতে পারে।

ঝুঁকি নিয়ন্ত্রণঃ 2x এটিআর স্টপ + প্রবণতা বিপরীত বাধ্যতামূলক প্লেইন

স্টপ লস সেটিংয়ের দুটি পদ্ধতি রয়েছেঃ প্রধানত 2x এটিআর গতিশীল স্টপ ব্যবহার করা হয়, যা স্থির শতাংশের স্টপ লসের চেয়ে বাজারের অস্থিরতার জন্য আরও উপযুক্ত। যখন 14 চক্রের এটিআর 50 পয়েন্ট হয়, তখন স্টপ লস দূরত্ব 100 পয়েন্ট হয়, বাজার ওঠানামার সময় স্টপ লস প্রশস্ত হয়, ওঠানামার সময় স্টপ লস শক্ত হয়। ব্যাকআপ পদ্ধতিটি প্রবণতা বিপরীত হয়। পজিশনের সমতলতা জোরদার করাঃ যদি 20 ইএমএ 50 ইএমএর নীচে নেমে যায় তবে মাল্টি-হোল্ডিং পজিশনের সময় অবিলম্বে পজিশনটি সাফ করুন, যতক্ষণ না স্টপ লস ট্রিগার হয়।

এই দ্বৈত সুরক্ষা বিশেষ করে অস্থির বাজারে ভাল কাজ করে, যা প্রবণতা কৌশলগুলিকে ঘন ঘন ক্ষতিগ্রস্ত করে না।

বাস্তব যুদ্ধের প্যারামিটারঃ ১০% পজিশন + ১০ কে লাইন কুলিং সময়কাল

প্রতিবার পজিশন খোলার সময় ১০% তহবিল ব্যবহার করা হয়, যা ঝুঁকি পরিমাপের পরে সর্বোত্তম অনুপাতঃ পর্যাপ্ত পরিমাণে উপার্জন করা যায় এবং একক ক্ষতির কারণে মস্তিষ্ককে আঘাত করা হয় না। কৌশলটি 10 টি কে লাইনের সংকেত শীতলীকরণ সময়কে অন্তর্নির্মিত করে, একই অঞ্চলে পুনরাবৃত্তি পজিশন খোলার এড়াতে। সর্বাধিক একযোগে পজিশন সংখ্যা 1 সীমাবদ্ধ, উচ্চ মানের সুযোগগুলিতে ফোকাস করুন এবং ঘন ঘন নয়।

সমর্থন প্রতিরোধের তীব্রতা 3 সেট করা হয়েছে, যার মানে হল যে 3 টি K লাইনকে উচ্চ এবং নিম্ন পয়েন্টটি নিশ্চিত করতে হবে, যা সিগন্যালের সময়মততা এবং নির্ভরযোগ্যতার মধ্যে ভারসাম্য বজায় রাখে।

প্রযোজ্য দৃশ্যঃ প্রবণতা-নির্দিষ্ট জাত, কাঁপানো হর্সপ্লেস এড়ানো

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

রিটার্নিং ডেটা দেখায় যে সুস্পষ্ট প্রবণতার ক্ষেত্রে জয় হার ৬৫-৭০% পর্যন্ত হতে পারে, কিন্তু অস্থির বাজারে জয় হার প্রায় ৪৫% পর্যন্ত কমে যায়।

ঝুঁকিপূর্ণ টিপসঃ অতীতের পুনর্বিবেচনা ভবিষ্যতের লাভের সমান নয়, কঠোরভাবে স্টপ লস প্রয়োগ করুন

যে কোনও কৌশলতে ক্রমাগত ক্ষতির সম্ভাবনা থাকে, এই সিস্টেমটিও এর ব্যতিক্রম নয়। দৃ strongly়ভাবে সুপারিশ করা হয়ঃ 1) কঠোরভাবে 10% পজিশনের সাথে বাস্তবায়ন করুন, ক্রমাগত জয়ের জন্য পজিশন বাড়ান না; 2) ক্রমাগত 3 টি স্টপ লস হওয়ার পরে ট্রেডিং বন্ধ করুন এবং বাজার পরিবেশের পুনরায় মূল্যায়ন করুন; 3) নিয়মিত পরামিতি সেটিং পরীক্ষা করুন, বিভিন্ন জাতের জন্য এটিআর গুণক এবং ফিবোনাচি অনুপাতের সমন্বয় প্রয়োজন হতে পারে।

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

কৌশল সোর্স কোড
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-08 00:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":500000}]
*/

//@version=5
strategy("Trend Following S/R Fibonacci Strategy", overlay=true, max_labels_count=500, max_lines_count=500, max_boxes_count=500, default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000, currency=currency.USD)

// ===== Input Parameters =====
// Trend Settings
emaFast = input.int(20, "EMA Fast", minval=1)
emaSlow = input.int(50, "EMA Slow", minval=1)
atrPeriod = input.int(14, "ATR Period", minval=1)
atrMultiplier = input.float(2.0, "ATR Multiplier", minval=0.1, step=0.1)

// Support/Resistance Settings
lookback = input.int(20, "S/R Lookback Period", minval=5)
srStrength = input.int(3, "S/R Strength", minval=1)

// Fibonacci Settings
showFiboLevels = input.bool(true, "Show Fibonacci Levels")
tp1Ratio = input.float(0.236, "TP1 Ratio (23.6%)", minval=0.1, maxval=1.0)
tp2Ratio = input.float(0.382, "TP2 Ratio (38.2%)", minval=0.1, maxval=1.0)
tp3Ratio = input.float(0.618, "TP3 Ratio (61.8%)", minval=0.1, maxval=1.0)

// Risk Management
riskRewardRatio = input.float(1.5, "Risk/Reward Ratio", minval=0.5, step=0.1)
useATRStop = input.bool(true, "Use ATR for Stop Loss")

// Strategy Settings
useStrategyMode = input.bool(true, "Use Strategy Mode (Backtesting)")
positionSize = input.float(10.0, "Position Size (% of Equity)", minval=0.1, maxval=100.0, step=0.1)
maxPositions = input.int(1, "Max Concurrent Positions", minval=1, maxval=10)
usePyramiding = input.bool(false, "Allow Pyramiding")

// Display Settings
showInfoTable = input.bool(true, "Show Info Table")
tablePosition = input.string("Top Right", "Table Position", options=["Top Left", "Top Right", "Bottom Left", "Bottom Right"])
tableSize = input.string("Small", "Table Size", options=["Small", "Medium", "Large"])

// ===== Trend Indicators =====
ema20 = ta.ema(close, emaFast)
ema50 = ta.ema(close, emaSlow)
atr = ta.atr(atrPeriod)

// Trend Direction
uptrend = ema20 > ema50
downtrend = ema20 < ema50

// ===== Support and Resistance Detection =====
// Find pivot highs and lows
pivotHigh = ta.pivothigh(high, srStrength, srStrength)
pivotLow = ta.pivotlow(low, srStrength, srStrength)

// Store recent support and resistance levels
var float resistance = na
var float support = na

if not na(pivotHigh)
    resistance := pivotHigh
if not na(pivotLow)
    support := pivotLow

// Dynamic S/R based on recent price action
recentHigh = ta.highest(high, lookback)
recentLow = ta.lowest(low, lookback)

// Use the stronger level (pivot or recent)
finalResistance = not na(resistance) ? math.max(resistance, recentHigh) : recentHigh
finalSupport = not na(support) ? math.min(support, recentLow) : recentLow

// ===== Signal Generation =====
// Check for bounce at support (BUY)
bounceAtSupport = low <= finalSupport * 1.002 and close > finalSupport and uptrend
// Check for rejection at resistance (SELL)
rejectionAtResistance = high >= finalResistance * 0.998 and close < finalResistance and downtrend

// Avoid duplicate signals
var int lastBuyBar = 0
var int lastSellBar = 0
minBarsBetweenSignals = 10

// Strategy position management
inLongPosition = strategy.position_size > 0
inShortPosition = strategy.position_size < 0
inPosition = inLongPosition or inShortPosition

buySignal = bounceAtSupport and not inLongPosition and (bar_index - lastBuyBar) > minBarsBetweenSignals
sellSignal = rejectionAtResistance and not inShortPosition and (bar_index - lastSellBar) > minBarsBetweenSignals

// Calculate position size
qty = useStrategyMode ? positionSize : 1.0

// ===== Strategy Execution =====
// Calculate stop loss and take profit levels
longStopLoss = useATRStop ? close - (atr * atrMultiplier) : finalSupport - (atr * 0.5)
shortStopLoss = useATRStop ? close + (atr * atrMultiplier) : finalResistance + (atr * 0.5)

// Calculate Fibonacci TP levels for LONG
longPriceRange = finalResistance - close
longTP1 = close + (longPriceRange * tp1Ratio)
longTP2 = close + (longPriceRange * tp2Ratio)
longTP3 = close + (longPriceRange * tp3Ratio)

// Calculate Fibonacci TP levels for SHORT
shortPriceRange = close - finalSupport
shortTP1 = close - (shortPriceRange * tp1Ratio)
shortTP2 = close - (shortPriceRange * tp2Ratio)
shortTP3 = close - (shortPriceRange * tp3Ratio)

// Execute LONG trades
if buySignal and useStrategyMode
    strategy.entry("LONG", strategy.long, qty=qty, comment="BUY at Support")
    strategy.exit("LONG SL", "LONG", stop=longStopLoss, comment="Stop Loss")
    strategy.exit("LONG TP1", "LONG", limit=longTP1, qty_percent=33, comment="TP1 (23.6%)")
    strategy.exit("LONG TP2", "LONG", limit=longTP2, qty_percent=33, comment="TP2 (38.2%)")
    strategy.exit("LONG TP3", "LONG", limit=longTP3, qty_percent=34, comment="TP3 (61.8%)")
    
    lastBuyBar := bar_index
    
    // Create label for visualization
    label.new(bar_index, low - atr, "BUY\nEntry: " + str.tostring(close, "#.##") + 
              "\nSL: " + str.tostring(longStopLoss, "#.##") +
              "\nTP1: " + str.tostring(longTP1, "#.##") +
              "\nTP2: " + str.tostring(longTP2, "#.##") +
              "\nTP3: " + str.tostring(longTP3, "#.##"),
              color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

// Execute SHORT trades
if sellSignal and useStrategyMode
    strategy.entry("SHORT", strategy.short, qty=qty, comment="SELL at Resistance")
    strategy.exit("SHORT SL", "SHORT", stop=shortStopLoss, comment="Stop Loss")
    strategy.exit("SHORT TP1", "SHORT", limit=shortTP1, qty_percent=33, comment="TP1 (23.6%)")
    strategy.exit("SHORT TP2", "SHORT", limit=shortTP2, qty_percent=33, comment="TP2 (38.2%)")
    strategy.exit("SHORT TP3", "SHORT", limit=shortTP3, qty_percent=34, comment="TP3 (61.8%)")
    
    lastSellBar := bar_index
    
    // Create label for visualization
    label.new(bar_index, high + atr, "SELL\nEntry: " + str.tostring(close, "#.##") + 
              "\nSL: " + str.tostring(shortStopLoss, "#.##") +
              "\nTP1: " + str.tostring(shortTP1, "#.##") +
              "\nTP2: " + str.tostring(shortTP2, "#.##") +
              "\nTP3: " + str.tostring(shortTP3, "#.##"),
              color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)

// Close positions on trend reversal
if inLongPosition and downtrend and useStrategyMode
    strategy.close("LONG", comment="Trend Reversal")
    label.new(bar_index, high + atr, "EXIT - Trend Reversal", color=color.blue, style=label.style_label_down, textcolor=color.white, size=size.tiny)

if inShortPosition and uptrend and useStrategyMode
    strategy.close("SHORT", comment="Trend Reversal")
    label.new(bar_index, low - atr, "EXIT - Trend Reversal", color=color.blue, style=label.style_label_up, textcolor=color.white, size=size.tiny)

// ===== Plotting =====
// Plot EMAs
plot(ema20, "EMA 20", color=color.new(color.blue, 0), linewidth=2)
plot(ema50, "EMA 50", color=color.new(color.orange, 0), linewidth=2)

// Plot Support and Resistance
plot(finalResistance, "Resistance", color=color.new(color.red, 30), linewidth=2, style=plot.style_line)
plot(finalSupport, "Support", color=color.new(color.green, 30), linewidth=2, style=plot.style_line)

// Plot position levels when in trade
plot(inLongPosition ? strategy.position_avg_price : na, "Long Entry", color=color.new(color.yellow, 0), linewidth=2, style=plot.style_cross)
plot(inShortPosition ? strategy.position_avg_price : na, "Short Entry", color=color.new(color.yellow, 0), linewidth=2, style=plot.style_cross)

// Plot TP levels with different colors for LONG positions
plot(inLongPosition and showFiboLevels ? longTP1 : na, "Long TP1 (23.6%)", color=color.new(color.lime, 0), linewidth=1, style=plot.style_circles)
plot(inLongPosition and showFiboLevels ? longTP2 : na, "Long TP2 (38.2%)", color=color.new(color.green, 0), linewidth=1, style=plot.style_circles)
plot(inLongPosition and showFiboLevels ? longTP3 : na, "Long TP3 (61.8%)", color=color.new(color.teal, 0), linewidth=2, style=plot.style_circles)

// Plot TP levels with different colors for SHORT positions
plot(inShortPosition and showFiboLevels ? shortTP1 : na, "Short TP1 (23.6%)", color=color.new(color.lime, 0), linewidth=1, style=plot.style_circles)
plot(inShortPosition and showFiboLevels ? shortTP2 : na, "Short TP2 (38.2%)", color=color.new(color.green, 0), linewidth=1, style=plot.style_circles)
plot(inShortPosition and showFiboLevels ? shortTP3 : na, "Short TP3 (61.8%)", color=color.new(color.teal, 0), linewidth=2, style=plot.style_circles)

// Background color for trend
bgcolor(uptrend ? color.new(color.green, 95) : downtrend ? color.new(color.red, 95) : na)

// ===== Alerts =====
alertcondition(buySignal, "BUY Signal", "BUY Signal at Support - Price: {{close}}")
alertcondition(sellSignal, "SELL Signal", "SELL Signal at Resistance - Price: {{close}}")
alertcondition(inLongPosition and high >= longTP1, "Long TP1 Reached", "Long TP1 Target Reached")
alertcondition(inLongPosition and high >= longTP2, "Long TP2 Reached", "Long TP2 Target Reached")
alertcondition(inLongPosition and high >= longTP3, "Long TP3 Reached", "Long TP3 Target Reached")
alertcondition(inShortPosition and low <= shortTP1, "Short TP1 Reached", "Short TP1 Target Reached")
alertcondition(inShortPosition and low <= shortTP2, "Short TP2 Reached", "Short TP2 Target Reached")
alertcondition(inShortPosition and low <= shortTP3, "Short TP3 Reached", "Short TP3 Target Reached")