তরঙ্গ ট্র্যাকিং কৌশল উন্নত করুন


সৃষ্টির তারিখ: 2024-01-31 15:35:41 অবশেষে সংশোধন করুন: 2024-01-31 15:35:41
অনুলিপি: 0 ক্লিকের সংখ্যা: 669
1
ফোকাস
1617
অনুসারী

তরঙ্গ ট্র্যাকিং কৌশল উন্নত করুন

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

নীতিমালাঃ

  1. গড় মূল্য গণনা করুন ap = ((সর্বোচ্চ মূল্য + সর্বনিম্ন মূল্য + বন্ধ মূল্য) / 3

  2. n1 চক্রের জন্য ap এর EMA গণনা করা, যা পাওয়া যায়

  3. n1 পিরিয়ডের ইএমএ গণনা করুন যা ap এবং esa এর পরোক্ষ পার্থক্যের সাথে মিলিত হয় এবং d পাওয়া যায়

  4. তরঙ্গরেখার গণনাঃ ci={ap-esa}/{0.015}*d)

  5. n2 পর্যায়ের সিআই এর ইএমএ গণনা করে, চূড়ান্ত তরঙ্গরেখার টিসিআই, অর্থাৎ wt1 পাওয়া যায়

  6. wt1 এর 4 পিরিয়ডের এসএমএ গণনা করে, wt2 পাওয়া যায়

  7. ওভারবই এবং ওভারসেল এলাকার obLevel1/2 এবং osLevel1/2 এর জন্য একটি অনুভূমিক রেখা আঁকুন

  8. ওবি লেভেল ২ লাইন অতিক্রম করে যখন ওটি 1 ক্রয় সংকেত উত্পন্ন করে; ওএস লেভেল ২ লাইন অতিক্রম করে যখন ওটি 1 বিক্রয় সংকেত উত্পন্ন করে

  9. মিডলাইন emaFilter এবং ট্রানজেকশন ভলিউম ফিল্টার যুক্ত করুন ফিল্টারিং শর্ত হিসাবে, ভুল সংকেত এড়াতে

  10. প্রবেশের পরে স্টপ-অফ স্টপ লস অনুপাত সেট করুন, একটি অবস্থান থেকে প্রস্থান করুন

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

  1. তরঙ্গরেখাগুলি পলিফোসিয়াম রূপান্তরকে আরও ভালভাবে পরিচালনা করে, যা প্রবণতাকে কার্যকরভাবে ক্যাপচার করে

  2. সমান্তরাল এবং ডাবল-ফিল্টারিং, উচ্চ নির্ভরযোগ্যতা

  3. একক সূচকের সীমাবদ্ধতা এড়াতে একাধিক প্যারামিটার গণনা ব্যবহার করুন

  4. স্টপ লস সেট করুন, আংশিক মুনাফা লক করুন এবং ঝুঁকি নিয়ন্ত্রণ করুন

ঝুঁকি এবং ত্রুটিঃ

  1. প্যারামিটার নির্বাচন কিছু ক্ষেত্রে দুর্বল পারফরম্যান্স বা overfitting হতে পারে

  2. অনুকূল প্যারামিটার নির্বাচন সম্পর্কে কোন সুস্পষ্ট নির্দেশনা নেই, চেষ্টা এবং ত্রুটি প্রয়োজন

  3. সিগন্যালের মধ্যে বিস্তৃত বাজার পরিস্থিতি অন্তর্ভুক্ত করা হয়নি

  4. সীমিত পরিসরে বা অস্থির বাজারে ব্যবহারের ক্ষেত্রে ফায়ারফক্সের ঝুঁকি রয়েছে

  5. মুনাফা/ক্ষতি ব্যতীত কোন প্রস্থান নিয়ম নেই

