
اس حکمت عملی میں لکیری رجعت اور اتار چڑھاؤ کے اشارے کا استعمال کیا جاتا ہے تاکہ مارکیٹ کی مختلف حالتوں کی نشاندہی کی جاسکے۔ جب خریدنے یا بیچنے کی شرائط پوری ہوجاتی ہیں تو حکمت عملی اسی طرح کی ایک کثیر یا خالی پوزیشن قائم کرتی ہے۔ اس کے علاوہ ، اس حکمت عملی میں مختلف مارکیٹ کے حالات کے مطابق پیرامیٹرز کو بہتر بنانے اور ان کو ایڈجسٹ کرنے کی اجازت دی جاتی ہے۔ اس حکمت عملی میں تجارتی سگنل کی تصدیق کے لئے ایک اضافی اشارے کے طور پر اشاریہ کی چلتی اوسط بھی استعمال کی جاتی ہے۔
اس حکمت عملی نے مارکیٹ کی حالت کو لکیری رجعت اور اتار چڑھاؤ کے اشارے کے ذریعہ پہچان لیا ، اور ای ایم اے کو تصدیق کے اشارے کے طور پر استعمال کیا ، ایک لچکدار ، منطقی طور پر واضح تجارتی حکمت عملی تیار کی۔ حکمت عملی کا فائدہ یہ ہے کہ رجحانات اور اتار چڑھاؤ کو جوڑتا ہے ، جبکہ مختلف مارکیٹ کے ماحول کے لئے پیرامیٹرز کی اصلاح کی اجازت دیتا ہے۔ لیکن حکمت عملی میں پیرامیٹرز کے انتخاب ، شاک مارکیٹ اور بلیک جیک واقعات جیسے خطرات بھی موجود ہیں ، جن کو عملی استعمال میں مستقل طور پر بہتر بنانے اور بہتر بنانے کی ضرورت ہے۔ حکمت عملی کو اس کی استحکام اور منافع بخش بنانے کے ل rich سگنل کے وسائل ، پیرامیٹرز کے انتخاب کو بہتر بنانے ، خطرے سے متعلق اقدامات کو بہتر بنانے کے لئے بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tmalvao
//@version=5
strategy("Regime de Mercado com Regressão e Volatilidade Otimizado", overlay=true)
// Parâmetros para otimização
upperThreshold = input.float(1.0, title="Upper Threshold")
lowerThreshold = input.float(-1.0, title="Lower Threshold")
length = input.int(50, title="Length", minval=1)
// Indicadores de volatilidade
atrLength = input.int(14, title="ATR Length")
atrMult = input.float(2.0, title="ATR Multiplier")
atr = ta.atr(atrLength)
volatility = atr * atrMult
// Calculando a regressão linear usando função incorporada
intercept = ta.linreg(close, length, 0)
slope = ta.linreg(close, length, 1) - ta.linreg(close, length, 0)
// Sinal de compra e venda
buySignal = slope > upperThreshold and close > intercept + volatility
sellSignal = slope < lowerThreshold and close < intercept - volatility
// Entrando e saindo das posições
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
// Indicadores adicionais para confirmação
emaFastLength = input.int(10, title="EMA Fast Length")
emaSlowLength = input.int(50, title="EMA Slow Length")
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
// Confirmando sinais com EMAs
if (buySignal and emaFast > emaSlow)
strategy.entry("Buy Confirmed", strategy.long)
if (sellSignal and emaFast < emaSlow)
strategy.entry("Sell Confirmed", strategy.short)
// Exibindo informações no gráfico
plot(slope, title="Slope", color=color.blue)
plot(intercept, title="Intercept", color=color.red)
plot(volatility, title="Volatility", color=color.green)
hline(upperThreshold, "Upper Threshold", color=color.green, linestyle=hline.style_dotted)
hline(lowerThreshold, "Lower Threshold", color=color.red, linestyle=hline.style_dotted)