এই কৌশলটি স্টোকাস্টিক মোমেন্টাম ইনডেক্স (এসএমআই) এর উপর ভিত্তি করে একটি অভিযোজিত ট্রেডিং সিস্টেম। এটি এসএমআই সূচক এবং এর সংকেত লাইনের মধ্যে ক্রসওভার বিশ্লেষণ করে, স্বয়ংক্রিয়ভাবে মূল অবস্থানে ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করে বাজারের প্রবণতা পূর্বাভাস দেয়। কৌশলটি ডাটা মসৃণ করতে এবং সংকেতের নির্ভরযোগ্যতা উন্নত করতে ডাবল এক্সপোনেন্সিয়াল মুভিং এভারেজ (ইএমএ) ব্যবহার করে। এই সিস্টেমটি মাঝারি থেকে দীর্ঘমেয়াদী ট্রেডিংয়ের জন্য বিশেষভাবে উপযুক্ত এবং কার্যকরভাবে প্রধান বাজারের প্রবণতা বিপরীত পয়েন্টগুলি ক্যাপচার করে।
কৌশলটির মূলটি এসএমআই গণনার মাধ্যমে দামের গতিবেগ পরিমাপ করা। এটি প্রথমে একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্য পরিসীমা নির্ধারণ করে, তারপরে এই পরিসরের তুলনায় বন্ধের দামের অবস্থানকে স্বাভাবিক করে। আপেক্ষিক পরিসীমা এবং মূল্য পরিসীমা উভয়ের জন্য ডাবল ইএমএ মসৃণকরণ প্রয়োগ করে এটি আরও স্থিতিশীল এসএমআই মান তৈরি করে। এসএমআই লাইনটি তার সংকেত লাইনের সাথে একটি সোনার ক্রস (এসএমআই
এটি এসএমআই সূচকের উপর ভিত্তি করে একটি পরিপক্ক ট্রেডিং কৌশল, শক্তিশালী ব্যবহারিকতার সাথে প্রযুক্তিগত সূচক ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত উত্পন্ন করে। কৌশলটির মূল সুবিধাগুলি এর পরিষ্কার সংকেত এবং শক্তিশালী গোলমাল প্রতিরোধের মধ্যে রয়েছে, যদিও এর কিছু অন্তর্নিহিত বিলম্ব রয়েছে। ভলিউম বৈধকরণ এবং ট্রেন্ড ফিল্টারিংয়ের মতো অপ্টিমাইজেশনের মাধ্যমে কৌশলটির স্থিতিশীলতা এবং নির্ভরযোগ্যতা আরও বাড়ানো যেতে পারে। এই কৌশলটি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিংয়ের জন্য বিশেষভাবে উপযুক্ত এবং পদ্ধতিগত ট্রেডিং সিস্টেম তৈরির সন্ধানকারী বিনিয়োগকারীদের জন্য একটি দুর্দান্ত পছন্দ হিসাবে কাজ করে।
/*backtest start: 2024-12-19 00:00:00 end: 2024-12-26 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Iban_Boe //@version=6 strategy("SMI Strategy with Signals", "SMI Strategy", overlay=false) // Parámetros del SMI lengthK = input.int(14, "%K Length", minval=1, maxval=15000) lengthD = input.int(3, "%D Length", minval=1, maxval=4999) lengthEMA = input.int(3, "EMA Length", minval=1, maxval=4999) // Función de doble EMA emaEma(source, length) => ta.ema(ta.ema(source, length), length) // Cálculos del SMI highestHigh = ta.highest(lengthK) lowestLow = ta.lowest(lengthK) highestLowestRange = highestHigh - lowestLow relativeRange = close - (highestHigh + lowestLow) / 2 smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD)) smiSignal = ta.ema(smi, lengthEMA) // Gráficos del SMI smiPlot = plot(smi, "SMI", color=color.blue) plot(smiSignal, "SMI-based EMA", color=color.orange) // Level lines hline(40, "Overbought Line", color=color.green) hline(-40, "Oversold Line", color=color.red) hline(0, "Middle Line", color=color.gray) midLinePlot = plot(0, color = na, editable = false, display = display.none) fill(smiPlot, midLinePlot, 120, 40, top_color = color.new(#4caf4f, 50), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill") fill(smiPlot, midLinePlot, -40, -120, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 50), title = "Oversold Gradient Fill") // Señales de compra y venta buySignal = ta.crossover(smi, smiSignal) // Detect crossover sellSignal = ta.crossunder(smi, smiSignal) // Detect crossover // Graficar señales de compra/venta plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="Señal de Compra") plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="Señal de Venta") // Lógica de la estrategia if (buySignal) strategy.entry("Compra", strategy.long) if (sellSignal) strategy.entry("Venta", strategy.short) // Alertas alertcondition(buySignal, title="Alerta de Compra", message="¡Señal de Compra Detectada!") alertcondition(sellSignal, title="Alerta de Venta", message="¡Señal de Venta Detectada!")