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

مصنف:چاؤ ژانگ، تاریخ: 2023-12-28 15:25:29
ٹیگز:

img

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

حکمت عملی کے اصول

تجارتی اندراجات کا تعین کرنے کے لئے اہم اقدامات یہ ہیں:

  1. رجحان کی سمت کا اندازہ کرنے کے لئے ایلیگیٹر ٹرپل چلتی اوسط اشارے کا استعمال کریں۔ لپ لائنز کو عبور کرنا مضبوط رفتار کی نشاندہی کرتا ہے۔

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

  3. اہم سطحوں کے ارد گرد مخالف رجحان ٹریڈ انٹری پوائنٹس کی نشاندہی کرنے کے لئے حمایت / مزاحمت کے ساتھ مل کر.

  4. EMAS کا استعمال مجموعی طور پر طویل مدتی رجحان کا تعین کرنے میں مدد کرنے کے لئے کریں۔ رینج سے منسلک اور رجحانات کی پیروی کرنے والے بازاروں میں اوسط واپسی کا استعمال کریں۔

  5. ٹریلنگ سٹاپ نقصان کا استعمال ایک ہی تجارت کے نقصان کی رقم کو کنٹرول کرنے کے لئے.

فوائد

حکمت عملی کے فوائد:

  1. متعدد اشارے سے سگنلز کو یکجا کرنے سے درستگی میں اضافہ ہوتا ہے۔

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

  3. ٹریلنگ اسٹاپ نقصان جس میں ایک ہی تجارت پر نقصانات شامل ہیں۔

خطرات

متعلقہ خطرات:

  1. مزید اشارے تجارت کی زیادہ کثرت کا باعث بن سکتے ہیں اور لین دین کی لاگت پر قابو پانے کی ضرورت ہے۔

  2. ناکامی کی حمایت / مزاحمت کی سطح سب سے بڑا خطرہ ہے۔ قیمت توقع کے مطابق الٹ نہیں ہوسکتی ہے جس کے نتیجے میں بڑے نقصانات ہوتے ہیں۔

  3. بڑی غیر مستحکم حرکتوں کے دوران سٹاپ نقصان لیا جا سکتا ہے.

بہتری کے شعبے

بہتری کے لیے ضروری شعبے:

  1. بہترین کارکردگی کا مجموعہ تلاش کرنے کے لئے اشارے کے درمیان وزن کو بہتر بنائیں.

  2. اہم سپورٹ / مزاحمت کی سطح کی درستگی کو بہتر بنانے کے لئے مشین لرننگ کا استعمال کریں۔

  3. غیر مستحکم لیکن کم حجم کے ماحول میں تجارت سے بچنے کے لئے حجم کے اشارے شامل کریں۔

  4. مؤثر اور غیر ضروری رکاوٹوں کو متوازن کرنے کے لئے موافقت پذیر سٹاپ نقصان کے ماڈلز کو بہتر بنائیں.

خلاصہ

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


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © vhurtadocos


//@version=5
strategy('Estrategia EMA Resistencia Soporte', shorttitle='Estrategia EMA RESISTENCIA Y SOPORTE', overlay=true, margin_long=100, margin_short=100, pyramiding = 10 )

//INICIO DE CONDICIONES BASICAS
/// Alligator
smma(src, length) =>
    smma = 0.0
    sma_1 = ta.sma(src, length)
    smma := na(smma[1]) ? sma_1 : (smma[1] * (length - 1) + src) / length
    smma
lipsLength = input(title='🐲 Lips Length', defval=5)
teethLength = input(title='🐲 Teeth Length', defval=8)
jawLength = input(title='🐲 Jaw Length', defval=13)
lipsOffset = input(title='🐲 Lips Offset', defval=3)
teethOffset = input(title='🐲 Teeth Offset', defval=5)
jawOffset = input(title='🐲 Jaw Offset', defval=8)
lips = smma(hl2, lipsLength)
teeth = smma(hl2, teethLength)
jaw = smma(hl2, jawLength)


