
دوہری حرکت پذیر اوسط کراس اوور ٹرینڈ حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو تیزی سے چلنے والی اوسط اور آہستہ چلنے والی اوسط کی کراسنگ کا استعمال کرتے ہوئے خرید و فروخت کا اشارہ بناتی ہے۔ یہ حکمت عملی ایک ہی وقت میں MACD ، RSI وغیرہ جیسے متعدد اشارے کے ساتھ مل کر رجحان کی سمت کا تعین کرتی ہے ، جس میں رجحان کی پیروی کرنے کی مضبوط صلاحیت ہے۔
یہ حکمت عملی مندرجہ ذیل اشارے پر مبنی ہے:
فاسٹ اور سست حرکت پذیر اوسط: فاسٹ لائن پر سست لائن کو خریدنے کا اشارہ اور فاسٹ لائن کے نیچے سست لائن کو بیچنے کا اشارہ۔
MACD: جب MACD لائن سگنل لائن سے زیادہ ہے اور MACD کی کم از کم قیمت بڑھتی ہے تو ایک کثیر سر سگنل
RSI: 50 سے زیادہ RSI ایک کثیر سر سگنل ہے ، 50 سے کم ایک خالی سر سگنل ہے۔
پیمائش oscillator (AO): جب AO پر traversing 0 محور خریدنے کے لئے سگنل، AO نیچے traversing 0 محور فروخت سگنل کے لئے.
دن کی لائن کی سطح کی تین حرکت پذیر اوسط: دن کی لائن کی سطح کی مختصر مدت کی حرکت پذیری اوسط پر طویل مدت کی حرکت پذیری اوسط خریدنے کا اشارہ ہے۔
اس حکمت عملی میں متعدد ٹائم پیریڈ اور متعدد اشارے شامل ہیں ، جو خرید و فروخت کے فیصلے کی منطق تشکیل دیتے ہیں۔ جب ایک سے زیادہ اشارے بیک وقت خریدنے کے اشارے پیدا کرتے ہیں تو خریدنے کے احکامات پیدا کرتے ہیں ، اور جب ایک سے زیادہ اشارے بیک وقت فروخت کے اشارے پیدا کرتے ہیں تو فروخت کے احکامات پیدا کرتے ہیں ، تاکہ رجحانات کی پیروی کی جاسکے۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
کثیر اشارے کے مجموعے کا فیصلہ ، غلط سگنل سے بچنے اور فیصلہ کی درستگی کو بہتر بنانے کے لئے۔
ایک سے زیادہ ٹائم سیکنڈ کے فیصلے کے ساتھ مل کر ، بڑے پیمانے پر رجحانات کی سمت کی نشاندہی کی جاسکتی ہے۔
پیرامیٹرز ٹننگ کے ساتھ ، انڈیکیٹر پیرامیٹرز کو بہتر بنایا گیا ہے۔
خطرے کو کنٹرول کرنے اور نقصانات کو بڑھانے سے روکنے کے لئے متحرک روکنے کا استعمال کریں۔
خود کار طریقے سے رجحانات کی پیروی کریں، بغیر کسی مداخلت کی ضرورت ہے، آپریٹنگ اخراجات کو کم کریں.
اس حکمت عملی میں کچھ خطرات بھی ہیں:
زلزلے کے حالات میں زیادہ غیر موزوں تجارتی سگنل پیدا ہوسکتے ہیں۔ انڈیکس پیرامیٹرز کو بہتر بنانے کے ذریعے غیر موزوں سگنل کو کم کیا جاسکتا ہے۔
اچانک واقعات تیزی سے واپسی کا سبب بن سکتے ہیں۔ نقصان کو کنٹرول کرنے کے لئے موبائل اسٹاپ کا تعین کیا جاسکتا ہے۔
کثیر فضائی سگنل کا تعین کرنے کے قواعد پیچیدہ ہیں ، پیرامیٹرز کی اصلاح کو تاریخی اعداد و شمار کی ایک بڑی تعداد کی حمایت کی ضرورت ہے۔
ٹریکنگ اسٹاپ کی غلط ترتیب سے قبل از وقت اسٹاپ کا سبب بن سکتا ہے۔ زیادہ سے زیادہ پیرامیٹرز کی نشاندہی کرنے کے لئے بار بار جانچ کی ضرورت ہے۔
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
زیادہ مستحکم اور درست تجارتی سگنل تلاش کرنے کے لئے زیادہ اشارے کے مجموعے کی جانچ کریں۔ جیسے اتار چڑھاؤ کی شرح اشارے ، او بی وی اشارے وغیرہ۔
اشارے کے پیرامیٹرز کو بہتر بنانا ، غیر موثر تجارتوں کی تعداد کو کم کرنا۔ مشین لرننگ اور جینیاتی الگورتھم کا استعمال کرتے ہوئے خود بخود بہتر پیرامیٹرز تلاش کریں۔
ماڈل انٹیگریشن ٹکنالوجی کو بڑھانا ، مزید آزاد حکمت عملی کے ماڈل کے فیصلے کو ضم کرنا۔ استحکام میں اضافہ۔
ہائی فریکوئینسی سطح پر داخل، کم فریکوئینسی سطح پر باہر نکلیں۔
مقدار میں اضافہ ہوا کنٹرول ماڈیولز، سخت کنٹرول واحد سٹاپ نقصان تناسب، زیادہ سے زیادہ واپسی تناسب، وغیرہ
تیز رفتار اوسط دو اشارے کراس کثیر فاریکس حکمت عملی تیزی سے چلنے والی اوسط اور آہستہ چلنے والی اوسط کی کراسنگ کے ذریعہ تجارتی سگنل تشکیل دیتی ہے ، اور میکڈ ، آر ایس آئی اور دیگر متعدد اشارے کے ساتھ مل کر رجحان کی سمت کا تعین کرتی ہے ، تاکہ خود کار طریقے سے رجحان کی پیروی کی جاسکے۔ اس حکمت عملی کو بہتر بنانے کی گنجائش زیادہ ہے ، اور اس میں مزید اشارے ، پیرامیٹرز کو ایڈجسٹ کرنے اور ماڈل انضمام جیسے ذرائع کے ذریعہ بہتر حکمت عملی کے نتائج حاصل کیے جاسکتے ہیں۔
/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('SteffVans', shorttitle='SteffVans strategy', overlay=true, process_orders_on_close = true)
// Input settings
macd_fast_length = input(12)
macd_slow_length = input(26)
macd_signal_length = input(9)
// Calculate MACD values
[macd_line, signal_line, _] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_length)
mg = ta.lowest(signal_line, 30) >= -0
// RSI
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
rsiLengthInput = input.int(14, minval=1)
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")
up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
RSI = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// AO
AO = ta.sma((high + low) / 2, 5) - ta.sma((high + low) / 2, 34)
crossaosell = AO < AO[1] and AO[1] < AO[2] and AO[2] > AO[3] and ta.lowest(low,3)
// Uptrend sma
len1 = input.int(5, minval=1)
len2 = input.int(10, minval=1)
len3 = input.int(20, minval=1)
src = input(close)
out1 = ta.sma(src, len1)
out2 = ta.sma(src, len2)
out3 = ta.sma(src, len3)
// Timeframe
macdl60 = request.security(syminfo.tickerid, "60", signal_line,lookahead = barmerge.lookahead_on)
ao = request.security(syminfo.tickerid, "60", AO,lookahead = barmerge.lookahead_on)
rsi = request.security(syminfo.tickerid, "60", RSI,lookahead = barmerge.lookahead_on)
good = request.security(syminfo.tickerid, "60", mg,lookahead = barmerge.lookahead_on)
bad = request.security(syminfo.tickerid, "60", crossaosell,lookahead = barmerge.lookahead_on)
ma1 = request.security(syminfo.tickerid, "D", out1,lookahead = barmerge.lookahead_on)
ma2 = request.security(syminfo.tickerid, "D", out2, lookahead = barmerge.lookahead_on)
ma3 = request.security(syminfo.tickerid, "D", out3, lookahead = barmerge.lookahead_on)
// Kriteria BUY and SELL
uptrend1 = request.security(syminfo.tickerid, "D", close,lookahead = barmerge.lookahead_on) > ma1 and ma1 > ma3 and ma2 > ma3
uptrend2 = ta.lowest(ma1,12) > ta.lowest(ma3,12) and ta.lowest(ma2,12) > ta.lowest(ma3,12)
// Triger BUY and SELL
cross1 = ao > ao[1] and ao[1] < ao[2] and ao > 0 and good and rsi >= 60 and uptrend1
cross2 = ao > 0 and ao[1] < 0 and good and rsi >=50 and uptrend1
cross3 = ao > 0 and ao[1] < 0 and not good and uptrend2 and uptrend1
cross4 = ao > ao[1] and ao[1] > ao[2] and ao[2] < ao[3] and ao[3] < ao[4] and not good and uptrend2 and uptrend1
s1 = ao < ao[1] and ao[1] < ao[2] and ao[2] < ao[3] and ao > 0 and rsi < 50 and request.security(syminfo.tickerid, "D", close,lookahead = barmerge.lookahead_on) < ma1
s2 = ao < 0 and ao < ao[2] and rsi < 50 and request.security(syminfo.tickerid, "D", close,lookahead = barmerge.lookahead_on) < ma1
// Variabel Buy dan Sell
buySignal = false
sellSignal = false
// Syarat masuk Buy
buyCondition = cross1 or cross2 or cross3 or cross4
if buyCondition
buySignal := true
// Syarat masuk Sell
sellCondition = s1 or s2
if sellCondition
sellSignal := true
// Reset sinyal jika ada sinyal berulang
if buySignal and sellSignal
sellSignal := false
if sellSignal and buySignal
buySignal := false
// Logika perdagangan
if buySignal
strategy.entry("Buy", strategy.long, comment = "BUY")
if sellSignal
strategy.close("Buy")
plotshape(cross1,title = "Stefkuy1", style = shape.labelup, location = location.belowbar, color = color.green,text = "1", textcolor = color.white,size = size.small)
plotshape(cross2,title = "Stefkuy2", style = shape.labelup, location = location.belowbar, color = color.green, text = "2", textcolor= color.white, size = size.small)
plotshape(cross3,title = "StefVan1", style = shape.labelup, location = location.belowbar, color = color.rgb(0, 153, 255), text = "3", textcolor= color.white,size = size.small)
plotshape(cross4,title = "StefVan2", style = shape.labelup, location = location.belowbar, color = color.rgb(0, 153, 255), text = "4", textcolor= color.white,size = size.small)