
এই কৌশলটি একটি স্বয়ংক্রিয় ট্রেডিং সিস্টেম যা একটি সরল চলমান গড় (এসএমএ) ক্রস উপর ভিত্তি করে এবং একটি গতিশীল স্টপ ও লস মেশিনের সাথে মিলিত হয়। এটি দুটি ভিন্ন পিরিয়ডের এসএমএ ব্যবহার করে এবং তাদের ক্রস দ্বারা ক্রয় এবং বিক্রয় সংকেত তৈরি করে। একই সাথে, কৌশলটি ঝুঁকি নিয়ন্ত্রণ এবং মুনাফা লক করার জন্য শতাংশ ভিত্তিক স্টপ এবং লস স্তর সেট করে।
এই ডাবল ইকুইভারি ক্রস-ভিত্তিক ট্রেডিং কৌশলটি একটি সহজ এবং কার্যকর কাঠামো সরবরাহ করে যা স্বয়ংক্রিয় ট্রেডিংয়ের জন্য নতুনদের জন্য উপযুক্ত। এটি প্রবণতা ট্র্যাকিং এবং ঝুঁকি ব্যবস্থাপনার উপাদানগুলিকে একত্রিত করে, গতিশীলভাবে স্টপ লস সেট করে তহবিলকে সুরক্ষিত করে। তবে, বাস্তব ট্রেডিংয়ে আরও ভাল প্রভাব অর্জনের জন্য আরও অপ্টিমাইজেশন এবং পরিমার্জন প্রয়োজন। ফিল্টার হিসাবে আরও প্রযুক্তিগত সূচক যুক্ত করা, স্টপ লস সেট করার পদ্ধতিগুলি অনুকূলিত করা এবং আরও জটিল অবস্থান পরিচালনার কৌশল প্রবর্তন করা বিবেচনা করা যেতে পারে।
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-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/
// © Pubgentleman
//@version=5
//@version=5
strategy("TSLA 1-Hour SMA Crossover Strategy with Buy/Sell Signals", overlay=true)
// Parameters
shortSmaLength = input.int(50, title="Short SMA Length")
longSmaLength = input.int(100, title="Long SMA Length")
takeProfitPerc = input.float(5.0, title="Take Profit Percentage", step=0.1) // 5.0% take profit
stopLossPerc = input.float(3.0, title="Stop Loss Percentage", step=0.1) // 3.0% stop loss
// Calculate SMAs
shortSma = ta.sma(close, shortSmaLength)
longSma = ta.sma(close, longSmaLength)
// Plot SMAs
plot(shortSma, color=color.blue, title="Short SMA")
plot(longSma, color=color.red, title="Long SMA")
// Entry Conditions
longCondition = ta.crossover(shortSma, longSma)
shortCondition = ta.crossunder(shortSma, longSma)
// Trade Management
var float entryPrice = na
var float takeProfitLevel = na
var float stopLossLevel = na
if (longCondition)
entryPrice := close
takeProfitLevel := entryPrice * (1 + takeProfitPerc / 100)
stopLossLevel := entryPrice * (1 - stopLossPerc / 100)
strategy.entry("Long", strategy.long)
label.new(x=bar_index, y=low, text="Buy", style=label.style_label_up, color=color.green, textcolor=color.white)
if (shortCondition)
entryPrice := close
takeProfitLevel := entryPrice * (1 - takeProfitPerc / 100)
stopLossLevel := entryPrice * (1 + stopLossPerc / 100)
strategy.entry("Short", strategy.short)
label.new(x=bar_index, y=high, text="Sell", style=label.style_label_down, color=color.red, textcolor=color.white)
// Exit Conditions
if (strategy.position_size > 0)
if (close >= takeProfitLevel or close <= stopLossLevel)
strategy.close("Long")
if (strategy.position_size < 0)
if (close <= takeProfitLevel or close >= stopLossLevel)
strategy.close("Short")
// Plot Take Profit and Stop Loss Levels
plot(strategy.position_size > 0 ? takeProfitLevel : na, title="Take Profit Level", color=color.green, style=plot.style_stepline)
plot(strategy.position_size > 0 ? stopLossLevel : na, title="Stop Loss Level", color=color.red, style=plot.style_stepline)
plot(strategy.position_size < 0 ? takeProfitLevel : na, title="Take Profit Level (Short)", color=color.green, style=plot.style_stepline)
plot(strategy.position_size < 0 ? stopLossLevel : na, title="Stop Loss Level (Short)", color=color.red, style=plot.style_stepline)