সুপারট্রেন্ড এবং ফিসার ট্রান্সফর্মের উপর ভিত্তি করে দীর্ঘমেয়াদী কৌশল অনুসরণ করে ট্রেন্ড

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-০৩ ১৫ঃ৪২ঃ১৬
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি সুপারট্রেন্ড এবং ফিশার ট্রান্সফর্ম সূচকগুলিকে দীর্ঘমেয়াদী ট্রেডিং কৌশল অনুসরণ করে একটি অপেক্ষাকৃত স্থিতিশীল প্রবণতা বাস্তবায়নের জন্য একত্রিত করে। এটি যখন সুপারট্রেন্ড সূচকটি একটি ক্রয় সংকেত দেয় এবং ফিশার ট্রান্সফর্ম সূচকটি -২.৫ এর নীচে পড়ে এবং বৃদ্ধি পায় তখন এটি ক্রয় সংকেত উত্পন্ন করে। কৌশলটি স্টপ লস এবং লাভ গ্রহণের সাথে অবস্থানগুলি সঠিকভাবে পরিচালনা করে।

কৌশলগত যুক্তি

  1. সুপারট্রেন্ড সূচকটি দামের প্রবণতার দিকনির্দেশ নির্ধারণ করতে ব্যবহৃত হয়। যখন দাম উপরের ব্যান্ডের উপরে অতিক্রম করে, এটি একটি উত্থান সংকেত; যখন দাম নীচের ব্যান্ডের নীচে অতিক্রম করে, এটি একটি হ্রাস সংকেত। এই কৌশলটি যখন সুপারট্রেন্ড উত্থান হয় তখন একটি ক্রয় সংকেত জারি করে।

  2. ফিশার ট্রান্সফর্ম সূচকটি ভোক্তাদের মনোবিজ্ঞানের উপর দামের ওঠানামা প্রভাবকে প্রতিফলিত করে। (-2.5, 2.5) এর মধ্যে ফিশারের মানগুলি একটি নিরপেক্ষ বাজারকে উপস্থাপন করে, -2.5 এর নীচে একটি আতঙ্কিত বাজারকে উপস্থাপন করে এবং 2.5 এর উপরে একটি উচ্ছ্বসিত বাজারকে উপস্থাপন করে। এই কৌশলটি ফিশার যখন -2.5 এর নীচে থাকে এবং উত্থিত হয় তখন একটি ক্রয় সংকেত জারি করে, আতঙ্ক থেকে নিরপেক্ষতার দিকে ফেরা পয়েন্টটি ক্যাপচার করতে।

  3. কৌশলটি স্টপ লস এবং লাভ গ্রহণের সাথে অবস্থানগুলি সঠিকভাবে পরিচালনা করে। স্টপ লসটি এন্ট্রি মূল্য বিয়োগ এটিআর মান দ্বারা গুণিত এটিআর গুণক দ্বারা সেট করা হয় এবং লাভটি এন্ট্রি মূল্য প্লাস এটিআর মান দ্বারা গুণিত এটিআর গুণক দ্বারা সেট করা হয়। স্টপ লসের ব্যাপ্তি লাভের ব্যাপ্তির চেয়ে বড়, ট্রেন্ড অনুসরণকারী কৌশলটির ঝুঁকি নিয়ন্ত্রণ ধারণা প্রতিফলিত করে।

  4. এটি ঝুঁকি পরিমাণ পরিচালনা বিবেচনা করে। এটিআর এবং ঝুঁকি পরিমাণের উপর ভিত্তি করে অবস্থান আকার গণনা করুন যাতে ইউনিট প্রতি ঝুঁকি নির্ধারিত ঝুঁকি পরিমাণ অতিক্রম করে না।

