وسائل لوڈ ہو رہے ہیں... لوڈنگ...

مشتری اور زحل مومنٹم ایم اے کراس اوور فلٹرڈ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-03 16:13:20
ٹیگز:

img

جائزہ

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

اصول

  1. گولڈن کراس اور ڈیتھ کراس سگنل بنانے کے لئے 50 پیریڈ ای ایم اے اور 200 پیریڈ ایس ایم اے کا استعمال کریں۔

  2. جب قیمت ایک اپ ٹرینڈ میں ہے، قیمت کی ضرورت ہوتی ہے کہ 200 دن کی لائن سے اوپر اور اپنی مرضی کے مطابق رفتار اشارے کی قیمت 25 سے نیچے خریدنے کے سگنل پیدا کرنے کے لئے.

  3. جب قیمت نیچے کے رجحان میں ہو، تو قیمت کو 200 دن کی لائن سے نیچے اور اپنی مرضی کے مطابق رفتار اشارے کی قیمت 75 سے اوپر کی ضرورت ہوتی ہے تاکہ فروخت سگنل پیدا ہوسکیں۔

  4. اپنی مرضی کے مطابق رفتار اشارے تاریخ کی زیادہ سے زیادہ اور کم سے کم کی بنیاد پر 0-100 کی حد میں BB وسط لائن اور بینڈ فاصلے کا نقشہ.

  5. رفتار کا اشارے قیمت کی نسبتاً اتار چڑھاؤ کی عکاسی کرتا ہے، حد فلٹرنگ غلط کراس اوورز کو کم کرنے میں مدد کرتی ہے۔

فوائد

  1. درمیانی اور طویل مدتی رجحانات کو پکڑنے کے لئے ای ایم اے اور ایس ایم اے کی طاقتوں کا استعمال کریں۔

  2. رفتار کے اشارے کے ساتھ فلٹریشن میں اضافہ قابل اعتماد کو بہتر بناتا ہے اور غلط سگنل کو کم کرتا ہے.

  3. بی بی بینڈ کا فاصلہ اتار چڑھاؤ کی شدت کی عکاسی کرتا ہے ، تاریخی معمول سازی پیرامیٹر انحصار سے گریز کرتی ہے۔

  4. اپنی مرضی کے مطابق EMA، SMA ادوار اور رفتار کی حد مختلف مارکیٹ کے ماحول کے مطابق ڈھالنے کے قابل.

  5. اصلاح کی لچک کے ساتھ سادہ منطق، مضبوط عملی.

خطرے کا تجزیہ

  1. ای ایم اے اور ایس ایم اے کا اثر تاخیر کا ہوتا ہے، قلیل مدتی مواقع سے محروم ہو سکتے ہیں۔

  2. حد سے منسلک مارکیٹوں کے لئے موزوں نہیں نوعیت کے مطابق رجحان.

  3. رفتار کی حد مطلوبہ پیرامیٹر کے لئے تکرار بیک ٹسٹنگ کی ضرورت ہوتی ہے، خطرہ overfitting.

  4. طویل مدتی نظام مستحکم لیکن ممکنہ طور پر محدود مطلق واپسی پیش کرتے ہیں.

  5. ایم اے کی مدت کو کم کر سکتے ہیں یا موافقت کو بہتر بنانے کے لئے اضافی اشارے شامل کرسکتے ہیں۔

بہتر مواقع

  1. زیادہ سے زیادہ پیرامیٹرز کے لئے مختلف ایم اے کے مجموعے کی جانچ کریں۔

  2. اضافی توثیق کے لئے MACD، KD جیسے اضافی اشارے شامل کریں.

  3. رفتار کے اشارے کے پیرامیٹرز کو بہتر بنائیں جیسے نظرثانی کی مدت، نقشہ بندی کی حد.

  4. خطرات کو کنٹرول کرنے کے لئے سٹاپ نقصان کو شامل کریں.

  5. مشین سیکھنے کی خصوصیت نکالنے کا استعمال کرتے ہوئے علامت مخصوص پیرامیٹرز کے لئے ایڈجسٹ.

  6. غیر معقول کراس اوور سگنل سے بچنے کے لئے حجم اشارے شامل کریں.

