চলমান গড় উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-26 16:29:23 অবশেষে সংশোধন করুন: 2024-01-26 16:29:23
অনুলিপি: 0 ক্লিকের সংখ্যা: 555
1
ফোকাস
1617
অনুসারী

চলমান গড় উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত দামের প্রবণতা নির্ধারণ এবং ট্রেডিং সিগন্যাল উত্পন্ন করার জন্য দ্রুত চলমান গড় এবং ধীর চলমান গড়ের ক্রস ব্যবহার করে। বিশেষত, এটি দুটি ভিন্ন পিরিয়ডের দৈর্ঘ্যের চলমান গড় ব্যবহার করে, যেমন 10 দিনের লাইন এবং 20 দিনের লাইন।

যখন দ্রুত চলমান গড় নীচের দিক থেকে ধীর চলমান গড়কে ভেঙে দেয়, তখন এটি একটি ক্রয় সংকেত উত্পন্ন করে। যখন দ্রুত চলমান গড় নীচের দিক থেকে ধীর চলমান গড়কে ভেঙে দেয়, তখন এটি একটি বিক্রয় সংকেত উত্পন্ন করে।

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

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

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

  1. ধারণাটি সহজ, সহজে বোঝা যায় এবং বাস্তবায়িত হয়
  2. কাস্টমাইজযোগ্য, পরিমাপ পরিবর্তনশীল গড়ের সময়কালের সাথে সামঞ্জস্যপূর্ণ
  3. ট্রেন্ডিংয়ের জন্য বিশেষভাবে উপযুক্ত
  4. স্টপ লস লজিকের সাথে সংযুক্ত, ঝুঁকি নিয়ন্ত্রণ

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

এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ

  1. এটি ভুল সংকেত এবং অত্যধিক লেনদেনের দিকে পরিচালিত করে।
  2. প্যারামিটার ডিবাগ করার প্রয়োজন, বিভিন্ন প্যারামিটার সমন্বয় প্রতিক্রিয়া প্রভাবের মধ্যে বড় পার্থক্য
  3. লেনদেনের খরচ এবং স্লাইড পয়েন্ট ছাড়াই, রিয়েল-ডিস্কের কার্যকারিতা প্রত্যাশার চেয়ে দুর্বল হতে পারে
  4. সময়সীমা পিছিয়ে গেলে, দাম দ্রুত পাল্টাতে পারে

এই ঝুঁকিগুলি যথাযথ অপ্টিমাইজেশনের মাধ্যমে হ্রাস করা যেতে পারে।

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

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

  1. অন্যান্য সূচক ফিল্টার সংকেত, যেমন ক্যাপাসিটি সূচক, কম্পন সূচক ইত্যাদির সাথে একত্রিত করুন, সমন্বয় করার সময় ভুল লেনদেন এড়াতে
  2. স্বনির্ধারিত মুভিং এভারেজ যুক্ত করা হয়েছে যাতে দামের গতিশীলতা আরও ভালভাবে ট্র্যাক করা যায়
  3. চলমান গড়ের চক্রীয় প্যারামিটারগুলিকে অপ্টিমাইজ করুন, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন
  4. পুনরায় প্রবেশের শর্তগুলি সেট করুন যাতে ঘন ঘন লেনদেন এড়ানো যায়
  5. প্রকৃত লেনদেনের খরচ এবং স্লাইড পয়েন্ট বিবেচনা করুন এবং স্টপ-অফ-লস পয়েন্টটি সামঞ্জস্য করুন

এই অপ্টিমাইজেশানগুলি ব্যবহার করে, আপনি আপনার কৌশলগুলির কার্যকারিতা উল্লেখযোগ্যভাবে বাড়িয়ে তুলতে পারেন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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
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)
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)
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)
    
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)