
এই কৌশলটি এটিআর চ্যানেল এবং ব্রেকথ্রু তত্ত্ব ব্যবহার করে, চ্যানেলটি ভেঙে যাওয়ার সময় ট্রেন্ডে প্রবেশ করে, এটি একটি ট্রেন্ড ট্র্যাকিং কৌশল। কৌশলটি সহজ এবং সহজেই বোঝা যায়, সমান্তরাল চ্যানেল এবং এটিআর সূচক ব্যবহার করে প্রবণতার দিক নির্ধারণ করে এবং মূল পয়েন্টে ট্রেডিং সংকেত প্রেরণ করে।
এই কৌশলটি উচ্চ, নিম্ন, বন্ধের দাম এবং এটিআর সূচকগুলি ব্যবহার করে এটিআর চ্যানেল তৈরি করে। এটিআর প্যারামিটারগুলির আকারের উপর চ্যানেলের প্রস্থ নির্ভর করে। যখন দাম চ্যানেলটি ভেঙে যায়, তখন এটি ট্রেন্ড হিসাবে শুরু হয়, তখন এটি একটি লাভ বা ক্ষতির দিকে যায়। কৌশলটি দুটি ট্রেডিং সিগন্যালের মধ্যে বিভক্ত, যখন দামটি একটি এটিআর প্রস্থকে ট্রেন্ডের শুরু হিসাবে দেখায়, তখন প্রথমটি কেনা-বেচা পয়েন্টটি ট্রিগার করা হয়; যখন দামটি দুটি এটিআর প্রস্থকে ট্রেন্ডের ত্বরণ হিসাবে দেখায়, দ্বিতীয়টি কেনা-বেচা পয়েন্টটি ট্রিগার করা হয়।
এই কৌশলটির প্রধান সুবিধাগুলো হলঃ
এই কৌশলটির প্রধান ঝুঁকিগুলো হলঃ
এই কৌশলটি নিম্নলিখিত উপায়ে উন্নত করা যেতে পারেঃ
এই কৌশলটির সামগ্রিক কাঠামোটি পরিষ্কার এবং একটি ধারণা যাচাইকরণ কৌশল হিসাবে ব্যবহার করা যেতে পারে। তবে স্থল থেকে কিছুটা দূরত্ব রয়েছে এবং আরও বেশি অপ্টিমাইজেশনের জায়গা রয়েছে। যদি বায়ু নিয়ন্ত্রণ এবং লেনদেনের ফ্রিকোয়েন্সি নিয়ন্ত্রণ আরও উন্নত করা যায় তবে এই কৌশলটি প্রয়োগের সম্ভাবনা ভাল।
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
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/
// © Myhaj_Lito
//@version=5
strategy("Renko Trend Strategy",shorttitle = "RENKO-Trend str.",overlay = true)
TF = input.timeframe(title='TimeFrame', defval="60")
ATRlength = input.int(title="ATR length", defval=60, minval=2, maxval=1000)
HIGH = request.security(syminfo.tickerid, TF, high)
LOW = request.security(syminfo.tickerid, TF, low)
CLOSE = request.security(syminfo.tickerid, TF, close)
ATR = request.security(syminfo.tickerid, TF, ta.atr(ATRlength))
RENKOUP = float(na)
RENKODN = float(na)
H = float(na)
COLOR = color(na)
BUY = int(na)
SELL = int(na)
UP = bool(na)
DN = bool(na)
CHANGE = bool(na)
RENKOUP := na(RENKOUP[1]) ? (HIGH + LOW) / 2 + ATR / 2 : RENKOUP[1]
RENKODN := na(RENKOUP[1]) ? (HIGH + LOW) / 2 - ATR / 2 : RENKODN[1]
H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP - RENKODN : RENKOUP[1] - RENKODN[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false
CHANGE := false
// calculating
if not CHANGE and close >= RENKOUP[1] + H * 2
CHANGE := true
UP := true
RENKOUP := RENKOUP[1] + ATR * 2
RENKODN := RENKOUP[1] + ATR
COLOR := color.rgb(0, 255, 170,60)
SELL := 0
BUY += 2
BUY
if not CHANGE and close >= RENKOUP[1] + H
CHANGE := true
UP := true
RENKOUP := RENKOUP[1] + ATR
RENKODN := RENKOUP[1]
COLOR := color.rgb(0, 230, 38,60)
SELL := 0
BUY += 1
BUY
if not CHANGE and close <= RENKODN[1] - H * 2
CHANGE := true
DN := true
RENKODN := RENKODN[1] - ATR * 2
RENKOUP := RENKODN[1] - ATR
COLOR := color.rgb(255, 92, 43,60)
BUY := 0
SELL += 2
SELL
if not CHANGE and close <= RENKODN[1] - H
CHANGE := true
DN := true
RENKODN := RENKODN[1] - ATR
RENKOUP := RENKODN[1]
COLOR := color.rgb(245, 69, 69,60)
BUY := 0
SELL += 1
SELL
//// STRATEGY
if(UP)
strategy.entry("Long",strategy.long)
if(DN)
strategy.entry("Short",strategy.short)
// ploting
bgcolor(COLOR)