গড় রিবাউন্ড সঞ্চয় কৌশল চলন্ত


সৃষ্টির তারিখ: 2023-12-28 15:25:29 অবশেষে সংশোধন করুন: 2023-12-28 15:25:29
অনুলিপি: 1 ক্লিকের সংখ্যা: 701
1
ফোকাস
1621
অনুসারী

গড় রিবাউন্ড সঞ্চয় কৌশল চলন্ত

ওভারভিউ

সমান্তরাল বিপর্যয় উত্তোলন কৌশলটি এমন একটি কৌশল যা প্রযুক্তিগত সূচক এবং মূল্যের আকারের সাথে একত্রে একত্রে একাধিক কমান্ড ম্যানিপুলেশন করে। এই কৌশলটি বাজার প্রবণতার দিকনির্দেশনা সনাক্ত করতে সমান্তরাল সূচক ব্যবহার করে, মূল্যের চূড়ান্ত মানের উপর ভিত্তি করে আকারের সূচকটি বিপর্যয় চিহ্নিত করতে সহায়তা করে, পূর্ববর্তী উচ্চতা এবং নিম্নের সাথে মিলিত হয়ে সমালোচনামূলক সমর্থন এবং প্রতিরোধের অবস্থান নির্ধারণ করে। এই পয়েন্টগুলিতে বিপরীত অপারেশন করা, এটি একটি সাধারণ অর্থের বিপর্যয় কৌশল।

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত ধাপগুলি দ্বারা কার্যকর করার সময় নির্ধারণ করেঃ

  1. ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য ত্রিমাত্রিক Alligator সূচকটি ব্যবহার করুন। যখন দামের লাইনটি সূচকের লিপ লাইনগুলিকে ভেঙে দেয়, তখন এটি একটি শক্তিশালী বিরতির সংকেত বলে মনে করা হয়।

  2. পিক-ট্রু মোডের সূচক ব্যবহার করে, যখন ওভারব্লুড ওভারসোল্ড অঞ্চলে দামের বিপরীত হওয়ার সময় চিহ্নিত করা হয়। পিক-ট্রু একটি নির্দিষ্ট দিকের সর্বোচ্চ পয়েন্টটি অতিক্রম করার সময়, সম্ভাব্য বিপরীত সংকেত হিসাবে বিচার করা হয়।

  3. সমর্থন এবং প্রতিরোধের অবস্থার সাথে একত্রিত করে বিপরীতমুখী অপারেশনের নির্দিষ্ট প্রবেশের পয়েন্ট নির্ধারণ করুন। দামগুলি পূর্বের সমর্থন বা প্রতিরোধের অবস্থার কাছাকাছি থাকলে পজিশন খোলার জন্য অতিরিক্ত খালি করুন।

  4. ইএমএ গড়রেখার নির্দেশক ব্যবহার করে দীর্ঘমেয়াদী প্রবণতার দিকনির্দেশনা নির্ধারণ করতে সহায়তা করে। উদাহরণস্বরূপ, ঝড়ের পরিস্থিতিতে, স্বল্পমেয়াদী অপারেশনটি লাফিয়ে ওঠার বিপরীতে এবং প্রবণতার পরিস্থিতিতে চলমান গতিতে পরিচালিত হয়।

  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
// ...