গ্র্যাডিয়েন্ট ট্রেইলিং স্টপ লস কৌশলটি ঝুঁকি নিয়ন্ত্রণ এবং মুনাফা গ্রহণের ভারসাম্য বজায় রাখতে স্টপ লস লাইনকে গতিশীলভাবে সামঞ্জস্য করে। এটি স্টপ লস লাইন গণনা করতে গড় সত্য পরিসীমা (এটিআর) ব্যবহার করে এবং কার্যকরভাবে মূল্য প্রবণতা ট্র্যাক করে, অপ্রয়োজনীয় স্টপ আউট হ্রাস করার সময় মুনাফা রক্ষা করে। এই কৌশলটি শক্তিশালী প্রবণতা সহ স্টকগুলির জন্য ভাল কাজ করে এবং স্থিতিশীল রিটার্ন তৈরি করতে পারে।
কৌশলটি গতিশীল স্টপ লসের ভিত্তি হিসাবে গড় সত্য পরিসীমা (এটিআর) ব্যবহার করে। এটিআর কার্যকরভাবে একটি স্টক এর অস্থিরতা প্রতিফলিত করে। কৌশলটি প্রথমে এটিআর সময়কালকে ইনপুট হিসাবে নেয়, সাধারণত 10 দিন। তারপরে এটিআর মান গণনা করা হয়। দাম বাড়ার সাথে সাথে স্টপ লস লাইনটিও দামের পিছনে যাওয়ার জন্য উপরে চলে যায়। যখন দাম কমে যায়, লাভ লক করার জন্য স্টপ লস লাইন অপরিবর্তিত থাকে। এছাড়াও, কৌশলটি
বিশেষত, কৌশলটি বর্তমান এটিআর গণনা করে, তারপরে এটি
গ্র্যাডিয়েন্ট ট্রেইলিং স্টপ লস কৌশলটি স্টপ লস দূরত্বকে গতিশীলভাবে সামঞ্জস্য করে ঝুঁকি এবং লাভকে কার্যকরভাবে ভারসাম্য করে। সহজ যুক্তি এবং উচ্চ কনফিগারযোগ্যতার সাথে এটি অ্যালগরিদমিক ব্যবসায়ের জন্য উপযুক্ত। সঠিক পরামিতি টিউনিং এবং সূচক সংমিশ্রণগুলি এখনও মানুষের দক্ষতার উপর নির্ভর করে। আরও অপ্টিমাইজেশন এই কৌশলটিকে আরও লাভজনক করতে পারে।
/*backtest start: 2023-10-17 00:00:00 end: 2023-10-24 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy, by Ho.J.", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15) // 백테스팅 시작일과 종료일 입력 startYear = input(2020, title="Start Year") startMonth = input(1, title="Start Month") startDay = input(1, title="Start Day") endYear = input(9999, title="End Year") endMonth = input(12, title="End Month") endDay = input(31, title="End Day") // 백테스팅 시간 범위 확인 backtestingTimeBool = (year >= startYear and month >= startMonth and dayofmonth >= startDay) and (year <= endYear and month <= endMonth and dayofmonth <= endDay) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) var bool longCondition = false var bool shortCondition = false if backtestingTimeBool prevDirection = direction[1] if direction < 0 longCondition := false shortCondition := true else if direction > 0 longCondition := true shortCondition := false if longCondition strategy.entry("My Long Entry Id", strategy.long) if shortCondition strategy.entry("My Short Entry Id", strategy.short) plot(strategy.equity, title="equity", color=color.rgb(255, 255, 255), linewidth=2, style=plot.style_area)