
یہ حکمت عملی مارکیٹ کے الٹ پوائنٹس کی نشاندہی کرنے کے لئے متحرک اوسط ، قیمت کی شکل اور حجم کا ایک مجموعہ استعمال کرتی ہے۔ حکمت عملی زیادہ کام کرتی ہے جب تیزی سے چلنے والی اوسط پر آہستہ آہستہ چلنے والی اوسط کو عبور کیا جاتا ہے ، اور کثیر سر گھونٹنے والی شکلیں ، مزاحمت کی سطح کو توڑنا ، اور تجارت میں اضافہ ہوتا ہے۔ اس کے برعکس ، جب تیزی سے چلنے والی اوسط کے نیچے آہستہ آہستہ چلنے والی اوسط کو عبور کیا جاتا ہے ، اور خالی سر گھونٹنے والی شکلیں ، معاون سطح کو توڑنا ، اور تجارت میں اضافہ ہوتا ہے تو ، حکمت عملی خالی ہوجاتی ہے۔
اس حکمت عملی کا بنیادی خیال یہ ہے کہ ممکنہ الٹ پوائنٹس کی نشاندہی کرنے کے لئے تینوں کے مجموعے کا استعمال کیا جائے۔ خاص طور پر ، یکساں طور پر گولڈ کراس اور ڈیتھ کراس رجحان کی تبدیلی کا تعین کرسکتے ہیں۔ قیمت کی دو شکلیں ، کثیر سر گھومنے اور خالی سر گھومنے ، عام طور پر قلیل مدتی الٹ کی نشاندہی کرتی ہیں۔ بہت زیادہ تجارت کا بہاؤ بھی اکثر رجحان کے الٹ ہونے کا مطلب ہوتا ہے۔ ان تینوں سگنلز کا مجموعہ استعمال کرتے ہوئے ، الٹ کے اوقات کو نسبتا accurately درست طریقے سے سمجھا جاسکتا ہے۔
کوڈ کی منطق کے مطابق ، سب سے پہلے تیز رفتار اوسط اور آہستہ چلنے والی اوسط کا حساب لگائیں۔ اس کے بعد کثیر سر گھونٹ اور خالی سر گھونٹ کے لئے فیصلہ کن شرائط طے کریں۔ اس کے ساتھ ہی معاون مزاحمت کی سطح اور تجارت میں اضافے کی شرائط بھی طے کی گئیں۔ جب یکساں گولڈ کراسنگ ، کثیر سر گھونٹ کی شکل ، مزاحمت کی سطح کو توڑنے اور تجارت میں اضافے کی صورت میں ، ایک سے زیادہ سگنل جاری کیا جاتا ہے۔ جب یکساں لائن مردہ کراسنگ ، خالی سر گھونٹ کی شکل ، معاونت کی سطح کو توڑنے اور تجارت میں اضافے کی صورت میں ، فلیٹ پوزیشن سگنل جاری کیا جاتا ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ متعدد سگنلوں کے مجموعے کو استعمال کرکے الٹ کی شناخت کی جاسکتی ہے ، جس سے جعلی سگنلوں کو مؤثر طریقے سے کم کیا جاسکتا ہے۔ خاص طور پر ، صرف ایک ہی اوسط ، قیمت کی شکل یا مقدار پر انحصار کرنے سے غلط تجارتی سگنل پیدا کرنا آسان ہے۔ لیکن اگر تینوں سگنل بیک وقت ظاہر ہوں تو ، الٹ کی پیش گوئی کی کامیابی میں بہتری آئے گی۔
اس کے علاوہ ، یہ حکمت عملی رجحان اور الٹ دونوں عوامل کا استعمال کرتی ہے۔ الٹ سگنل آنے سے پہلے رجحان کا وجود ہونا ضروری ہے۔ یعنی ، یہ حکمت عملی صرف رجحان کے تناظر میں الٹ کے مواقع تلاش کرے گی۔ اس سے بھی بے ترتیب کو کم کیا جاتا ہے اور منافع کی امکانات میں اضافہ ہوتا ہے۔
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ ریورس ناکامی ہے ، یعنی ایک سے زیادہ سگنل جاری کرنے کے بعد ، قیمت نیچے کی طرف بڑھتی رہتی ہے۔ یا جب ایک خالی سگنل جاری کیا جاتا ہے تو ، قیمت بڑھتی رہتی ہے۔ یہ عام طور پر غلط فیصلے کی وجہ سے ہوتا ہے ، ریورس سگنل صرف ایک دھوکہ ہے ، یا صرف ایک مختصر مدت کی ایڈجسٹمنٹ ہے ، جس کے بعد اصل رجحان جاری ہے۔
اس کا حل یہ ہے کہ اوسط لائن پیرامیٹرز کو ایڈجسٹ کیا جائے ، طویل دورانیے کے رجحانات کی نشاندہی کی جائے۔ اس کے ساتھ ساتھ مناسب طریقے سے اسٹاپ نقصان کی حد کو بڑھا دیا جائے ، اور الٹ ناکام ہونے کے بعد بروقت نقصان کو روک دیا جائے۔ اس کے علاوہ ، الٹ کی تصدیق کے لئے مزید عوامل کو بھی جوڑا جاسکتا ہے ، جیسے بڑے دورانیے کی قیمت کی شکل وغیرہ۔
اس حکمت عملی کو بہتر بنانے کے لیے مندرجہ ذیل اقدامات کیے جا سکتے ہیں۔
اوسط لکیری پیرامیٹرز کو ایڈجسٹ کریں اور زیادہ مناسب لمبی یا مختصر مدت کی شناخت کریں۔
مختلف معاون مزاحمت بٹ الگورتھم کی جانچ کریں ، جیسے پارلیٹو معاون مزاحمت بٹ۔
مختلف ٹرانزیکشن حجم کے اشارے آزمائیں ، جیسے توانائی کے بہاؤ ، ٹرانزیکشن حجم کے اتار چڑھاؤ کے اشارے وغیرہ۔
مزید تصدیق شدہ اشارے شامل کریں ، جیسے طویل مدتی قیمتوں کی شکل ، حجم میں تیزی سے اضافہ ، وغیرہ۔
اسٹاک انڈیکس فیوچر کے ساتھ مل کر کراس مارکیٹ کی تصدیق کے لئے ، اسٹاک انڈیکس فیوچر کا استعمال انفرادی اسٹاک کے الٹ ہونے کی تصدیق کے لئے کریں۔
مختلف پیرامیٹرز کے مجموعے کی جانچ کرکے ، اس حکمت عملی کو مزید بہتر بنایا جاسکتا ہے ، جس سے منافع کی شرح اور جیت کی شرح میں اضافہ ہوتا ہے۔
اس حکمت عملی میں ردوبدل کی شناخت کے لئے تین عوامل ، مساوی نظام ، قیمت کی شکل اور تجارت کی مقدار کو مربوط کیا گیا ہے ، جس سے متعدد سگنلوں کا موثر امتزاج ممکن ہوتا ہے۔ یہ صرف رجحان کے تناظر میں ردوبدل کے مواقع کی تلاش کرتا ہے ، بے ترتیب تجارت سے گریز کرتا ہے۔ پیرامیٹرز کو مزید بہتر بنانے اور تصدیق کے عوامل کو شامل کرنے سے ، یہ حکمت عملی ایک بہت ہی عملی مختصر لائن ردوبدل حکمت عملی بن سکتی ہے۔
/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Profit Table Strategy", overlay=true)
// Input parameters
fastLength = input(10, title="Fast MA Length")
slowLength = input(20, title="Slow MA Length")
takeProfitPercent = input(1, title="Take Profit (%)") / 100
stopLossPercent = input(1, title="Stop Loss (%)") / 100
trailingStopPercent = input(1, title="Trailing Stop (%)") / 100
// Price action conditions
bullishEngulfing = close > open and close > open[1] and open < close[1] and open[1] > close[1]
bearishEngulfing = close < open and close < open[1] and open > close[1] and open[1] < close[1]
// Support and resistance levels
supportLevel = input(100, title="Support Level")
resistanceLevel = input(200, title="Resistance Level")
// Volume conditions
volumeCondition = volume > ta.sma(volume, 20)
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Buy condition
buyCondition = (fastMA > slowMA) and (close > resistanceLevel) and bullishEngulfing and volumeCondition
// Sell condition
sellCondition = (fastMA < slowMA) and (close < supportLevel) and bearishEngulfing and volumeCondition
// Strategy logic
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)
// Calculate take profit, stop loss, and trailing stop levels
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercent)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent)
trailingStopLevel = strategy.position_avg_price * (1 - trailingStopPercent)
// Plotting levels on the chart
plot(supportLevel, color=color.blue, style=plot.style_line, linewidth=2, title="Support Level")
plot(resistanceLevel, color=color.purple, style=plot.style_line, linewidth=2, title="Resistance Level")
plot(takeProfitLevel, color=color.green, style=plot.style_line, linewidth=2, title="Take Profit Level")
plot(stopLossLevel, color=color.red, style=plot.style_line, linewidth=2, title="Stop Loss Level")
plot(trailingStopLevel, color=color.orange, style=plot.style_line, linewidth=2, title="Trailing Stop Level")
// Plotting buy and sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)