ট্রেন্ড ক্যাচার কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-04-26 11:48:28
ট্যাগঃএমএএসএমএ

img

সারসংক্ষেপ

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

কৌশল নীতি

  1. একটি নির্দিষ্ট ব্যাপ্তির মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্যের মধ্যে পার্থক্য গণনা করুন, সেইসাথে সেই ব্যাপ্তির সমস্ত মোমবাতিগুলির দৈর্ঘ্যের যোগফল।
  2. পার্থক্যটি মোমবাতি দৈর্ঘ্যের যোগফল দ্বারা ভাগ করুন এবং সীমা নামে একটি শতাংশ মান পেতে 100 দ্বারা গুণ করুন।
  3. যখন সীমা নির্ধারিত মান অতিক্রম করে এবং চলমান গড় বৃদ্ধি পাচ্ছে, তখন একটি দীর্ঘ অবস্থান খুলুন; যখন সীমা নির্ধারিত মান অতিক্রম করে এবং চলমান গড় হ্রাস পাচ্ছে, তখন একটি শর্ট অবস্থান খুলুন।
  4. একটি পজিশন খোলার পর, যখন মূল্য লাভের স্তরে পৌঁছায় তখন পজিশনের একটি অংশ বন্ধ করুন এবং অবশিষ্ট পজিশনটি স্টপ লস স্তরে সরান।
  5. যখন চলমান গড় নিম্নমুখী হয়, তখন লং পজিশন বন্ধ করুন; যখন চলমান গড় উপরে যায়, তখন শর্ট পজিশন বন্ধ করুন।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

  1. এই কৌশলটি ট্রেন্ডের শুরুতে পজিশন খুলে দেয়। যদি ট্রেন্ডটি বজায় রাখা না যায় তবে এটি ক্ষতির কারণ হতে পারে।
  2. কৌশলটি স্থির লাভ এবং স্টপ লস স্তর ব্যবহার করে, যা কিছু ক্ষেত্রে যথেষ্ট নমনীয় নাও হতে পারে।
  3. কৌশলটি কেবল প্রবণতা নির্ধারণের জন্য চলমান গড় ব্যবহার করে, যা কিছু প্রবণতা সুযোগ মিস করতে পারে।

কৌশল অপ্টিমাইজেশান দিক

  1. ট্রেন্ড নির্ধারণে এবং খোলার পজিশনের নির্ভুলতা উন্নত করতে MACD এবং RSI এর মতো অন্যান্য সূচক ব্যবহার করার কথা বিবেচনা করুন।
  2. বাজারের অস্থিরতার উপর ভিত্তি করে লাভ এবং স্টপ লস স্তরগুলিকে গতিশীলভাবে সামঞ্জস্য করুন যাতে ঝুঁকি আরও ভালভাবে নিয়ন্ত্রণ করা যায়।
  3. ট্রেন্ডের শুরুতে ঝুঁকি কমাতে ট্রেন্ডটি নিশ্চিত হওয়ার পরেই পজিশন খোলার কথা বিবেচনা করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro

//@version=5
strategy("Trend Catcher Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
len = input.int(10)
tp = input.float(2.5, step = 0.1)
sl = input.float(2.5, step = 0.1)
malen = input.int(5)
limit = input.int(50)
ma = ta.sma(close,malen)
sum = 0.0
for i = 0 to len-1
    sum := sum + high[i]-low[i]
frs = 100*(ta.highest(high,len)-ta.lowest(low,len))/sum
//hline(50)
//plot(frs, color = color.white)
l = ta.crossover(frs,limit) and ma>ma[1]
s = ta.crossover(frs,limit) and ma<ma[1]
cl = ma<ma[1]
cs = ma>ma[1]
qty_balance=input.int(50, maxval = 100)
if (l)
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("exit long", "My Long Entry Id", qty_percent = qty_balance, limit = close*(100+tp)/100, stop = close*(100-sl)/100)

if (s)
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("exit short", "My Short Entry Id", qty_percent = qty_balance, limit = close*(100-tp)/100, stop = close*(100+sl)/100)

if (cl)
    strategy.close("My Long Entry Id")
if (cs)
    strategy.close("My Short Entry Id")

l:= l and strategy.opentrades<1
s:= s and strategy.opentrades<1
transp = strategy.opentrades>0? 0 : 100
pma=plot(ma, color = ma<ma[1]? color.rgb(255, 82, 82, transp) : color.rgb(76, 175, 79, transp))
price = open/2+close/2
pprice = plot(price, display = display.none)
fill(pma,pprice, color = ma<ma[1]? color.rgb(255, 82, 82, transp+90) : color.rgb(76, 175, 79, transp+90))

spm=plot(ta.valuewhen(s,close,0), color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.white : color.rgb(1,1,1,100), offset=1)
lpm=plot(ta.valuewhen(l,close,0), color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.white : color.rgb(1,1,1,100), offset=1)

ltp=plot(ta.valuewhen(l,close,0)*(100+ta.valuewhen(l,tp,0))/100,  color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
lsl=plot(ta.valuewhen(l,close,0)*(100-ta.valuewhen(l,sl,0))/100,  color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.red : color.rgb(1,1,1,100), offset=1)

stp=plot(ta.valuewhen(s,close,0)*(100-ta.valuewhen(s,tp,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
ssl=plot(ta.valuewhen(s,close,0)*(100+ta.valuewhen(s,sl,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.red : color.rgb(1,1,1,100), offset=1)
fill(stp,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(ssl,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))
fill(ltp,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(lsl,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))

সম্পর্কিত

আরো