ফেইটট্রো অনুমানকারীর উপর ভিত্তি করে ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-০৯-২২ 14:12:27
ট্যাগঃ

সারসংক্ষেপ

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

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

এই কৌশলটির মূলটি হল ফায়টার্রো অনুমানকারী। এর গণনাটি হ'লঃ প্রথমে দামের সংযোজন এবং বিচ্যুতি হার (সিআর) গণনা করুন, তারপরে একটি বর্গাকার ফাংশন তৈরি করুন, যা বিভিন্ন সহগগুলি সেট করে সিআর বক্ররেখার আকৃতি প্রতিফলিত করতে পারে। বর্গাকার বক্ররেখার inflection পয়েন্টগুলি পর্যবেক্ষণ করে, এটি দামের প্রবণতার পরিবর্তন বিচার করে।

বিশেষত, কৌশলটি প্রথমে দামের সিআর গণনা করে। তারপরে এটি দৈর্ঘ্য 2 * len এর একটি অ্যারে ডিজি তৈরি করে এবং এটিকে ক্রমাগত বর্গাকার ফাংশনের মান দিয়ে পূরণ করে। বর্গাকার ফাংশনের সহগগুলি সিআর এর মানকে প্রতিফলিত করে। তারপরে, সূচক len+1+5 এবং len+1+4 এ দুটি মান পর্যবেক্ষণ করে, এটি নির্ধারণ করে যে বর্গাকার ফাংশনের একটি ভাঁজ পয়েন্ট রয়েছে কিনা। যদি একটি ভাঁজ পয়েন্ট থাকে তবে এটি কিনুন বা বিক্রয় সংকেত উত্পন্ন করে।

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

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

এই কৌশল নিম্নলিখিত সুবিধাগুলি আছেঃ

  1. ফায়টার্রো হিসাবকারী ব্যবহার করে প্রবণতা মূল্যায়ন করা হয়, যা মূল্য পরিবর্তনের প্রতি সংবেদনশীল এবং প্রবণতা পরিবর্তনগুলি দ্রুত ধরতে পারে।

  2. সিআর বক্ররেখার আকৃতি প্রতিফলিত করার জন্য একটি বর্গাকার ফাংশন নির্মাণ এবং সরাসরি এবং কার্যকরভাবে inflection পয়েন্ট খোঁজা।

  3. বিভিন্ন আকারের সিগন্যাল তৈরি করা, আদর্শ পয়েন্টগুলিতে পিরামিড ট্রেডিংয়ের অনুমতি দেয়, লাভের সম্ভাবনা বৃদ্ধি করে।

  4. ন্যূনতম দূরত্ব সেটিং বৃদ্ধি কার্যকরভাবে সংকেত ফিল্টার করে এবং অকার্যকর ঘন ঘন ট্রেডিং এড়ায়।

  5. বিভিন্ন ট্রেডিং পণ্যের জন্য অনেকগুলি সামঞ্জস্যযোগ্য পরামিতি অপ্টিমাইজ করা যায়, অভিযোজনযোগ্যতা উন্নত করে।

  6. কৌশল যুক্তি স্পষ্ট এবং সহজেই বোঝা যায়, এবং কোডটি অত্যন্ত পাঠযোগ্য, এটি থেকে শিখতে সহজ করে তোলে।

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

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

  1. Faytterro Estimator এর কার্ভ ফিটিংয়ের ঝুঁকি রয়েছে এবং কিছু ট্রেডিং পণ্যের ক্ষেত্রে এর পারফরম্যান্স কম হতে পারে।

  2. কেবলমাত্র বর্গাকার বক্ররেখার ফ্লেক্স পয়েন্টের উপর ভিত্তি করে বিচার করা খুব কাঁচা হতে পারে, যা ভুল মূল্যায়নের দিকে পরিচালিত করে।

  3. ঘন ঘন পিরামিড ট্রেডিং কমিশনের খরচ বাড়ায়।

  4. একটি বড় সংখ্যক সামঞ্জস্যযোগ্য পরামিতি অপ্টিমাইজেশনের অসুবিধা বৃদ্ধি করে।

  5. দামের অস্থিরতার সময় ভুল মূল্যায়নকে কার্যকরভাবে মোকাবেলা করা যায় না।

  6. স্টপ লস মেকানিজমের অভাব আরও বেশি ক্ষতির কারণ হতে পারে।

