
متحرک حرکت پذیر اوسط کراس اوور کمبو حکمت عملی (Dynamic Moving Average Crossover Combo Strategy) ایک جامع تجارتی حکمت عملی ہے جس میں متعدد تکنیکی اشارے اور مارکیٹ مرحلے کا پتہ لگانے کو شامل کیا گیا ہے۔ یہ متحرک طور پر مارکیٹ کی اتار چڑھاؤ کا حساب لگاتا ہے ، اور قیمتوں اور طویل مدتی متحرک اوسط سے فاصلے اور اتار چڑھاؤ کی بنیاد پر مارکیٹ کے تین مراحل کا فیصلہ کرتا ہے: جھٹکا ، رجحان اور صف بندی۔ حکمت عملی مارکیٹ کے مختلف مراحل میں مختلف داخلے اور باہر نکلنے کے قواعد کو اپناتی ہے ، جبکہ ای ایم اے / ایس ایم اے کراس ، ایم اے سی ڈی اور بولنگر بینڈ جیسے متعدد اشارے کے ساتھ مل کر خرید و فروخت کے سگنل جاری کرتی ہے۔
اے ٹی آر (اوسط حقیقی اتار چڑھاؤ کی شدت) اشارے کا استعمال کرتے ہوئے مارکیٹ میں حالیہ 14 دن کے اندر اندر اتار چڑھاؤ کا حساب لگائیں۔ پھر 100 دن کی سادہ حرکت پذیری اوسط فلٹرنگ کے ساتھ اوسط اتار چڑھاؤ حاصل کریں۔
قیمتوں کے 200 دن کی سادہ حرکت پذیر اوسط سے فاصلے کا حساب لگائیں۔ اگر فاصلہ اوسط اتار چڑھاؤ کے 1.5 گنا سے زیادہ ہے ، اور سمت واضح ہے تو ، اسے رجحان کی حیثیت سے فیصلہ کیا جائے گا۔ اگر موجودہ اتار چڑھاؤ اوسط اتار چڑھاؤ کے 1.5 گنا سے زیادہ ہے تو ، اسے ہلچل کی حیثیت سے فیصلہ کیا جائے۔
تیز EMA کا دورانیہ 10 دن ہے اور سست SMA کا دورانیہ 30 دن ہے۔ جب تیز EMA پر سست SMA سے گزرتا ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔
12، 26، 9 پیرامیٹرز MACD کا حساب لگائیں۔ جب MACD کالم مثبت ہوجاتا ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔
20 دن کے اندر معیاری فرق چینل کی گنتی کریں۔ اگر چینل کی چوڑائی اپنے 20 دن کے ایس ایم اے سے کم ہے تو ، اس کو مرتب کرنے کی مدت کے طور پر سمجھا جائے گا۔
ہلچل کا دورانیہ: تیزی سے لائن کراس یا MACD کالم کی اصلاح ، اور Bollinger Bands کے اندر قیمت بند ہونے پر ، زیادہ سے زیادہ داخلہ لیا گیا۔
رجحان کا دورانیہ: تیز رفتار لائن کراس یا MACD کالم تبدیل کرنے کے لئے زیادہ سے زیادہ.
اس کے بعد ، آپ کو نیچے کی طرف جانے کی ضرورت ہے اور نیچے کی طرف جانے کی ضرورت نہیں ہے۔
مندرجہ ذیل شرائط کو پورا کرنے کے لئے ، خالی پوزیشن میں داخل ہوں: MACD میں مسلسل دو K لائنیں منفی ہیں ، اور اختتامی قیمت میں دو دن کے لئے مسلسل کمی واقع ہوئی ہے۔
زلزلے کا دورانیہ: اسٹاک آر ایس آئی کے اوپری خرید زون میں داخل ہونے کے بعد۔
اس کے علاوہ ، جب قیمت اوپری بینڈ سے کم ہوتی ہے تو اس میں شرکت کریں۔
یہ ایک سمارٹ ٹریڈنگ حکمت عملی ہے جس میں مارکیٹ کے حالات کا اندازہ ہوتا ہے اور اس کے فوائد ہیں:
سسٹم کے تحت کام کرنا، ذہنی مداخلت کو کم کرنا
مارکیٹ کے حالات کے مطابق حکمت عملی کے پیرامیٹرز کے ساتھ مل کر، زیادہ مناسب.
کثیر اشارے کا مجموعہ ، سگنل کی یقین دہانی کو بڑھاتا ہے۔
Bollinger Bands خود کار طریقے سے نقصان کو روکنے کے لئے، خطرے کو کم کرنے کے لئے.
تمام قسم کے حالات کا تعین کریں، جعلی سگنل کو فلٹر کریں۔
متحرک سٹاپ نقصان سٹاپ، رجحان ٹریکنگ منافع.
اہم خطرات:
پیرامیٹرز کی غلط ترتیب سے حکمت عملی کی ناکامی کا سبب بن سکتا ہے۔ پیرامیٹرز کے مجموعے کو بہتر بنانے کی سفارش کی جاتی ہے۔
ماڈل کی ناکامی کی وجہ سے غیر متوقع واقعات۔ حکمت عملی کی منطق کو بروقت اپ ڈیٹ کرنے کی سفارش کی گئی ہے۔
کم ٹرانزیکشن فیس والے بروکرز کو منتخب کرنے کی سفارش کی جاتی ہے۔
کثیر میٹرکس مجموعہ حکمت عملی کی پیچیدگی کو بڑھاتا ہے۔ بنیادی میٹرکس کو منتخب کرنے کی تجویز ہے۔
اس کے علاوہ، آپ کو مندرجہ ذیل پہلوؤں سے بہتر بنانے کی ضرورت ہے:
مارکیٹ کے حالات کے بارے میں فیصلہ کرنے کے معیار کو بہتر بنانا اور درستگی کو بہتر بنانا۔
مشین لرننگ ماڈیول شامل کریں تاکہ پیرامیٹرز کو خود بخود ایڈجسٹ کیا جاسکے۔
اہم حادثے کے خطرے کا اندازہ لگانے کے لئے ٹیکسٹ پروسیسنگ کے ساتھ مل کر۔
ملٹی مارکیٹ ریٹرننگ ، بہترین مجموعہ پیرامیٹرز تلاش کریں۔
ٹریلنگ اسٹاپ کی حکمت عملی کو شامل کرنا
متحرک منتقل اوسط کراس مجموعہ حکمت عملی ایک کثیر اشارے والی ذہین تجارتی حکمت عملی ہے۔ یہ مارکیٹ کے ماحول میں ایڈجسٹمنٹ پیرامیٹرز کو جوڑنے کے قابل ہے ، جس سے مشروط فیصلہ سازی کا نظام سازی کیا جاسکتا ہے۔ اس میں مضبوط موافقت اور یقین ہے۔ لیکن پیرامیٹرز کی ترتیب اور نئے ماڈیول کو احتیاط سے استعمال کرنے کی ضرورت ہے ، تاکہ حکمت عملی کی پیچیدگی میں اضافہ نہ ہو۔ مجموعی طور پر ، یہ ایک قابل عمل مقدار کی حکمت عملی ہے۔
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved Custom Strategy", shorttitle="ICS", overlay=true)
// Volatility
volatility = ta.atr(14)
avg_volatility_sma = ta.sma(volatility, 100)
avg_volatility = na(avg_volatility_sma) ? 0 : avg_volatility_sma
// Market Phase detection
long_term_ma = ta.sma(close, 200)
distance_from_long_term_ma = close - long_term_ma
var bool isTrending = math.abs(distance_from_long_term_ma) > 1.5 * avg_volatility and not na(distance_from_long_term_ma)
var bool isVolatile = volatility > 1.5 * avg_volatility
// EMA/MA Crossover
fast_length = 10
slow_length = 30
fast_ma = ta.ema(close, fast_length)
slow_ma = ta.sma(close, slow_length)
crossover_signal = ta.crossover(fast_ma, slow_ma)
// MACD
[macdLine, signalLine, macdHistogram] = ta.macd(close, 12, 26, 9)
macd_signal = crossover_signal or (macdHistogram > 0)
// Bollinger Bands
source = close
basis = ta.sma(source, 20)
upper = basis + 2 * ta.stdev(source, 20)
lower = basis - 2 * ta.stdev(source, 20)
isConsolidating = (upper - lower) < ta.sma(upper - lower, 20)
// StockRSI
length = 14
K = 100 * (close - ta.lowest(close, length)) / (ta.highest(close, length) - ta.lowest(close, length))
D = ta.sma(K, 3)
overbought = 75
oversold = 25
var float potential_SL = na
var float potential_TP = na
var bool buy_condition = na
var bool sell_condition = na
// Buy and Sell Control Variables
var bool hasBought = false
var bool hasSold = true
// Previous values tracking
prev_macdHistogram = macdHistogram[1]
prev_close = close[1]
// Modify sell_condition with the new criteria
if isVolatile
buy_condition := not hasBought and crossover_signal or macd_signal and (close > lower) and (close < upper)
sell_condition := hasBought and (macdHistogram < 0 and prev_macdHistogram < 0) and (close < prev_close and prev_close < close[2])
potential_SL := close - 0.5 * volatility
potential_TP := close + volatility
if isTrending
buy_condition := not hasBought and crossover_signal or macd_signal
sell_condition := hasBought and (macdHistogram < 0 and prev_macdHistogram < 0) and (close < prev_close and prev_close < close[2])
potential_SL := close - volatility
potential_TP := close + 2 * volatility
if isConsolidating
buy_condition := not hasBought and crossover_signal and (close > lower)
sell_condition := hasBought and (close < upper) and (macdHistogram < 0 and prev_macdHistogram < 0) and (close < prev_close and prev_close < close[2])
potential_SL := close - 0.5 * volatility
potential_TP := close + volatility
// Update the hasBought and hasSold flags
if buy_condition
hasBought := true
hasSold := false
if sell_condition
hasBought := false
hasSold := true
// Strategy Entry and Exit
if buy_condition
strategy.entry("BUY", strategy.long, stop=potential_SL, limit=potential_TP)
strategy.exit("SELL_TS", from_entry="BUY", trail_price=close, trail_offset=close * 0.05)
if sell_condition
strategy.close("BUY")
// Visualization
plotshape(series=buy_condition, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=sell_condition, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)
plot(long_term_ma, color=color.gray, title="200-Day MA", linewidth=1)
plot(potential_SL, title="SL Level", color=color.red, linewidth=1, style=plot.style_linebr)
plot(potential_TP, title="TP Level", color=color.green, linewidth=1, style=plot.style_linebr)
bgcolor(isVolatile ? color.new(color.purple, 90) : isTrending ? color.new(color.blue, 90) : isConsolidating ? color.new(color.orange, 90) : na)