نتیجہ

یہ حکمت عملی طویل مدتی رجحان کی پیروی اور دوہری رفتار کی حد فلٹرنگ کو اعلی وشوسنییتا اور عملی قدر کے ل combines جوڑتی ہے۔ پیرامیٹر کی اصلاح اور تکمیلی تکنیکوں کے ذریعہ مزید بہتری ممکن ہے۔ جدید تصور دوسرے رجحان کے نظام کے لئے قیمتی بصیرت فراہم کرتا ہے۔ الگورتھمک تجارتی حکمت عملی لائبریری میں ایک قیمتی اضافہ۔


/*backtest
start: 2023-10-26 00:00:00
end: 2023-10-27 13:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="EMA Difference Mapping with Trades", shorttitle="EMA Diff Map", overlay=false)

// Inputs
emaLength = input(20, "EMA Length")
stdDevLength = input(2, "Standard Deviation Length")
priceSource = close
takeProfitPoints = input(1000, title="Take Profit (in Points)")
stopLossPoints = input(2500, title="Stop Loss (in Points)")

// Calculate EMA
ema = ema(priceSource, emaLength)

// Calculate Standard Deviation
stdDev = stdev(priceSource, stdDevLength)

// Calculate differences
diff1 = (ema + stdDev) - ema
diff2 = ema - (ema - stdDev)

// Calculate min and max differences from last year
lookbackPeriod = 504 // Number of trading days in a year
minDiff1 = lowest(diff1, lookbackPeriod)
maxDiff1 = highest(diff1, lookbackPeriod)
minDiff2 = lowest(diff2, lookbackPeriod)
maxDiff2 = highest(diff2, lookbackPeriod)

// Map differences based on requirements
mappedDiff1 = 50 + 50 * ((diff1 - minDiff1) / (maxDiff1 - minDiff1))
mappedDiff2 = 50 - 50 * ((diff2 - minDiff2) / (maxDiff2 - minDiff2))

// Combine mapped differences into a single line
mappedLine = if close > ema
    mappedDiff1
else
    mappedDiff2

// Plot 'mappedLine' in the main chart area conditionally
plot(mappedLine, title="EMA Difference Mapping", color=(close > ema ? color.blue : na), style=plot.style_line, linewidth=2)

// Calculate the 50EMA and 200SMA
ema50 = ema(close, 50)
sma200 = sma(close, 200)

// Plot the 50EMA and 200SMA on the main chart
plot(ema50, color=color.blue, title="50 SMA", linewidth=2)
plot(sma200, color=color.red, title="200 SMA", linewidth=2)

// Initialize trade variables
var bool waitingForBuy = na
var bool waitingForSell = na
var bool buyConditionMet = false
var bool sellConditionMet = false

if not sellConditionMet and crossunder(ema50, sma200)
    sellConditionMet := true
    waitingForBuy := false

if sellConditionMet 
    waitingForSell := true
    sellConditionMet := false

if waitingForSell and close < sma200 and mappedLine > 75
    strategy.entry("Sell", strategy.short)
    strategy.exit("Sell Exit", "Sell", profit=takeProfitPoints, loss=stopLossPoints)
    waitingForSell := false

// Define the strategy conditions and execute trades
if not buyConditionMet  and crossover(ema50, sma200)
    buyConditionMet := true
    waitingForSell := false

if buyConditionMet 
    waitingForBuy := true
    buyConditionMet := false

if waitingForBuy and close > sma200 and mappedLine < 25
    strategy.entry("Buy", strategy.long)
    strategy.exit("Buy Exit", "Buy", profit=takeProfitPoints, loss=stopLossPoints)
    waitingForBuy := false


مزید