ডাবল মুভিং এভারেজ রিভার্সাল ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-10-16 15:50:35 অবশেষে সংশোধন করুন: 2023-10-16 15:50:35
অনুলিপি: 1 ক্লিকের সংখ্যা: 671
1
ফোকাস
1617
অনুসারী

ডাবল মুভিং এভারেজ রিভার্সাল ট্রেডিং কৌশল

ওভারভিউ

ডাবল ইভ্যালিউড ট্রেডিং কৌশলটি স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী দুটি পৃথক পিরিয়ডের সরল চলমান গড় গণনা করে এবং দামের সাথে চলমান গড়ের সম্পর্কের উপর ভিত্তি করে একটি ট্রেডিং সংকেত তৈরি করে। দীর্ঘমেয়াদী গড়ের উপরে দীর্ঘমেয়াদী গড় অতিক্রম করার সময়, অতিরিক্ত করুন; দীর্ঘমেয়াদী গড়ের নীচে দীর্ঘমেয়াদী গড় অতিক্রম করার সময়, শূন্য করুন। এই কৌশলটি ট্রেন্ড ট্র্যাকিংয়ের অন্তর্ভুক্ত।

কৌশল নীতি

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

বিশেষত, কৌশলটি sma () ফাংশনের মাধ্যমে দুটি গড় লাইন গণনা করে এবং xSMA () এবং দ্রুত লাইনকে গণনা করা হয়। কৌশলটি গড় লাইন গণনা করতে ক্লোজ প্রাইস ব্যবহার করে। যখন ক্লোজ প্রাইস xSMA অতিক্রম করে, তখন আরও বেশি করে; যখন ক্লোজ প্রাইস xSMA অতিক্রম করে, তখন খালি করে। কৌশলটি ট্রেডিং সময়সীমার সীমাবদ্ধতাও সেট করে, কেবলমাত্র নির্দিষ্ট সময়ের মধ্যে একটি ট্রেডিং সিগন্যাল প্রেরণ করে।

প্রতিটি লেনদেনের জন্য একটি স্টপ লস পয়েন্ট সেট করুন এবং স্টপ লস পয়েন্ট পৌঁছে গেলে অবিলম্বে স্টপ লস করুন। একই সাথে, কৌশলটি বারকোলার ফাংশন দ্বারা K লাইনে দামের সাথে ধীর লাইনের সম্পর্ক দেখায়ঃ যখন অতিরিক্ত হয়, তখন K লাইনটি সবুজ হয়; যখন খালি হয়, তখন K লাইনটি লাল হয়; যখন খালি হয়, তখন K লাইনটি নীল হয়।

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

  • একটি দ্বৈত সমান্তরাল সিস্টেম ব্যবহার করে, আপনি কার্যকরভাবে প্রবণতা ট্র্যাক করতে পারেন এবং স্বল্পমেয়াদী বাজারের শব্দ দ্বারা বিভ্রান্ত হওয়া এড়াতে পারেন
  • ট্রেডিং সিগন্যালের গুণমান উন্নত করতে ধীরে ধীরে সমান্তরাল সমন্বয় ব্যবহার করুন
  • স্টপ লস পয়েন্ট সেট করুন, একক লেনদেনের ঝুঁকি নিয়ন্ত্রণ করুন
  • ট্রেডিংয়ের সময়সীমা সীমাবদ্ধ করে বড় ইভেন্টের বড় ধরনের অস্থিরতা এড়ানো যায়
  • ট্রেডিং সিগন্যালগুলিকে K-লাইনে চিহ্নিত করুন, ভিজ্যুয়াল অ্যাসিস্ট্যান্ট তৈরি করুন এবং স্বজ্ঞাততা বাড়ান

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

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

গড়রেখার প্যারামিটারগুলি সামঞ্জস্য করে, স্টপ-অফ-লস কৌশলগুলি অনুকূলিত করে, সময়সীমা বাতিল করে বা আরও যুক্তিসঙ্গত ব্যবসায়ের সময়কাল সেট করে ঝুঁকি হ্রাস করা যেতে পারে। অন্যান্য সূচকগুলিকে ফিল্টারিংয়ের শর্ত হিসাবে বিবেচনা করা যেতে পারে, যাতে খুব বেশি মিথ্যা সংকেত না থাকে।

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 4h
basePeriod: 15m
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/
// © HPotter
//  Simple SMA strategy
//
// WARNING:
//      - For purpose educate only
//      - This script to change bars colors
//@version=4
timeinrange(res, sess) => not na(time(res, sess)) ? 1 : 0

strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true)
Resolution = input(title="Resolution", type=input.resolution, defval="D")
Source = input(title="Source", type=input.source, defval=close)
xSeries = security(syminfo.tickerid, Resolution, Source)
Length = input(title="Length", type=input.integer, defval=14, minval=2)
TriggerPrice = input(title="Trigger Price", type=input.source, defval=close)
TakeProfit = input(50, title="Take Profit", step=0.01)
StopLoss = input(20, title="Stop Loss", step=0.01)
UseTPSL = input(title="Use Take\Stop", type=input.bool, defval=false)
BarColors = input(title="Painting bars", type=input.bool, defval=true)
ShowLine = input(title="Show Line", type=input.bool, defval=true)
UseAlerts = input(title="Use Alerts", type=input.bool, defval=false)
timeframe = input(title="Time Frame", defval="15")
timerange = input(title="Time Range", defval="2300-0800")
reverse = input(title="Trade Reverse", type=input.bool, defval=false)
pos = 0
xSMA = sma(xSeries, Length)
pos := iff(TriggerPrice > xSMA, 1,
         iff(TriggerPrice < xSMA, -1, nz(pos[1], 0)))
nRes = ShowLine ? xSMA : na
alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY')
alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL')
alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position')
possig =iff(pos[1] != pos,
         iff(reverse and pos == 1, -1,
           iff(reverse and pos == -1, 1, pos)), 0)
if (possig == 1 and timeinrange(timeframe, timerange))
    strategy.entry("Long", strategy.long)
if (possig == -1 and timeinrange(timeframe, timerange))
    strategy.entry("Short", strategy.short)
if (timeinrange(timeframe, timerange) == 0) 
    strategy.close_all()

if (UseTPSL)    
    strategy.close("Long", when = high > strategy.position_avg_price + TakeProfit, comment = "close buy take profit")
    strategy.close("Long", when = low < strategy.position_avg_price - StopLoss, comment = "close buy stop loss")
    strategy.close("Short", when = low < strategy.position_avg_price - TakeProfit, comment = "close buy take profit")
    strategy.close("Short", when = high > strategy.position_avg_price + StopLoss, comment = "close buy stop loss")
nColor = BarColors ? strategy.position_avg_price != 0  and pos == 1 ? color.green :strategy.position_avg_price != 0 and pos == -1 ? color.red : color.blue : na
barcolor(nColor)
plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)