
ایکویلیئن ریبوئل سکریپنگ حکمت عملی ایک ایسی حکمت عملی ہے جس میں تکنیکی اشارے اور قیمت کی شکل کو ایک ساتھ ملایا جاتا ہے ، جس میں معاون مزاحمت کی سطح پر بہت زیادہ کام کرنے کی حکمت عملی ہوتی ہے۔ یہ حکمت عملی مارکیٹ کے رجحان کی سمت کی نشاندہی کرنے کے لئے ایکویلیئن اشارے کا استعمال کرتی ہے ، قیمت کی انتہائی قیمت پر مبنی شکل کے اشارے کا استعمال کرتے ہوئے الٹ پوائنٹس کی مدد کرتی ہے ، جس میں اہم معاونت اور مزاحمت کی پوزیشن کا تعین کرنے کے لئے پہلے سے ہی اونچائی اور کم سے مل کر کام کیا جاتا ہے ، ان مقامات پر الٹ آپریشن کرنا ، جو عام معنی میں الٹ حکمت عملی ہے۔
اس حکمت عملی کے تحت آپریشن کے وقت کا تعین مندرجہ ذیل مراحل کے ذریعے کیا جاتا ہے:
ٹریویلیئن ایلیگیٹر اشارے کا استعمال کرتے ہوئے رجحان کی سمت کا تعین کریں۔ جب قیمت کی لائن اس اشارے کی لپ لائنوں کو توڑ دیتی ہے تو ، اس کو ایک مضبوط توڑنے کا اشارہ سمجھا جاتا ہے۔
چوٹی کے ذریعے ماڈل کے اشارے کا استعمال کرتے ہوئے قیمتوں کے اوورلوڈ اوورلوڈ علاقوں میں الٹ جانے کے وقت کی نشاندہی کریں۔ چوٹی کے ذریعے کسی خاص سمت میں انتہائی حد سے تجاوز کرنا ، ممکنہ الٹ سگنل کے طور پر فیصلہ کریں۔
معاونت اور مزاحمت کی پوزیشنوں کے ساتھ مل کر ریورس آپریشن کا فیصلہ کرنے کے لئے مخصوص اندراج کے نقطہ نظر۔ جب قیمت پہلے کی حمایت یا مزاحمت کی پوزیشن کے قریب ہوتی ہے تو زیادہ سے زیادہ کم کرنا۔
ای ایم اے اوسط لائن اشارے کا استعمال طویل مدتی رجحان کی سمت کا تعین کرنے میں معاون ہے۔ مثال کے طور پر ، چونکانے والے حالات میں ، قلیل مدتی کارروائی کو اڑان بھرنے کے لئے تبدیل کیا جاتا ہے ، جبکہ رجحان کے حالات میں ، اس کی بنیاد پر کام کیا جاتا ہے۔
موبائل سٹاپ نقصان کا استعمال کرتے ہوئے ، ایک ہی نقصان کو کنٹرول کریں۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
اس کے علاوہ، یہ متعدد اشارے کے اشارے کو یکجا کرتا ہے، جس سے فیصلے کی درستگی میں اضافہ ہوتا ہے.
اہم حمایت کی مزاحمت کا استعمال کرتے ہوئے الٹنا ، ایک اعلی امکان کا آپریشن ہے۔
موبائل اسٹاپ نقصان کو محدود کرنے کے لئے استعمال کیا جاتا ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
کثیر اشارے کے مجموعی فیصلے کے مطابق ، آپریشن کی فریکوئنسی زیادہ ہوسکتی ہے ، اور ٹرانزیکشن لاگت پر قابو پانے پر توجہ دینے کی ضرورت ہے۔
اہم مقامات کی ناکامی سب سے بڑا خطرہ ہے ، اور اگر قیمتوں میں توقع کی حمایت یا مزاحمت کی سطح کے قریب الٹ نہ ہو تو ، نقصانات زیادہ ہوسکتے ہیں۔
مارکیٹ میں شدید اتار چڑھاؤ کے دوران ، چلنے والی روک کو توڑ دیا جاسکتا ہے ، جس سے نقصان میں اضافہ ہوتا ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
کثیر اشارے کے وزن کو بہتر بنانے کے لئے، بہترین پیرامیٹرز کا مجموعہ تلاش کریں.
مشین سیکھنے کے الگورتھم کو بڑھانے کے لئے، جس میں اہم مقامات کی کامیابی کی شرح کا تعین کرنے میں مدد ملے گی.
ٹرانزیکشن حجم کے اشارے شامل کریں تاکہ قیمتوں میں شدید اتار چڑھاؤ ہو لیکن ٹرانزیکشن کی مقدار کم ہو۔
موبائل سٹاپ نقصان کے ماڈل کو بہتر بنانا تاکہ سٹاپ نقصان کی افادیت کو یقینی بنایا جاسکے اور اس کے ساتھ ہی غیر ضروری اسٹاپ نقصان کی ممکنہ حد تک کم سے کم ہو۔
خلاصہ یہ ہے کہ ، یہ مساوی ریبلوچنگ حکمت عملی ایک عام تکنیکی حکمت عملی ہے جس میں ایک ہی وقت میں متعدد اشارے جیسے مساوی لائن ، قیمت کی شکل ، اور معاون مزاحمت کی سطح کا استعمال کیا جاتا ہے۔ اس میں اعلی تعیناتی کی درستگی ، اعلی امکانات کے ساتھ کام کرنے کے فوائد ہیں ، لیکن اس میں کلیدی مقام کی ناکامی اور متحرک اسٹاپ نقصانات کو توڑنے کے خطرے پر بھی توجہ دینے کی ضرورت ہے۔ متعدد اشارے کے وزن ، مشین لرننگ اور ٹرانزیکشن اشارے جیسے ذرائع کو مستقل طور پر بہتر بنانے کے ذریعہ حکمت عملی کی تاثیر کو کچھ حد تک بڑھایا جاسکتا ہے۔
/*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
// ...