
এই কৌশলটি একটি গ্রিড ট্রেডিং কৌশল যা মূল্য হ্রাসের উপর ভিত্তি করে অবস্থান বৃদ্ধি করে এবং একটি নির্দিষ্ট লাভের লক্ষ্যে পৌঁছালে অবস্থানগুলি বন্ধ করে দেয়। কৌশলটির মূল যুক্তি হল যখন বাজার একটি পূর্বনির্ধারিত পরিসরে পড়ে তখন কেনা, মূল্য লক্ষ্য মুনাফায় পৌঁছানোর জন্য সামগ্রিকভাবে অবস্থান বন্ধ করে দেওয়া এবং ক্রমাগত এই প্রক্রিয়াটি পুনরাবৃত্তি করে মুনাফা অর্জন করা। এই কৌশলটি অস্থির বাজারে স্বল্প-মেয়াদী রিবাউন্ড সুযোগগুলি ক্যাপচার করার জন্য বিশেষভাবে উপযুক্ত।
কৌশলটি গ্রিড ট্রেডিং এবং দিকনির্দেশক লাভ-লাভের একটি যৌগিক প্রক্রিয়া ব্যবহার করে:
এটি একটি সহজ কিন্তু ব্যবহারিক কাঠামোর সাথে একটি গ্রিড ট্রেডিং কৌশল এটি প্রিসেট ডিক্লাইন রেঞ্জের উপর ভিত্তি করে পজিশন তৈরি করে এবং লক্ষ্য মুনাফায় পৌঁছে গেলে একইভাবে অবস্থানগুলি বন্ধ করে দেয়। কৌশলটির মূল সুবিধাটি এর বাস্তবায়নের নিশ্চিততা এবং ঝুঁকির বৈচিত্র্যের মধ্যে নিহিত, তবে এটি ব্যবহার করার সময়, বাজারের পরিবেশ নির্বাচন এবং পরামিতিগুলির অপ্টিমাইজেশনের দিকে মনোযোগ দেওয়া দরকার। গতিশীল স্টপ লস যোগ করে এবং পজিশন ম্যানেজমেন্টের উন্নতি করে, কৌশলটিতে এখনও অপ্টিমাইজেশনের জন্য অনেক জায়গা রয়েছে। বাস্তব ব্যবসায় এটি ব্যবহার করার সময়, প্রথমে পর্যাপ্ত ব্যাকটেস্টিং পরিচালনা করার এবং প্রকৃত বাজারের অবস্থার উপর ভিত্তি করে প্যারামিটার সমন্বয় করার পরামর্শ দেওয়া হয়।
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Buy Down 5%, Sell at 5% Profit", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)
// Inputs
initial_date = input(timestamp("2024-01-01 00:00:00"), title="Initial Purchase Date")
profit_target = input.float(5.0, title="Profit Target (%)", minval=0.1) // Target profit percentage
rebuy_drop = input.float(5.0, title="Rebuy Drop (%)", minval=0.1) // Drop percentage to rebuy
// Variables
var float initial_price = na // Initial purchase price
var int entries = 0 // Count of entries
var float total_profit = 0 // Cumulative profit
var bool active_trade = false // Whether an active trade exists
// Entry Condition: Buy on or after the initial date
if not active_trade
initial_price := close
strategy.entry("Buy", strategy.long)
entries += 1
active_trade := true
// Rebuy Condition: Buy if price drops 5% or more from the initial price
rebuy_price = initial_price * (1 - rebuy_drop / 100)
if active_trade and close <= rebuy_price
strategy.entry("Rebuy", strategy.long)
entries += 1
// Exit Condition: Sell if the price gives a 5% profit on the initial investment
target_price = initial_price * (1 + profit_target / 100)
if active_trade and close >= target_price
strategy.close_all(comment="Profit Target Hit")
active_trade := false
total_profit += profit_target
// Display information on the chart
plotshape(series=close >= target_price, title="Target Hit", style=shape.labelup, location=location.absolute, color=color.green, text="Sell")
plotshape(series=close <= rebuy_price, title="Rebuy", style=shape.labeldown, location=location.absolute, color=color.red, text="Rebuy")
// Draw statistics on the chart
var label stats_label = na
if (na(stats_label))
stats_label := label.new(x=bar_index, y=close, text="", style=label.style_none, size=size.small)
label.set_xy(stats_label, bar_index, close)
label.set_text(stats_label, "Entries: " + str.tostring(entries) + "\nTotal Profit: " + str.tostring(total_profit, "#.##") + "%")