لہر کے رجحان کی نگرانی کی بہتر حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-31 15:35:41
ٹیگز:

img

جائزہ: یہ ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو رجحانات کی نشاندہی کرنے کے لئے ویو ٹرینڈ آسکیلیٹر کا استعمال کرتی ہے۔ یہ ویو ٹرینڈ لائن کو پلاٹ کرنے کے لئے اوسط قیمت اور مطلق قیمت کے فرق کے تیزی سے چلنے والے اوسط کا حساب لگاتی ہے۔ جب ویو ٹرینڈ لائن اوور بک / اوور سیل زون کو عبور کرتی ہے تو تجارتی سگنل پیدا ہوتے ہیں۔ حرکت پذیر اوسط اور حجم پر اضافی فلٹر غلط سگنل سے بچتے ہیں۔

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

  1. اوسط قیمت کا حساب لگائیں ap = (اعلی + کم + بند) / 3

  2. ای ایس اے حاصل کرنے کے لئے اے پی کے این 1 مدت ای ایم اے کا حساب لگائیں

  3. ڈی حاصل کرنے کے لئے اے پی اور ای ایس اے کے درمیان مطلق فرق کے این 1 پیریڈ ای ایم اے کا حساب لگائیں

  4. حساب لگانا لہر رجحان لائن: ci = (ap - esa) / ((0.015*d)

  5. حتمی لہر رجحان لائن tci، یعنی wt1 حاصل کرنے کے لئے ci کے n2 مدت EMA حساب

  6. wt2 حاصل کرنے کے لئے wt1 کے 4 پیریڈ SMA کا حساب لگائیں

  7. پلاٹ اوور بکڈ/اوور سیلڈ لیول لائنز obLevel1/2 اور osLevel1/2

  8. جب wt1 obLevel2 سے تجاوز کرتا ہے تو خریدنے کا اشارہ پیدا کریں۔ جب wt1 osLevel2 سے نیچے گزرتا ہے تو فروخت کا اشارہ پیدا کریں۔

  9. غلط سگنلز سے بچنے کے لئے فلٹر کے طور پر چلتی اوسط emaFilter اور حجم فلٹر حجم فلٹر شامل کریں

  10. سیٹ لے منافع / سٹاپ نقصان کے بعد داخل ہونے سے باہر نکلنے کی پوزیشنوں

فوائد:

  1. ویو ٹرینڈ لائن ٹرینڈ / انسداد ٹرینڈ ٹرانزیشن کو اچھی طرح سے سنبھالتی ہے

  2. چلتی اوسط اور حجم کے دوہری فلٹرز کے ذریعے وشوسنییتا میں بہتری

  3. ایک سے زیادہ پیرامیٹرز ایک اشارے کی حدود سے بچنے کے

  4. منافع میں منافع/سٹاپ نقصان کے تالے اور کنٹرولز کا خطرہ

خطرات اور حدود:

  1. پیرامیٹرز کا انتخاب ناقص کارکردگی یا overfitting کی قیادت کر سکتے ہیں

  2. زیادہ سے زیادہ پیرامیٹرز پر کوئی حتمی رہنمائی نہیں

  3. وسیع تر مارکیٹ کے حالات کو نظر انداز کرتا ہے

  4. رینج سے منسلک/چاپپی مارکیٹس میں وِپساگ کا خطرہ

  5. منافع/سٹاپ نقصان کے علاوہ باہر نکلنے کے قوانین کا فقدان

ترقی کے مواقع:

  1. بہترین اقدار تلاش کرنے کے لئے ٹائم فریم / اثاثوں میں ٹیسٹ پیرامیٹرز

  2. کم اتار چڑھاؤ کے نظام سے بچنے کے لئے اتار چڑھاؤ کی پیمائش کو شامل کریں

  3. سگنل کی درستگی کو بہتر بنانے کے لئے RSI جیسے اشارے شامل کریں

  4. بہترین تخصیص کردہ پیرامیٹرز تلاش کرنے کے لئے مشین سیکھنے کا ماڈل بنائیں

  5. ٹرائلنگ اسٹاپس یا اتار چڑھاؤ کی تقریب پر مبنی باہر نکلنے کے ساتھ باہر نکلنے کو بہتر بنائیں

نتیجہ:

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


/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bush Strategy test", shorttitle="Nique Audi", overlay=false)

// Paramètres
n1 = input(10, title="Channel Length")
n2 = input(21, title="Average Length")
obLevel1 = input(60, title="Over Bought Level 1")
obLevel2 = input(53, title="Over Bought Level 2")
osLevel1 = input(-65, title="Over Sold Level 1")
osLevel2 = input(-60, title="Over Sold Level 2")
takeProfitPercentage = input(1, title="Take Profit (%)")
stopLossPercentage = input(0.50, title="Stop Loss (%)")

// Calculs
ap = hlc3 
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

// Tracé des lignes
plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red, style=plot.style_line)
plot(osLevel2, color=color.green, style=plot.style_line)

plot(wt1, color=color.green)
plot(wt2, color=color.red, style=plot.style_line)

// Tracé de la différence entre wt1 et wt2 en bleu
hline(0, "Zero Line", color=color.gray)

// Conditions d'entrée long et court
longCondition = ta.crossover(wt1, obLevel2)
shortCondition = ta.crossunder(wt1, osLevel2)

// Tracé des signaux d'achat et de vente
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Conditions d'entrée et de sortie
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Niveaux de prise de profit pour les positions longues et courtes
longTakeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercentage / 100)
shortTakeProfitLevel = strategy.position_avg_price * (1 - takeProfitPercentage / 100)

// Vérification si les niveaux de prise de profit sont atteints
longTakeProfitReached = strategy.position_size > 0 and high >= longTakeProfitLevel
shortTakeProfitReached = strategy.position_size < 0 and low <= shortTakeProfitLevel

// Tracé des formes de prise de profit
plotshape(series=longTakeProfitReached, style=shape.xcross, location=location.belowbar, color=color.blue, size=size.small, title="Take Profit Long")
plotshape(series=shortTakeProfitReached, style=shape.xcross, location=location.abovebar, color=color.blue, size=size.small, title="Take Profit Short")

// Niveaux de stop loss pour les positions longues et courtes
longStopLossLevel = strategy.position_avg_price * (1 - stopLossPercentage / 100)
shortStopLossLevel = strategy.position_avg_price * (1 + stopLossPercentage / 100)

// Vérification si les niveaux de stop loss sont atteints
longStopLossReached = strategy.position_size > 0 and low <= longStopLossLevel
shortStopLossReached = strategy.position_size < 0 and high >= shortStopLossLevel

// Tracé des formes de stop loss
plotshape(series=longStopLossReached, style=shape.xcross, location=location.belowbar, color=color.red, size=size.small, title="Stop Loss Long")
plotshape(series=shortStopLossReached, style=shape.xcross, location=location.abovebar, color=color.red, size=size.small, title="Stop Loss Short")

// Fermeture des positions en cas de prise de profit ou de stop loss
strategy.close("Long", when=longTakeProfitReached or longStopLossReached)
strategy.close("Short", when=shortTakeProfitReached or shortStopLossReached)




مزید