অনুকূলিতকরণঃ

  1. বিভিন্ন সময় ফ্রেম এবং সম্পদ উপর পরামিতি সেট পরীক্ষা সর্বোত্তম মান খুঁজে পেতে

  2. কম অস্থিরতার সময়ে সংকেত এড়াতে অস্থিরতার সূচকগুলির সাথে মিলিত

  3. সংকেতের নির্ভুলতা বাড়ানোর জন্য RSI এর মতো অতিরিক্ত সূচক যুক্ত করা হয়েছে

  4. একটি মেশিন লার্নিং মডেল তৈরি করা যা একটি নির্দিষ্ট সম্পদের জন্য সর্বোত্তম প্যারামিটার খুঁজে পায়

  5. ট্র্যাকিং স্টপডাউন যোগ করে বা আকস্মিক অস্থিরতা সম্প্রসারণ ইভেন্টের উপর ভিত্তি করে প্রস্থান করে প্রস্থানকে শক্তিশালী করুন

সংক্ষিপ্ত বিবরণঃ

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

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

//@version=5
strategy("Bush Strategy test", shorttitle="Nique Audi", overlay=false)

// Paramètres
n1 = input(10, title="Channel Length")
n2 = input(21, title="Average Length")
obLevel1 = input(60, title="Over Bought Level 1")
obLevel2 = input(53, title="Over Bought Level 2")
osLevel1 = input(-65, title="Over Sold Level 1")
osLevel2 = input(-60, title="Over Sold Level 2")
takeProfitPercentage = input(1, title="Take Profit (%)")
stopLossPercentage = input(0.50, title="Stop Loss (%)")

// Calculs
ap = hlc3 
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

// Tracé des lignes
plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red, style=plot.style_line)
plot(osLevel2, color=color.green, style=plot.style_line)

plot(wt1, color=color.green)
plot(wt2, color=color.red, style=plot.style_line)

// Tracé de la différence entre wt1 et wt2 en bleu
hline(0, "Zero Line", color=color.gray)

// Conditions d'entrée long et court
longCondition = ta.crossover(wt1, obLevel2)
shortCondition = ta.crossunder(wt1, osLevel2)

// Tracé des signaux d'achat et de vente
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Conditions d'entrée et de sortie
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Niveaux de prise de profit pour les positions longues et courtes
longTakeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercentage / 100)
shortTakeProfitLevel = strategy.position_avg_price * (1 - takeProfitPercentage / 100)

// Vérification si les niveaux de prise de profit sont atteints
longTakeProfitReached = strategy.position_size > 0 and high >= longTakeProfitLevel
shortTakeProfitReached = strategy.position_size < 0 and low <= shortTakeProfitLevel

// Tracé des formes de prise de profit
plotshape(series=longTakeProfitReached, style=shape.xcross, location=location.belowbar, color=color.blue, size=size.small, title="Take Profit Long")
plotshape(series=shortTakeProfitReached, style=shape.xcross, location=location.abovebar, color=color.blue, size=size.small, title="Take Profit Short")

// Niveaux de stop loss pour les positions longues et courtes
longStopLossLevel = strategy.position_avg_price * (1 - stopLossPercentage / 100)
shortStopLossLevel = strategy.position_avg_price * (1 + stopLossPercentage / 100)

// Vérification si les niveaux de stop loss sont atteints
longStopLossReached = strategy.position_size > 0 and low <= longStopLossLevel
shortStopLossReached = strategy.position_size < 0 and high >= shortStopLossLevel

// Tracé des formes de stop loss
plotshape(series=longStopLossReached, style=shape.xcross, location=location.belowbar, color=color.red, size=size.small, title="Stop Loss Long")
plotshape(series=shortStopLossReached, style=shape.xcross, location=location.abovebar, color=color.red, size=size.small, title="Stop Loss Short")

// Fermeture des positions en cas de prise de profit ou de stop loss
strategy.close("Long", when=longTakeProfitReached or longStopLossReached)
strategy.close("Short", when=shortTakeProfitReached or shortStopLossReached)