হেকিন-আশি বিপরীত কৌশল

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

img

সারসংক্ষেপ

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

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

এই কৌশলটির মূল যুক্তি হ'ল দামের বিপরীততা নির্ধারণের জন্য এইচএ মোমবাতিগুলিতে রঙের পরিবর্তন সনাক্ত করা।

প্রথমত, ইনপুট পরামিতির উপর ভিত্তি করে HA ডেটা বা মূল ডেটা থেকে ওপেন, হাই, লো এবং ক্লোজ দাম পান।

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close

haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open  

haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high

haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

তারপর ফর্মুলা অনুযায়ী বর্তমান HA খোলা এবং বন্ধ গণনা।

haclose = (haOpen + haHigh + haLow + haClose) / 4  

haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2

এরপরে HA এর সর্বোচ্চ এবং সর্বনিম্ন দাম পাবেন।

hahigh = max(haHigh, max(haopen, haclose))

halow = min(haLow, min(haopen, haclose))  

খোলা/নিবিড় সম্পর্কের ভিত্তিতে HA মোমবাতি রঙ নির্ধারণ করুন।

hacolor = haclose > haopen ? color.green : color.red

বারগুলির মধ্যে HA রঙের পরিবর্তনের উপর ভিত্তি করে বিপরীত সংকেত সনাক্ত করুন।

turnGreen = haclose > haopen and haclose[1] <= haopen[1]  

turnRed = haclose <= haopen and haclose[1] > haopen[1] 

যখন সিগন্যাল আসবে তখন লং/শর্ট পজিশন খুলুন।

strategy.entry("long", 1, when=turnGreen)
  
strategy.entry("short", 0, when=turnRed) 

বিপরীত সিগন্যালে অবস্থান বন্ধ করুন।

strategy.close("long", when=turnRed)

এইচএ মোমবাতি রঙের পরিবর্তন সনাক্ত করে, কৌশলটি বিপরীত ট্রেডিংয়ের জন্য মূল্য বিপরীত পয়েন্টগুলি ক্যাপচার করে।

সুবিধা

এই কৌশলটির প্রধান সুবিধাগুলো হল:

  1. উন্নত এইচএ মোমবাতি ব্যবহার করে গোলমাল ফিল্টার করা হয় এবং বিপরীতগুলি আরও স্পষ্টভাবে চিহ্নিত করা হয়।

  2. এইচএ রঙ পরিবর্তন উপর ভিত্তি করে সহজ যুক্তি, সহজ বুঝতে এবং বাস্তবায়ন.

  3. বিপরীতমুখী ট্রেডিং লাভের জন্য দ্রুত প্রবণতা পরিবর্তনকে ক্যাপচার করে।

  4. বিভিন্ন বাজারের জন্য এইচএ মোমবাতি ব্যবহার বা না করার জন্য কাস্টমাইজযোগ্য।

  5. ক্যান্ডেলস্টিকের তীরগুলি দৃশ্যমানভাবে বিপরীতমুখী নির্দেশ করে।

  6. টাইমফ্রেমের মত প্যারামিটারগুলি বিভিন্ন পণ্যের জন্য অপ্টিমাইজ করা যায়।

ঝুঁকি

এছাড়াও কিছু ঝুঁকি রয়েছেঃ

  1. রিভার্সাল ট্রেডিং ফাঁদে পড়তে পারে।

  2. বিভিন্ন বাজারে ঘন ঘন হুইপসও হতে পারে।

  3. ট্রেন্ডের সময়কাল নির্ধারণ করা সম্ভব নয়, তবে ট্রেন্ডটি বিপরীত হতে পারে।

  4. একক সূচক মিথ্যা সংকেত প্রবণ, অন্যদের সাথে একত্রিত করা উচিত।

  5. অপ্টিমাইজেশনের মাধ্যমে অতিরিক্ত ফিটিং এড়ানো দরকার।

সমাধান:

  1. নির্ভরযোগ্য সিগন্যালের জন্য প্যারামিটার অপ্টিমাইজ করুন।

  2. ট্রেন্ড ফিল্টার যোগ করুন যাতে বাজারের ব্যাপ্তি এড়ানো যায়।

  3. ট্রেড প্রতি ক্ষতি নিয়ন্ত্রণ করতে স্টপ লস ব্যবহার করুন।

  4. মিথ্যা সংকেত এড়ানোর জন্য অন্যান্য সূচকগুলির সাথে সংকেতগুলি নিশ্চিত করুন।

  5. প্যারামিটার অপ্টিমাইজ করার জন্য এবং অতিরিক্ত ফিটিং প্রতিরোধ করার জন্য পুঙ্খানুপুঙ্খভাবে ব্যাকটেস্ট।

উন্নতি

কৌশলটি নিম্নলিখিত উপায়ে উন্নত করা যেতে পারেঃ

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

  2. পণ্যের বৈশিষ্ট্য অনুযায়ী HA মোমবাতি ব্যবহার পরীক্ষা করুন।

  3. ট্রেন্ড ফিল্টার যোগ করুন যাতে বাজারে হুইপস এড়ানো যায়।

  4. বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীল স্টপ বাস্তবায়ন করুন।

  5. অতিরিক্ত সূচক দিয়ে সংকেত নিশ্চিত করুন।

  6. ঝুঁকি ব্যবস্থাপনার উপর ভিত্তি করে পজিশনের আকার অন্তর্ভুক্ত করা।

  7. মাল্টি প্রোডাক্ট আরবিট্রেজ ট্রেডিংয়ের জন্য সম্প্রসারণ করুন।

  8. অতিরিক্ত ফিটিং রোধ করার জন্য ব্যাকটেস্টের ফলাফলের উপর ভিত্তি করে পরামিতিগুলি সামঞ্জস্য করুন।

সিদ্ধান্ত

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


/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Heikin-Ashi Change Strategy", overlay=true)

UseHAcandles    = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

// Calculation HA Values 
haopen = 0.0
haclose = (haOpen + haHigh + haLow + haClose) / 4
haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = max(haHigh, max(haopen, haclose))
halow = min(haLow, min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red

// Signals
turnGreen = haclose > haopen and haclose[1] <= haopen[1]
turnRed = haclose <= haopen and haclose[1] > haopen[1]

// Plotting
bgcolor(hacolor)

plotshape(turnGreen, style=shape.arrowup, location=location.belowbar, color=color.green)
plotshape(turnRed, style=shape.arrowdown, location=location.abovebar, color=color.red)

// Alerts
alertcondition(turnGreen, "ha_green", "ha_green")
alertcondition(turnRed, "ha_red", "ha_red")

strategy.entry("long", 1, when=turnGreen)
//strategy.entry("short", 0, when=turnRed)
strategy.close("long", when=turnRed)


আরো