সংশ্লিষ্ট সমাধানগুলি হলঃ

  1. বিভিন্ন পণ্যের জন্য প্যারামিটার অপ্টিমাইজ করুন।

  2. ফিল্টারিংয়ের জন্য অন্যান্য সূচক যোগ করুন যাতে কেবলমাত্র ফ্লেক্স পয়েন্টের উপর নির্ভর করে ভুল বিচার এড়ানো যায়।

  3. একক ক্ষতি নিয়ন্ত্রণ করার জন্য সঠিক স্টপ লস সেট করুন।

  4. প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করার জন্য বড় ডেটা পদ্ধতি ব্যবহার করুন।

  5. অস্থির সময়ের মধ্যে ট্রেডিং এড়ানোর জন্য দোলন সনাক্তকরণ যুক্ত করুন।

  6. যুক্তিসঙ্গত স্টপ লস লজিক সেট করুন।

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

অপ্টিমাইজেশান দিকগুলির মধ্যে রয়েছেঃ

  1. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস লজিক যুক্ত করুন, যেমন ট্রেলিং স্টপ লস বা টাইম স্টপ লস।

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

  3. স্বল্পমেয়াদী প্রত্যাহারের দ্বারা থামানো এড়াতে নিশ্চিতকরণ প্রক্রিয়া যুক্ত করুন। পুনরায় প্রবেশ নিশ্চিতকরণ বিবেচনা করুন।

  4. জেনেটিক অ্যালগরিদম, বেয়েজিয়ান অপ্টিমাইজেশান ইত্যাদি ব্যবহার করে বিভিন্ন পণ্যের জন্য সামঞ্জস্যযোগ্য পরামিতিগুলি অনুকূল করুন।

  5. এটিআর, ডিএমআই ইত্যাদি ব্যবহার করে দোলনশীল বাজারগুলি চিহ্নিত করুন এবং দোলনের সময় ট্রেডিং এড়ান।

  6. উদাহরণস্বরূপ, প্রবণতার শক্তির উপর ভিত্তি করে গতিশীলভাবে পিরামিডিং অবস্থানগুলি সামঞ্জস্য করুন।

  7. সর্বোত্তম সময়সীমা খুঁজে পেতে বিভিন্ন সময়সীমার উপর পরামিতি পরীক্ষা করুন।

সিদ্ধান্ত

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


/*backtest
start: 2022-09-21 00:00:00
end: 2023-08-10 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("Faytterro Estimator Strategy", overlay=true, pyramiding=100)

src=input(hlc3,title="source")
len=input.int(10,title="faytterro estimator lenght", maxval=500)
len2=100
len3=input.float(500,title="minumum enrty-close gap (different direction)")
len4=input.float(500,title="minumum entry-entry gap (same direction)")
cr(x, y) =>
    z = 0.0
    weight = 0.0
    for i = 0 to y-1
        z:=z + x[i]*((y-1)/2+1-math.abs(i-(y-1)/2))
    z/(((y+1)/2)*(y+1)/2)
cr= cr(src,2*len-1) 
width=input.int(10, title="strong entry size", minval=1)

dizi = array.new_float(500)
// var line=array.new_line()
//if barstate.islast
for i=0 to len*2
    array.set(dizi,i,(i*(i-1)*(cr-2*cr[1]+cr[2])/2+i*(cr[1]-cr[2])+cr[2]))

buy = array.get(dizi,len+1+5)>array.get(dizi,len+1+4) and array.get(dizi,len+1+5)<cr[len] 
sell = array.get(dizi,len+1+5)<array.get(dizi,len+1+4) and array.get(dizi,len+1+5)>cr[len]
bb=buy? hlc3 : na
ss=sell? hlc3 : na 
sbuy= buy and close<(close[ta.barssince(buy or sell)])[1]-len4 and close<ta.highest(fixnan(ss),len2)-len3*3
ssell= sell and close>(close[ta.barssince(buy or sell)])[1]+len4 and close>ta.lowest(fixnan(bb),len2)+len3*3

buy:= buy and close<(close[ta.barssince(buy or sell)])[1]-len4 and close<ta.highest(fixnan(ss),len2)-len3 //and close>ta.highest(fixnan(ss),len2)-len3*3
sell:=  sell and close>(close[ta.barssince(buy or sell)])[1]+len4 and close>ta.lowest(fixnan(bb),len2)+len3 //and close<ta.lowest(fixnan(bb),len2)+len3*3
alertcondition(buy or sell)


if (sbuy)
    strategy.entry("strong buy", strategy.long,width)
if (ssell)
    strategy.entry("strong sell", strategy.short,width)
if (buy)
    strategy.entry("buy", strategy.long)
if (sell)
    strategy.entry("sell", strategy.short)

আরো