এই কৌশলটি ওভারকোপড এবং ওভারসোল্ড মার্কেট শর্তাদি নির্ধারণের জন্য স্টোকাস্টিক দোলক এবং চলমান গড় (এমএ) একত্রিত করে এবং ট্রেডিং দিক নির্ধারণের জন্য চলমান গড়ের প্রবণতা দিক ব্যবহার করে। যখন স্টোকাস্টিক দোলক ওভারসোল্ড অঞ্চলে উপরে ক্রস করে এবং চলমান গড়টি একটি আপগ্রেড ট্রেন্ডে থাকে, তখন কৌশলটি একটি দীর্ঘ অবস্থান খোলে; যখন স্টোকাস্টিক দোলক ওভারকোপড অঞ্চলে নীচে ক্রস করে এবং চলমান গড়টি একটি ডাউনগ্রেড ট্রেন্ডে থাকে, তখন কৌশলটি একটি শর্ট অবস্থান খোলে। অতিরিক্তভাবে, কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য একটি স্টপ লস সেট করে।
এই কৌশলটি স্টোকাস্টিক দোলক এবং চলমান গড়কে একত্রিত করে ওভারকোপড এবং ওভারসোল্ড মার্কেট শর্তাবলী ক্যাপচার করার জন্য চলমান গড়ের প্রবণতা দিকটি ব্যবহার করে ট্রেডিং সংকেতগুলি ফিল্টার করতে এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করতে। কৌশল যুক্তিটি পরিষ্কার এবং বুঝতে এবং বাস্তবায়ন করা সহজ। তবে কৌশলটির কিছু সীমাবদ্ধতা রয়েছে, যেমন সূচক বিলম্ব এবং ঘন ঘন ট্রেডিং। অন্যান্য প্রযুক্তিগত সূচকগুলি প্রবর্তন করে, স্টপ লস পদ্ধতিগুলি অনুকূল করে, গতিশীলভাবে পরামিতিগুলি সামঞ্জস্য করে এবং অবস্থান আকার বাস্তবায়ন করে, কৌশলটির কর্মক্ষমতা এবং দৃust়তা আরও বাড়ানো যেতে পারে।
/*backtest start: 2024-04-22 00:00:00 end: 2024-04-29 00:00:00 period: 1m basePeriod: 1m 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/ // © Pablo_2uc //@version=5 strategy("Estrategia Stoch + MA c/ SL", overlay=true) // Parámetros del Estocástico length = input.int(14, title="Longitud Estocástico") smoothK = input.int(3, title="Suavizado K") smoothD = input.int(3, title="Suavizado D") oversold = input.int(20, title="Sobreventa") overbought = input.int(80, title="Sobrecompra") // Parámetros de la Media Móvil maLength = input.int(9, title="Longitud MA") maSource = input(close, title="Fuente MA") // Capital inicial capital = 500 // Tamaño de posición (10% del capital) positionSize = 1 // Stop Loss (2% del precio de entrada) stopLossPercent = input.int(2, title="Stop Loss (%)") / 100 // Cálculo del Estocástico k = ta.sma(ta.stoch(close, high, low, length), smoothK) d = ta.sma(k, smoothD) // Cálculo de la Media Móvil ma = ta.sma(maSource, maLength) // Condiciones de entrada en largo y corto longCondition = ta.crossunder(k, oversold) and ma > ma[1] shortCondition = ta.crossover(k, overbought) and ma < ma[1] // Condiciones de salida exitLongCondition = ta.crossover(k, ma) and ma < ma[1] exitShortCondition = ta.crossunder(k, ma) and ma > ma[1] // Estrategia if (longCondition) strategy.entry("Long", strategy.long, qty=positionSize) strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent)) if (shortCondition) strategy.entry("Short", strategy.short, qty=positionSize) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent)) // Cierre de posiciones if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short")