یہ حکمت عملی ایک رجحان پر عمل کرنے والا آپشن ٹریڈنگ سسٹم ہے جو متعدد تکنیکی اشارے کو جوڑتا ہے۔ یہ EMA کراس اوور کو بنیادی سگنل کے طور پر استعمال کرتا ہے ، ساتھ ساتھ SMA اور VWAP کو رجحان کی تصدیق کے لئے ، جبکہ سگنل فلٹرنگ کے لئے MACD اور RSI کو اضافی اشارے کے طور پر استعمال کرتا ہے۔ یہ حکمت عملی خطرے کے انتظام کے لئے مقررہ منافع حاصل کرنے کی سطح کو ملازمت دیتی ہے اور سخت داخلے کی شرائط اور پوزیشن مینجمنٹ کے ذریعے تجارتی کامیابی کو بہتر بناتی ہے۔
یہ حکمت عملی 8 مدت اور 21 مدت کے ای ایم اے کے کراس اوور کو بنیادی تجارتی سگنل کے طور پر استعمال کرتی ہے۔ ایک طویل (کال) سگنل اس وقت شروع ہوتا ہے جب قلیل مدتی ای ایم اے طویل مدتی ای ایم اے سے تجاوز کرتا ہے اور مندرجہ ذیل شرائط کو پورا کرتا ہے: قیمت 100 اور 200 مدت کے ایس ایم اے دونوں سے اوپر ہے ، ایم اے سی ڈی لائن سگنل لائن سے اوپر ہے ، اور آر ایس آئی 50 سے اوپر ہے۔ مختصر (پٹ) سگنل مخالف حالات میں شروع ہوتے ہیں۔ وی ڈبلیو اے پی کو قیمت پر وزن والے حوالہ کے طور پر شامل کیا جاتا ہے تاکہ نسبتا price قیمت کی پوزیشن کا اندازہ کرنے میں مدد ملے۔ ہر تجارت میں 5٪ منافع کی سطح کے ساتھ 1 معاہدے کا ایک مقررہ سائز کا استعمال ہوتا ہے۔ اسٹریٹیجی پوزیشن کی حیثیت کو فلیگ اوپن کا استعمال کرتے ہوئے ٹریک کرتی ہے تاکہ اس بات کو یقینی بنایا جاسکے کہ ایک وقت میں صرف ایک ہی پوزیشن رکھی جاتی ہے۔
یہ ایک اچھی طرح سے ساختہ ، منطقی طور پر ٹھوس کثیر اشارے رجحان کی پیروی کرنے والی اختیارات کی تجارتی حکمت عملی ہے۔ یہ متعدد تکنیکی اشارے کے ہم آہنگی کے ذریعے تجارتی سگنل کی وشوسنییتا کو بہتر بناتا ہے اور مقررہ منافع لینے کی سطحوں کا استعمال کرتے ہوئے خطرے کا انتظام کرتا ہے۔ اگرچہ حکمت عملی میں کچھ موروثی خطرات ہیں ، لیکن مجوزہ اصلاح کی سمت اس کے استحکام اور منافع میں مزید بہتری لاسکتی ہے۔ حکمت عملی کے تصوراتی ڈیزائن سے تاجروں کو تجارتی سگنل کو بدیہی طور پر سمجھنے اور انجام دینے میں بھی مدد ملتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("OptionsMillionaire Strategy with Take Profit Only", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1) // Define custom magenta color magenta = color.rgb(255, 0, 255) // RGB for magenta // Input settings for Moving Averages ema8 = ta.ema(close, 8) ema21 = ta.ema(close, 21) sma100 = ta.sma(close, 100) sma200 = ta.sma(close, 200) vwap = ta.vwap(close) // Fixed VWAP calculation // Input settings for MACD and RSI [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) rsi = ta.rsi(close, 14) // Define trend direction isBullish = ema8 > ema21 and close > sma100 and close > sma200 isBearish = ema8 < ema21 and close < sma100 and close < sma200 // Buy (Call) Signal callSignal = ta.crossover(ema8, ema21) and isBullish and macdLine > signalLine and rsi > 50 // Sell (Put) Signal putSignal = ta.crossunder(ema8, ema21) and isBearish and macdLine < signalLine and rsi < 50 // Define Position Size and Take-Profit Level positionSize = 1 // Position size set to 1 (each trade will use one contract) takeProfitPercent = 5 // Take profit is 5% // Variables to track entry price and whether the position is opened var float entryPrice = na // To store the entry price var bool positionOpen = false // To check if a position is open // Backtesting Execution if callSignal and not positionOpen // Enter long position (call) strategy.entry("Call", strategy.long, qty=positionSize) entryPrice := close // Store the entry price positionOpen := true // Set position as opened if putSignal and not positionOpen // Enter short position (put) strategy.entry("Put", strategy.short, qty=positionSize) entryPrice := close // Store the entry price positionOpen := true // Set position as opened // Only check for take profit after position is open if positionOpen // Calculate take-profit level (5% above entry price for long, 5% below for short) takeProfitLevel = entryPrice * (1 + takeProfitPercent / 100) // Exit conditions (only take profit) if strategy.position_size > 0 // Long position (call) if close >= takeProfitLevel strategy.exit("Take Profit", "Call", limit=takeProfitLevel) if strategy.position_size < 0 // Short position (put) if close <= takeProfitLevel strategy.exit("Take Profit", "Put", limit=takeProfitLevel) // Reset position when it is closed (this happens when an exit is triggered) if strategy.position_size == 0 positionOpen := false // Reset positionOpen flag // Plot EMAs plot(ema8, color=magenta, linewidth=2, title="8 EMA") plot(ema21, color=color.green, linewidth=2, title="21 EMA") // Plot SMAs plot(sma100, color=color.orange, linewidth=1, title="100 SMA") plot(sma200, color=color.blue, linewidth=1, title="200 SMA") // Plot VWAP plot(vwap, color=color.white, style=plot.style_circles, title="VWAP") // Highlight buy and sell zones bgcolor(callSignal ? color.new(color.green, 90) : na, title="Call Signal Background") bgcolor(putSignal ? color.new(color.red, 90) : na, title="Put Signal Background") // Add buy and sell markers (buy below, sell above) plotshape(series=callSignal, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", title="Call Signal Marker") plotshape(series=putSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", title="Put Signal Marker")