অস্থিরতা প্রবণতা ট্র্যাকিং কৌশলের উপর ভিত্তি করে


সৃষ্টির তারিখ: 2024-02-18 10:07:29 অবশেষে সংশোধন করুন: 2024-02-18 10:07:29
অনুলিপি: 0 ক্লিকের সংখ্যা: 538
1
ফোকাস
1617
অনুসারী

অস্থিরতা প্রবণতা ট্র্যাকিং কৌশলের উপর ভিত্তি করে

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি WaveTrend সূচক ব্যবহার করে দামের প্রবণতার দিক নির্ণয় করে। WaveTrend সূচকটি রেইনবো সূচকের উপর ভিত্তি করে উন্নত করা হয়েছে, যা হেইকিন-আশি গড় এবং মূল্যের পরম মানের মধ্যে পার্থক্য গণনা করে দামের প্রবণতার দিক নির্ণয় করে। RSI সূচকের সাথে সংযুক্ত হয়ে ওভারবোর ওভারসোলের ক্ষেত্রে একটি লেনদেনের সংকেত প্রেরণ করে।

এই কৌশলটির WaveTrend ফর্মুলা হলঃ

esa = ema(hlc3, 10) 
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
wt = ema(ci, 21)

এর মধ্যে, esa হ’ল হিসাব করা হেইকিন-আশি গড়, এবং d হ’ল হেইকিন-আশি গড় এবং মূল্যের পরম মানের পার্থক্যের গড়। c কি বলা হয় অভিযোজনযোগ্যতা ব্যাপ্তি, মূল্যের ওঠানামার শক্তিকে প্রতিফলিত করে। wt হ’ল c এর গড়, দামের প্রবণতার দিকনির্দেশের মূল সূচক।

আরএসআই সূচকটি ওভারবয় ওভারসোলের বিচার করার জন্য ব্যবহৃত হয়। কোডে আরএসআই এর গণনা সূত্রটি হলঃ

rsiup = rma(max(change(close), 0), 14) 
rsidown = rma(-min(change(close), 0), 14) 
rsi = rsidown == 0 ? 100 : rsiup == 0 ? 0 : 100 - (100 / (1 + rsiup / rsidown))

এর মান মান 0-100। 70 এর বেশি হল ওভার কিনে নেওয়া এলাকা এবং 30 এর কম হল ওভার বিক্রি করা এলাকা।

এই দুটি সূচককে একত্রিত করে, যখন আরএসআই 25 এর নীচে থাকে, ওয়েভট্রেন্ড 60 এর নীচে থাকে, তখন ওভারসোল অঞ্চল, একটি পল সংকেত; যখন আরএসআই 75 এর উপরে থাকে, তখন ওয়েভট্রেন্ড 60 এর উপরে থাকে, তখন ওভারসোল অঞ্চল, একটি শূন্য সংকেত।

সামর্থ্য বিশ্লেষণ

এই কৌশলটির সুবিধাগুলো হলঃ

  1. WaveTrend সূচক ব্যবহার করে দামের প্রবণতা সঠিকভাবে এবং নির্ভরযোগ্যভাবে নির্ধারণ করা যায়।
  2. আরএসআই ফিল্টার অপ্রয়োজনীয় ট্রেডিং এড়াতে সাহায্য করে এবং বিজয়ী হার বাড়ায়।
  3. ট্রেন্ড ট্র্যাকিং পদ্ধতি ব্যবহার করে, আপনি দামের প্রবণতা থেকে সর্বাধিক মুনাফা অর্জন করতে পারেন।
  4. কৌশলগুলি পরিষ্কার এবং সহজেই বোঝা যায়, প্যারামিটারগুলি নমনীয়ভাবে সেট করা হয় এবং বিভিন্ন জাত এবং বাজারের সাথে সামঞ্জস্য করা যায়।
  5. কৌশল বাস্তবায়ন সহজ, সহজেই রিয়েল-টাইমে যাচাই করা যায়, ফ্রেমওয়ার্ক অপ্টিমাইজেশনের জন্য সুবিধাজনক।

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

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. WaveTrend এবং RSI সূচক উভয়ই কিছুটা পিছিয়ে রয়েছে এবং দামের বিপরীত দিকটি মিস করতে পারে।
  2. ফিল্টারিংয়ের পরেও, ভূমিকম্পের সময় ভুল সংকেত হতে পারে।
  3. ট্র্যাকিং স্টপ লস কৌশলটি উন্নত করা হয়নি এবং একক ক্ষতি কার্যকরভাবে নিয়ন্ত্রণ করা যায়নি।
  4. প্যারামিটার সেটিংটি সঠিকভাবে জাতের বৈশিষ্ট্য এবং ট্রেডিং ফ্রিকোয়েন্সির সাথে মেলে।

প্রতিকারঃ

  1. সংকেত সঠিকতা উন্নত করার জন্য অতিরিক্ত বিচার সূচকগুলির সাথে সংযুক্ত।
  2. স্টপ লস কৌশল অবলম্বন করুন এবং একক ক্ষতি নিয়ন্ত্রণ করুন।
  3. বাজারের বিভিন্ন জাতের জন্য সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন এবং কৌশলগুলিকে সামঞ্জস্য করুন।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. Judgment Indicator প্রতিস্থাপন বা Judgment Indicator যুক্ত করুন, সিগন্যালের নির্ভুলতা অপ্টিমাইজ করুন। যেমন MACD, KD ইত্যাদির মতো বিচার সূচক যুক্ত করুন।

  2. বিভিন্ন ধরণের লেনদেনের জন্য প্যারামিটার সেটিং অপ্টিমাইজ করুন। যেমন, মসৃণ চক্রের সমন্বয়, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন।

  3. ট্র্যাকিং স্টপ-লস কৌশল যোগ করুন এবং একক ক্ষতির কার্যকরভাবে নিয়ন্ত্রণ করুন। যেমন ব্যালেন্স শতাংশ বন্ধ, চলমান বন্ধ ইত্যাদি।

  4. বিভিন্ন ধরণের আমানতের কৌশল বিবেচনা করুন। উদাহরণস্বরূপ, মার্টিনগেল আমানতের পরিবর্তে নির্দিষ্ট পরিমাণে আমানত নেওয়া।

  5. অনুকূলিতকরণ অনুকূলিতকরণ পরিসীমা প্যারামিটার, বিচার সঠিকতা উন্নত করার জন্য সর্বোত্তম প্যারামিটার খুঁজুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's WaveTrender Strategy v1.0", shorttitle = "WaveTrender str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(false, defval = false, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
showarr = input(true, defval = true, title = "Show Arrows")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//RSI
rsiup = rma(max(change(close), 0), 14)
rsidown = rma(-min(change(close), 0), 14)
rsi = rsidown == 0 ? 100 : rsiup == 0 ? 0 : 100 - (100 / (1 + rsiup / rsidown))

//WaveTrend
esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
wt = ema(ci, 21)

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
overs = rsi < 25 and wt < -60
overb = rsi > 75 and wt > 60
up1 = (strategy.position_size == 0 or close < strategy.position_avg_price) and overs and bar == -1
dn1 = (strategy.position_size == 0 or close > strategy.position_avg_price) and overb and bar == 1
exit = (strategy.position_size > 0 and overs == false) or (strategy.position_size < 0 and overb == false)

//Arrows
col = exit ? black : up1 or dn1 ? blue : na
needup = up1
needdn = dn1
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn1
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if exit
    strategy.close_all()