متحرک حرکت پذیر اوسط کراس اوور کمبو حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-05 10:23:10
ٹیگز:

img

جائزہ

متحرک متحرک اوسط کراس اوور کمبو حکمت عملی ایک مشترکہ تجارتی حکمت عملی ہے جو متعدد تکنیکی اشارے اور مارکیٹ کی حالت کا پتہ لگانے کو مربوط کرتی ہے۔ یہ متحرک طور پر مارکیٹ کی اتار چڑھاؤ کا حساب لگاتا ہے اور طویل مدتی متحرک اوسط اور اتار چڑھاؤ سے قیمت کے فاصلے اور اتار چڑھاؤ کی بنیاد پر تین مارکیٹ کے مراحل کا تعین کرتا ہے: اتار چڑھاؤ ، رجحان اور استحکام۔ مختلف مارکیٹ کے حالات میں ، حکمت عملی مختلف اندراج اور باہر نکلنے کے قوانین کو اپناتی ہے اور EMA / SMA کراس اوور ، MACD اور بولنگر بینڈ جیسے اشارے کے امتزاج کے ساتھ خرید و فروخت کے سگنل تیار کرتی ہے۔

حکمت عملی منطق

مارکیٹ کی اتار چڑھاؤ کا حساب لگائیں

پچھلے 14 دنوں میں مارکیٹ کی اتار چڑھاؤ کی پیمائش کرنے کے لئے اے ٹی آر اشارے کا استعمال کریں۔ پھر اوسط اتار چڑھاؤ حاصل کرنے کے لئے 100 دن کا ایس ایم اے فلٹر لگائیں۔

مارکیٹ کے مراحل کا تعین کریں

قیمت اور 200 دن کے ایس ایم اے کے درمیان فاصلہ کا حساب لگائیں۔ اگر مطلق فاصلہ واضح سمت کے ساتھ اوسط اتار چڑھاؤ کے 1.5 گنا سے زیادہ ہے تو ، یہ رجحان سازی کی مارکیٹ کے طور پر طے ہوتا ہے۔ اگر موجودہ اتار چڑھاؤ اوسط کے 1.5 گنا سے زیادہ ہے تو ، یہ اتار چڑھاؤ والی مارکیٹ ہے۔

EMA/SMA کراس اوور

فاسٹ ای ایم اے کی مدت 10 دن ہے۔ سست ایس ایم اے کی مدت 30 دن ہے۔ خرید کا اشارہ اس وقت پیدا ہوتا ہے جب فاسٹ ای ایم اے سست ایس ایم اے سے تجاوز کرتا ہے۔

ایم اے سی ڈی

12، 26، 9 پیرامیٹرز کے ساتھ MACD کا حساب لگائیں۔ ایک مثبت MACD ہسٹوگرام خریدنے کا اشارہ دیتا ہے۔

بولنگر بینڈ

20 دن کے معیاری انحراف چینل کا حساب لگائیں۔ اگر چینل کی چوڑائی خود کے 20 دن کے ایس ایم اے سے چھوٹی ہے تو ، یہ مستحکم ہے۔

داخلے کے قواعد

غیر مستحکم: جب کراس اوور یا MACD مثبت ہو تو بینڈ کے اندر قیمت کے ساتھ طویل درج کریں.

رجحان: جب کراس اوور یا ایم اے سی ڈی مثبت ہو تو طویل درج کریں۔

استحکام: جب کراس اوور اور قیمت کم بینڈ سے اوپر ہو تو طویل درج کریں۔

باہر نکلنے کے قواعد

عام: جب MACD منفی 2 بار کے لئے اور قیمت 2 دن گرتی ہے تو باہر نکلیں.

غیر مستحکم: اس کے علاوہ باہر نکلیں جب اسٹاک آر ایس آئی کو زیادہ خریدا جائے۔

استحکام: جب قیمت اوپری بینڈ سے نیچے ہو تو پلس باہر نکلیں.

فوائد

اسٹریٹیجی میں مندرجہ ذیل طاقتیں ہیں:

  1. کم ذہنی مداخلت کے ساتھ منظم کارروائیوں.

  2. مارکیٹ کے حالات کی بنیاد پر ایڈجسٹ ایڈجسٹ پیرامیٹرز.

  3. ایک سے زیادہ اشارے کے ساتھ سگنل کی اعلی درستگی.

  4. بولنگر بینڈ کے ساتھ کم خطرہ آٹو سٹاپ نقصان.

  5. غلط سگنل سے بچنے کے لئے تمام گول حالت فلٹرنگ.

  6. متحرک سٹاپ نقصان اور رجحانات کی پیروی کرنے کے لئے منافع لے لو.

خطرات

اہم خطرات یہ ہیں:

  1. غلط پیرامیٹر ٹوننگ کی صورت میں غلط حکمت عملی۔ اصلاح تجویز کی گئی ہے۔

  2. اچانک واقعات کی وجہ سے ماڈل کی ناکامی۔ منطق اپ ڈیٹ کی سفارش کی جاتی ہے۔

  3. تجارتی لاگت سے کم منافع کا مارجن۔ کم کمیشن بروکر مشورہ دیا.

  4. متعدد ماڈیولز کے ساتھ زیادہ پیچیدگی۔ بنیادی اشارے مشورہ دیتے ہیں۔

بہتری

اصلاح کی ممکنہ سمتیں:

  1. مارکیٹ کے ماحول کی تشخیص کے معیار کو بہتر بنانا۔

  2. خودکار پیرامیٹر موافقت کے لئے مشین لرننگ متعارف کروائیں۔

  3. واقعات کا پتہ لگانے کے لئے ٹیکسٹ تجزیہ شامل کریں.

  4. بہترین پیرامیٹرز تلاش کرنے کے لئے کثیر مارکیٹ بیک ٹیسٹنگ.

  5. بہتر منافع کے لئے ٹریلنگ سٹاپ کی حکمت عملی کو نافذ کریں۔

نتیجہ

متحرک حرکت پذیر اوسط کراس اوور کومبو حکمت عملی ایک ذہین کثیر اشارے کا مقداری تجارتی نظام ہے۔ یہ منظم اصول پر مبنی تجارت کو نافذ کرنے کے لئے مارکیٹ کے حالات کی بنیاد پر پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرتی ہے۔ حکمت عملی انتہائی موافقت پذیر اور متعین ہے۔ لیکن پیچیدگی سے بچنے کے لئے پیرامیٹرز اور اضافی ماڈیولز کو احتیاط سے متعارف کرانے کی ضرورت ہے۔ مجموعی طور پر یہ ایک قابل عمل مقداری حکمت عملی کا خیال ہے۔


/*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)


مزید