// Fractals
n = input.int(title='📌 Period', defval=2, minval=2)
upFractal = high[n + 2] < high[n] and high[n + 1] < high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 3] < high[n] and high[n + 2] < high[n] and high[n + 1] == high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 4] < high[n] and high[n + 3] < high[n] and high[n + 2] == high[n] and high[n + 1] <= high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 5] < high[n] and high[n + 4] < high[n] and high[n + 3] == high[n] and high[n + 2] == high[n] and high[n + 1] <= high[n] and high[n - 1] < high[n] and high[n - 2] < high[n] or high[n + 6] < high[n] and high[n + 5] < high[n] and high[n + 4] == high[n] and high[n + 3] <= high[n] and high[n + 2] == high[n] and high[n + 1] <= high[n] and high[n - 1] < high[n] and high[n - 2] < high[n]
dnFractal = low[n + 2] > low[n] and low[n + 1] > low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 3] > low[n] and low[n + 2] > low[n] and low[n + 1] == low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 4] > low[n] and low[n + 3] > low[n] and low[n + 2] == low[n] and low[n + 1] >= low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 5] > low[n] and low[n + 4] > low[n] and low[n + 3] == low[n] and low[n + 2] == low[n] and low[n + 1] >= low[n] and low[n - 1] > low[n] and low[n - 2] > low[n] or low[n + 6] > low[n] and low[n + 5] > low[n] and low[n + 4] == low[n] and low[n + 3] >= low[n] and low[n + 2] == low[n] and low[n + 1] >= low[n] and low[n - 1] > low[n] and low[n - 2] > low[n]
plotshape(title='📌 Up-Fractal', series=upFractal, style=shape.triangleup, location=location.abovebar, offset=-2, color=color.new(color.olive, 0), text="R")
plotshape(title='📌 Down-Fractal', series=dnFractal, style=shape.triangledown, location=location.belowbar, offset=-2, color=color.new(color.maroon, 0), text="S", textcolor = color.new(color.maroon,0))

// Resistance, Support
showRS = input(title='⤒⤓ Show Res-Sup', defval=true)
lengthRS = input(title='⤒⤓ Res-Sup Length', defval=13)
highRS = ta.valuewhen(high >= ta.highest(high, lengthRS), high, 0)
lowRS = ta.valuewhen(low <= ta.lowest(low, lengthRS), low, 0)
plot(title='⤒ Resistance', series=showRS and highRS ? highRS : na, color=highRS != highRS[1] ? na : color.olive, linewidth=1, offset=0)
plot(title='⤓ Support', series=showRS and lowRS ? lowRS : na, color=lowRS != lowRS[1] ? na : color.maroon, linewidth=1, offset=0)




// EMA de 8 períodos
ema8 = ta.ema(close, 8)
plot(title='ema8', series=ema8, color=color.new(#dbef41, 0), offset=0)

// EMA de 21 períodos
ema21 = ta.ema(close, 21)
plot(title='ema21', series=ema21, color=color.new(#e12c0c, 0), offset=0)

// EMA de 50 períodos
ema50 = ta.ema(close, 50)
plot(title='ema50', series=ema50, color=color.new(#3419de, 0), offset=0)

// EMA de 200 períodos
ema200 = ta.ema(close, 200)
plot(title='ema200', series=ema200, color=color.new(#f6f6f4, 0), offset=0)



// Definiciones originales...
// ... (incluyendo tus definiciones de Alligator, Fractals, etc.)

// Guardamos el último soporte y resistencia
var float lastSupport = na
var float lastResistance = na

// Detectando un nuevo soporte y resistencia
newSupportDetected = low == lowRS


if newSupportDetected
    lastSupport := low

// Lógica de entrada y salida

// Condiciones de entrada basadas en soportes recién formados
longCondition = low == lowRS
if longCondition
    strategy.entry("Long", strategy.long)

// Salida (take profit) cuando detectamos una nueva resistencia después de entrar en una posición long
newResistanceDetected = high == highRS
if newResistanceDetected and strategy.position_size > 0
    strategy.close("Long")

// Agregar una condición para el stop loss
longStopLossPrice = close * 0.95
if strategy.position_size > 0 and close <= longStopLossPrice
    strategy.close("Long")

// Pintamos los soportes y resistencias
plotshape(longCondition, style=shape.triangledown, location=location.belowbar, color=color.red)
plotshape(newResistanceDetected, style=shape.triangleup, location=location.abovebar, color=color.green)

// Resto del código para plotear las EMAs y fractales
// ...




مزید