یہ حکمت عملی فبونیکی ریٹریکشن تھیوری پر مبنی ایک انکولی کثیر سطح کا تجارتی نظام ہے۔ یہ مارکیٹ میں کلیدی معاونت اور مزاحمت کی سطحوں کی نشاندہی کرنے کے لئے فبونیکی ریٹریکشن کی سطحوں کا استعمال کرتا ہے اور ان سطحوں کے ساتھ قیمت کے تعامل کی بنیاد پر تجارتی سگنل تیار کرتا ہے۔ اس حکمت عملی کا بنیادی حصہ اس کی لچک میں ہے ، جس سے تاجروں کو مارکیٹ کے حالات اور ذاتی ترجیحات کے مطابق کلیدی پیرامیٹرز جیسے نظرثانی کی مدت ، فبونیکی سمت اور انٹری لیول کو ایڈجسٹ کرنے کی اجازت ملتی ہے۔
حکمت عملی کے بنیادی منطق میں مندرجہ ذیل اقدامات شامل ہیں:
اس حکمت عملی کی انفرادیت صارفین کو فبونیکی حساب کتاب کی سمت (اوپر سے نیچے یا نیچے سے اوپر) کا انتخاب کرنے کے ساتھ ساتھ خرید و فروخت کے اشارے کے ل different مختلف فبونیکی سطحوں کا انتخاب کرنے کی اجازت دینے میں ہے۔ یہ لچک حکمت عملی کو مختلف مارکیٹ کے ماحول اور تجارتی طرز کے مطابق ڈھالنے کے قابل بناتی ہے۔
ان خطرات کو کم کرنے کے لیے غور کریں:
یہ اصلاحات حکمت عملی کی موافقت اور استحکام کو نمایاں طور پر بڑھا سکتی ہیں ، جس سے یہ مارکیٹ کے حالات کی وسیع تر حد میں تاثیر کو برقرار رکھنے کے قابل ہے۔
فبونیکی ریٹریکشن پر مبنی موافقت پذیر کثیر سطح کی تجارتی حکمت عملی مالیاتی منڈیوں میں ممکنہ تجارتی مواقع کی نشاندہی کے لئے ایک لچکدار ، مرضی کے مطابق فریم ورک مہیا کرتی ہے۔ کلاسیکی تکنیکی تجزیہ کے اصولوں کو جدید رسک مینجمنٹ تکنیکوں کے ساتھ جوڑ کر ، یہ حکمت عملی تاجروں کو مختلف مارکیٹ کے ماحول میں اعلی امکان کے تجارتی مواقع تلاش کرنے کے لئے ایک طاقتور ٹول پیش کرتی ہے۔ تاہم ، تمام تجارتی حکمت عملیوں کی طرح ، یہ بھی ناقابل فراموش نہیں ہے۔ اس حکمت عملی کے کامیاب اطلاق کے لئے اس کے اصولوں کی گہری تفہیم ، پیرامیٹر کو محتاط انداز میں ترتیب دینے ، اور دیگر تجزیاتی ٹولز کے ساتھ انضمام کی ضرورت ہے۔ مسلسل اصلاح اور رسک مینجمنٹ کے ذریعے ، یہ حکمت عملی تاجر کے ٹول کٹ میں ایک طاقتور ہتھیار بن سکتی ہے۔
/*backtest start: 2024-08-26 00:00:00 end: 2024-09-24 08:00:00 period: 4h basePeriod: 4h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Fibonacci Retracement Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Input period for high and low points identification lookback = input.int(100, title="Lookback Period", minval=10) // Input to choose Fibonacci calculation direction fib_direction = input.string(title="Fibonacci Direction", defval="Top to Bottom", options=["Top to Bottom", "Bottom to Top"]) // Input for Fibonacci levels fib_level_236 = input.float(0.236, title="Fib 23.6% Level") fib_level_382 = input.float(0.382, title="Fib 38.2% Level") fib_level_50 = input.float(0.5, title="Fib 50% Level") fib_level_618 = input.float(0.618, title="Fib 61.8% Level") // Input to choose the level for entry signals buy_entry_level = input.string(title="Buy Entry Level", defval="Fib 61.8%", options=["Fib 23.6%", "Fib 38.2%", "Fib 50%", "Fib 61.8%"]) sell_entry_level = input.string(title="Sell Entry Level", defval="Fib 38.2%", options=["Fib 23.6%", "Fib 38.2%", "Fib 50%", "Fib 61.8%"]) // Input for take profit and stop loss in pips take_profit_pips = input.int(50, title="Take Profit (pips)") stop_loss_pips = input.int(20, title="Stop Loss (pips)") // Identify high and low points within the lookback period highestHigh = ta.highest(high, lookback) lowestLow = ta.lowest(low, lookback) // Calculate Fibonacci levels based on the selected direction var float fib_0 = na var float fib_100 = na var float fib_236 = na var float fib_382 = na var float fib_50 = na var float fib_618 = na if fib_direction == "Top to Bottom" fib_0 := highestHigh fib_100 := lowestLow fib_236 := highestHigh - (highestHigh - lowestLow) * fib_level_236 fib_382 := highestHigh - (highestHigh - lowestLow) * fib_level_382 fib_50 := highestHigh - (highestHigh - lowestLow) * fib_level_50 fib_618 := highestHigh - (highestHigh - lowestLow) * fib_level_618 else fib_0 := lowestLow fib_100 := highestHigh fib_236 := lowestLow + (highestHigh - lowestLow) * fib_level_236 fib_382 := lowestLow + (highestHigh - lowestLow) * fib_level_382 fib_50 := lowestLow + (highestHigh - lowestLow) * fib_level_50 fib_618 := lowestLow + (highestHigh - lowestLow) * fib_level_618 // Determine which level to use for buy and sell signals based on user input var float buy_fib_level = na var float sell_fib_level = na if buy_entry_level == "Fib 23.6%" buy_fib_level := fib_236 if buy_entry_level == "Fib 38.2%" buy_fib_level := fib_382 if buy_entry_level == "Fib 50%" buy_fib_level := fib_50 if buy_entry_level == "Fib 61.8%" buy_fib_level := fib_618 if sell_entry_level == "Fib 23.6%" sell_fib_level := fib_236 if sell_entry_level == "Fib 38.2%" sell_fib_level := fib_382 if sell_entry_level == "Fib 50%" sell_fib_level := fib_50 if sell_entry_level == "Fib 61.8%" sell_fib_level := fib_618 // Convert pips to price units (assuming 1 pip = 0.0001 for currency pairs like EURUSD) pip_value = syminfo.mintick * 10 take_profit = take_profit_pips * pip_value stop_loss = stop_loss_pips * pip_value // Trading signals var bool longSignal = na var bool shortSignal = na if fib_direction == "Top to Bottom" longSignal := ta.crossover(close, buy_fib_level) and close > buy_fib_level shortSignal := ta.crossunder(close, sell_fib_level) and close < sell_fib_level else longSignal := ta.crossover(close, buy_fib_level) and close > buy_fib_level shortSignal := ta.crossunder(close, sell_fib_level) and close < sell_fib_level // Execute trades based on signals with take profit and stop loss if (longSignal) strategy.entry("Long", strategy.long, comment="BUY") strategy.exit("Take Profit/Stop Loss", "Long", limit=close + take_profit, stop=close - stop_loss) if (shortSignal) strategy.entry("Short", strategy.short, comment="SELL") strategy.exit("Take Profit/Stop Loss", "Short", limit=close - take_profit, stop=close + stop_loss) // Plot Fibonacci levels plot(fib_0, title="Fib 0%", color=color.blue, linewidth=1, style=plot.style_line) plot(fib_236, title="Fib 23.6%", color=color.green, linewidth=1, style=plot.style_line) plot(fib_382, title="Fib 38.2%", color=color.green, linewidth=1, style=plot.style_line) plot(fib_50, title="Fib 50%", color=color.red, linewidth=1, style=plot.style_line) plot(fib_618, title="Fib 61.8%", color=color.green, linewidth=1, style=plot.style_line) plot(fib_100, title="Fib 100%", color=color.blue, linewidth=1, style=plot.style_line) // Create labels for Fibonacci levels with white text var label fibLabel0 = na var label fibLabel236 = na var label fibLabel382 = na var label fibLabel50 = na var label fibLabel618 = na var label fibLabel100 = na if (na(fibLabel0)) fibLabel0 := label.new(bar_index, fib_0, text="Fib 0%", color=na, textcolor=color.white, style=label.style_label_right, yloc=yloc.price) fibLabel236 := label.new(bar_index, fib_236, text="Fib 23.6%", color=na, textcolor=color.white, style=label.style_label_right, yloc=yloc.price) fibLabel382 := label.new(bar_index, fib_382, text="Fib 38.2%", color=na, textcolor=color.white, style=label.style_label_right, yloc=yloc.price) fibLabel50 := label.new(bar_index, fib_50, text="Fib 50%", color=na, textcolor=color.white, style=label.style_label_right, yloc=yloc.price) fibLabel618 := label.new(bar_index, fib_618, text="Fib 61.8%", color=na, textcolor=color.white, style=label.style_label_right, yloc=yloc.price) fibLabel100 := label.new(bar_index, fib_100, text="Fib 100%", color=na, textcolor=color.white, style=label.style_label_right, yloc=yloc.price) else label.set_xy(fibLabel0, bar_index, fib_0) label.set_xy(fibLabel236, bar_index, fib_236) label.set_xy(fibLabel382, bar_index, fib_382) label.set_xy(fibLabel50, bar_index, fib_50) label.set_xy(fibLabel618, bar_index, fib_618) label.set_xy(fibLabel100, bar_index, fib_100) // Plot signals plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL") // Plot highest and lowest points plot(highestHigh, title="Highest High", color=color.purple, linewidth=2, offset=-lookback) plot(lowestLow, title="Lowest Low", color=color.purple, linewidth=2, offset=-lookback)