সুবিধা বিশ্লেষণ

  1. একাধিক সূচককে একত্রিত করা একক সূচক দ্বারা সৃষ্ট ঘন ঘন ট্রেডিং এড়ায়। সুপারট্রেন্ড প্রবণতার দিকনির্দেশ নির্ধারণ করে এবং ফিসার ট্রান্সফর্ম স্থিতিশীল ট্রেডিং সংকেত গঠনের জন্য বাজার মনোবিজ্ঞান নির্ধারণ করে।

  2. যথাযথ স্টপ লস এবং লাভ নেওয়ার ব্যবস্থা করা দীর্ঘমেয়াদী হোল্ডিংয়ের প্রবণতা ধরাতে এবং ঝুঁকি নিয়ন্ত্রণে আনতে সহায়ক।

  3. ঝুঁকি পরিমাণ ব্যবস্থাপনা এবং ন্যূনতম টিক আকার ব্যবহার করে প্রতিটি ব্যবসায়ের ঝুঁকি নিয়ন্ত্রণযোগ্য করে তোলে, সামর্থ্যের বাইরে বড় ক্ষতি এড়ানো।

  4. ট্রেডিং সিগন্যাল স্থিতিশীল এবং দীর্ঘমেয়াদী হোল্ডিংয়ের জন্য উপযুক্ত। ফিসার ট্রান্সফর্ম একটি মসৃণ সূচক, যা বাজারের গোলমাল ফিল্টার করতে এবং মিথ্যা সংকেত এড়াতে সহায়তা করে।

  5. সূচক পরামিতিগুলির জন্য বড় অপ্টিমাইজেশান স্পেস। সুপারট্রেন্ডের এটিআর সময়কাল এবং গুণক এবং ফিশারের মসৃণতা সর্বোত্তম প্যারামিটার সংমিশ্রণটি খুঁজে পেতে বিভিন্ন পণ্য এবং সময়সীমা অনুসারে সামঞ্জস্য করা যেতে পারে।

ঝুঁকি বিশ্লেষণ

  1. একটি প্রবণতা অনুসরণকারী কৌশল হিসাবে, এটি পরিসীমা সীমাবদ্ধ সময়ের মধ্যে ছোট ক্ষতির সমাগম করবে। স্পষ্ট প্রবণতা সহ পণ্য এবং সময়সীমা নির্বাচন করা উচিত।

  2. ফিশার ট্রান্সফর্ম চরম পরিস্থিতিতে কার্যকর নয়। যখন বাজার দীর্ঘ সময় ধরে এক অবস্থায় থাকে, তখন ফিশার মানগুলি নিরপেক্ষ অঞ্চল থেকে বিচ্যুত হতে থাকবে, এই ক্ষেত্রে কৌশলটি স্থগিত করা উচিত।

  3. স্টপ লস খুব কাছাকাছি থাকলে অকাল প্রস্থান হতে পারে। স্টপ লসের জন্য পর্যাপ্ত বাফার নিশ্চিত করার জন্য ATR সময়কাল এবং ATR গুণককে যুক্তিসঙ্গতভাবে সেট করা উচিত।

  4. লেনদেনের খরচ উপেক্ষা করা লাভজনক ব্যবসায়ের অর্থ হারাতে পারে। পণ্যের লেনদেনের খরচ বিবেচনা করা উচিত এবং সেই অনুযায়ী মুনাফা গ্রহণ করা উচিত।

  5. দীর্ঘমেয়াদী বাণিজ্যকে সমর্থন করার জন্য পর্যাপ্ত মূলধন নিশ্চিত করা এবং স্থিতিশীল মানসিকতা বজায় রাখা।

অপ্টিমাইজেশান নির্দেশাবলী

  1. স্টপ লস এবং লাভ নেওয়ার জন্য ATR সময়কাল, ATR গুণক সামঞ্জস্য করুন। ব্যাকটেস্টিং বা গতিশীলভাবে অপ্টিমাইজ করুন।

  2. আরো স্থিতিশীল ট্রেডিং সংকেত খুঁজে পেতে মসৃণ সময়ের মত বিভিন্ন ফিশার পরামিতি চেষ্টা করুন। বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীলভাবে সামঞ্জস্য করতে পারেন।

  3. বাজার অনিশ্চিত হলে ভুল ট্রেড এড়াতে ফিল্টার হিসাবে অন্যান্য সূচক যুক্ত করুন। এমএ, অস্থিরতা ইত্যাদি ব্যবহার করে বাজার প্রবণতা বিচার করুন।

  4. লাভজনকতা বাড়াতে বিভিন্ন মুনাফা গ্রহণের কৌশল যেমন সরানো, আংশিক, এটিআর ট্রেইলিং ইত্যাদি পরীক্ষা করুন।

  5. রিটার্ন/রিস্ক রেসিও বাড়াতে ফিক্সড ফ্রেকশনাল, কেলি ফর্মুলা ইত্যাদির মতো মূলধন পরিচালনার কৌশলগুলি অনুকূল করা।

  6. লেনদেনের খরচের জন্য অপ্টিমাইজ করুন, ছোট পজিশনের জন্য লাভজনক রাখুন।

