এই কৌশলটির নাম হল প্রবণতা ট্র্যাকিং কৌশল, যা এসএমএ গড় লাইন সিস্টেমের উপর ভিত্তি করে। এর মূল ধারণাটি হল বিভিন্ন প্যারামিটার দৈর্ঘ্যের এসএমএ গড় লাইন ব্যবহার করে ট্রেডিং সংকেত তৈরি করা, ব্রেকপয়েন্টগুলিতে প্রবেশ করা এবং স্টপ লস ম্যানেজমেন্টের ঝুঁকি নিয়ন্ত্রণের সাথে মিলিত হওয়া।
এই কৌশলটি দুটি এসএমএ গড় লাইন ব্যবহার করে, এসএমএ 1 এবং এসএমএ 2। এর মধ্যে, এসএমএ 1 দৈর্ঘ্য 1 এবং এসএমএ 2 দৈর্ঘ্য 3। কৌশলটি এই দুটি এসএমএ গড় লাইন গণনা করে, এসএমএ 1 এর উপরে এসএমএ 2 অতিক্রম করার সময় একটি কেনার সংকেত উত্পন্ন করে এবং এসএমএ 1 এর নীচে এসএমএ 2 অতিক্রম করার সময় একটি বিক্রয় সংকেত উত্পন্ন করে, যার ফলে দামের প্রবণতা ধরা যায়।
বিশেষত, কৌশলটি ta.crossover এবং ta.crossunder ফাংশন দ্বারা এসএমএ গড়ের বিচ্ছিন্নতার সম্পর্ক নির্ধারণ করে, যার ফলে দীর্ঘ শর্ত এবং সংক্ষিপ্ত শর্তের বুল ভেরিয়েবল তৈরি হয়। দীর্ঘ শর্তটি সত্য হলে, একটি কেনার সংকেত উত্পন্ন হয়; যখন সংক্ষিপ্ত শর্তটি সত্য হয়, একটি বিক্রয় সংকেত উত্পন্ন হয়। কৌশলটি সংকেত পয়েন্টে প্রবেশ করে এবং একই সাথে লাভের সংযোজন এবং লাভের ট্র্যাকিংয়ের জন্য profitAccumulated এবং LastTradeProfit ভেরিয়েবল আপডেট করে।
ঝুঁকি নিয়ন্ত্রণের জন্য, কৌশলটি একটি নির্দিষ্ট পয়েন্টের উপর ভিত্তি করে একটি ক্ষতির ব্যবস্থাও নির্ধারণ করে। প্রবেশের বিন্দু থেকে শুরু করে, যদি দামটি সেট করা স্টপ লস পয়েন্টে পৌঁছে যায় তবে এটি স্টপ লস পয়েন্টের প্লেইনটি ট্রিগার করবে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল এটি এসএমএ গড়ের ট্রেন্ড ট্র্যাকিং ফাংশন ব্যবহার করে কার্যকরভাবে মূল্য প্রবণতাগুলির পরিবর্তনগুলি ক্যাপচার করে। একক গড়ের কৌশলটির বিপরীতে, দ্বৈত গড়ের কৌশলটি গড়ের মধ্যে ক্রস সম্পর্ক ব্যবহার করে ট্রেন্ডের দিক নির্ধারণ করতে পারে, যার ফলে ট্রেডিং সংকেত তৈরি হয়। এছাড়াও, কৌশলটি একটি স্টপ লস মেশিন যুক্ত করে যা একক ক্ষতির কার্যকর নিয়ন্ত্রণ করতে পারে।
এই কৌশলটির প্রধান ঝুঁকি হ’ল এটি মিথ্যা সংকেত তৈরি করতে পারে। দামের ঝড়ের সময়, এসএমএ গড় লাইনগুলি প্রায়শই ক্রস হতে পারে, যার ফলে অপ্রয়োজনীয় ট্রেডিং সংকেত তৈরি হয়। এই সময়ে, যদি কোনও কার্যকর স্টপ লস না থাকে তবে বড় ক্ষতি হতে পারে।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
এসএমএ প্যারামিটারগুলিকে সামঞ্জস্য করুন এবং সর্বোত্তম গড় রেখার দৈর্ঘ্যের সমন্বয়টি সন্ধান করুন। আপনি পুনরাবৃত্তি পুনরাবৃত্তি করে সর্বোত্তম প্যারামিটারগুলি পেতে পারেন।
ফিল্টারিং শর্ত যুক্ত করুন, সমান্তরাল ক্রসপয়েন্টের কাছাকাছি দামের ব্রেকিং শর্ত সেট করুন, মিথ্যা সংকেত এড়াতে
বিভিন্ন ধরনের ক্ষতির পরীক্ষা করা যায়, যেমন চলমান ক্ষতি, একক ক্ষতি, ইত্যাদি।
পজিশন সাইজ কন্ট্রোল বাড়ানো এবং তহবিলের ব্যবহারের দক্ষতা অপ্টিমাইজ করা।
এই কৌশলটি সামগ্রিকভাবে একটি আদর্শ প্রবণতা অনুসরণ কৌশল। এটি এসএমএ গড়ের ব্রেকিং সম্পর্কের ব্যবহার করে মূল্যের প্রবণতা দিক নির্ধারণ করে এবং প্রবণতা পরিবর্তনের সময়ে প্রবেশ করে। একই সময়ে, কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য একটি স্থির স্টপ লস ফাংশন নিয়ে আসে। কৌশলটি সহজ, ব্যবহারিক এবং সহজেই বোঝা যায়, তবে এখনও গভীর পরীক্ষার এবং অপ্টিমাইজেশনের প্রয়োজন, যাতে স্থিতিশীল মুনাফা পাওয়া যায়।
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © cesarpieres72
//@version=5
strategy("Estrategia SMA y Ganancias Acumuladas con Stop Loss", shorttitle="SMA_Ganancias", overlay=true)
// Definir las variables de las medias móviles
sma1_length = input(1, title="SMA 1 Longitud")
sma2_length = input(3, title="SMA 2 Longitud")
// Calcular las medias móviles
sma1 = ta.sma(close, sma1_length)
sma2 = ta.sma(close, sma2_length)
// Condiciones para las señales de compra y venta
longCondition = ta.crossover(sma1, sma2)
shortCondition = ta.crossunder(sma1, sma2)
// Acumular las ganancias
var float profitAccumulated = 0.0
var float lastTradeProfit = na
if (longCondition)
strategy.entry("Buy", strategy.long)
lastTradeProfit := strategy.netprofit - (profitAccumulated + lastTradeProfit)
profitAccumulated := strategy.netprofit
if (shortCondition)
strategy.entry("Sell", strategy.short)
lastTradeProfit := strategy.netprofit - (profitAccumulated + lastTradeProfit)
profitAccumulated := strategy.netprofit
// Mostrar las señales en el gráfico
plot(sma1, color=color.blue, title="SMA 1")
plot(sma2, color=color.red, title="SMA 2")
// Añadir stop loss
stopLossPips = input(5000, title="Stop Loss (en pips)")
stopLossPrice = strategy.position_avg_price * (1 - stopLossPips * syminfo.mintick)
strategy.exit("SL", "Buy", stop=stopLossPrice)