সিদ্ধান্ত

এই কৌশলটি সুপারট্রেন্ড, ফিশার ট্রান্সফর্ম এবং অন্যান্য সূচকগুলির সুবিধাগুলিকে একীভূত করে দীর্ঘমেয়াদী ট্রেডিং কৌশল অনুসরণ করে একটি স্থিতিশীল প্রবণতা গঠন করে। স্টপ লস, লাভ গ্রহণ এবং ঝুঁকি ব্যবস্থাপনার মাধ্যমে এটি ভাল ঝুঁকি পুরষ্কার অনুপাত অর্জন করতে পারে। কৌশলটি ব্যবহারিক কর্মক্ষমতা উন্নত করতে পরামিতি, সংকেত ফিল্টারিং, মূলধন ব্যবস্থাপনা ইত্যাদিতে আরও অপ্টিমাইজেশনের প্রয়োজন। তবে সামগ্রিক যুক্তিটি শক্তিশালী এবং ব্যবহারিক যাচাইকরণ এবং ক্রমাগত অপ্টিমাইজেশনের মূল্যবান। যদি লাভ গ্রহণ এবং ঝুঁকি মানসিকতা সঠিকভাবে পরিচালনা করে তবে কৌশলটির স্থিতিশীল দীর্ঘমেয়াদী রিটার্ন অর্জনের সম্ভাবনা রয়েছে।


/*backtest
start: 2023-10-26 00:00:00
end: 2023-11-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend and Fisher_LONG", overlay=true)

//This block is for  Fisher Transformation Calculation.
len = input.int(10, minval=1, title="Length") // Length is optional. 10 is good but is up to you.
high_ = ta.highest(hl2, len)
low_ = ta.lowest(hl2, len)
round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val
value = 0.0
value := round_(.66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * nz(value[1]))
fish1 = 0.0
fish1 := .5 * math.log((1 + value) / (1 - value)) + .5 * nz(fish1[1])
fish2 = fish1[1]

// Buy condition for Fisher transformation.
buy_signal = (fish1 < -2.5) and (fish1 > fish2)
durum = 0 //just for the situation.

if (buy_signal)
    durum := 1 // now it changes from 0 to 1.

// Supertrend indicator inputs and calculations (same as in the indicator)
Periods = input(title='ATR Period', defval=10) // period is 10, but you can change it
src = input(hl2, title='Source')
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=2) //atr multiplier is important. it is 2 for this strategy but you can find another for best performance 
RiskAmount = input.float(title='Risk Amount ($)', defval=10.0, minval=0.0, step=1.0) // ıf you use risk-reward method, risk is 10$ for each position. you can also change it
changeATR = input(title='Change ATR Calculation Method ?', defval=true)

atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

// Calculate position size based on risk amount
riskPerContract = atr * Multiplier
contracts = RiskAmount / (riskPerContract * syminfo.mintick)

//short signal condition
buySignal = trend == 1 and trend[1] == -1 and durum == 1

plotshape(buySignal, title='Buy Signal', location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// variables
var float entryPrice = na
var float stopLoss = na
var float takeProfit = na
var float atr1 = na
var float takeProfit2 = na
var float takeProfit3 = na

//it calculates the stop level and reward profit levels using atr.
if (buySignal)
    entryPrice := close
    atr1 := atr
    stopLoss := entryPrice - atr1 * Multiplier
    contracts := entryPrice / (entryPrice - stopLoss) * RiskAmount / entryPrice
    takeProfit := entryPrice + atr1 * Multiplier
    takeProfit2 := entryPrice + 2 * atr1 * Multiplier
    takeProfit3 := entryPrice + 3 * atr1 * Multiplier

if (buySignal)
    strategy.entry("Buy", strategy.long, qty=contracts)

// 
if (close <= stopLoss)
    strategy.close("Buy", comment="Stop Loss Hit")
else if (close >= takeProfit)
    strategy.close("Buy", comment="Take Profit Hit")

// draw the stop, entry and profit levels
plot(stopLoss, title="Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(entryPrice, title="Entry Price", color=color.orange, linewidth=1, style=plot.style_linebr)
plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)
plot(takeProfit2, title="Take Profit 2", color=color.blue, linewidth=1, style=plot.style_linebr)
plot(takeProfit3, title="Take Profit 3", color=color.purple, linewidth=1, style=plot.style_linebr)


আরো