মাল্টি-টাইপ মুভিং এভারেজ ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-09-19 21:27:31 অবশেষে সংশোধন করুন: 2023-09-19 21:27:31
অনুলিপি: 0 ক্লিকের সংখ্যা: 713
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি প্রবণতা অনুসরণকারী কৌশলগুলির মধ্যে একটি, বিভিন্ন ধরণের চলমান গড় গণনা করে, দ্বিগুণ সমান্তরালের ক্রস-পস এবং ক্রস-ডাকাটি অর্জন করে। একই সাথে, কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য একটি তৃতীয় চলমান গড়কে প্রবণতার বিচার হিসাবে প্রবর্তন করে।

কৌশল নীতি

  1. দুটি গড় রেখা গণনা করা হয়ঃ MA1 এবং MA2। বিভিন্ন ধরণের যেমন SMA, EMA, VWMA এবং কাস্টমাইজড দৈর্ঘ্য নির্বাচন করা যায়।

  2. MA1 এবং MA2 এর ক্রস নির্ধারণ করুন: যখন MA1 এ MA2 হয়, তখন অতিরিক্ত কাজ করুন; যখন MA1 এর নীচে MA2 হয়, তখন সমতল করুন।

  3. (ঐচ্ছিক) তৃতীয় গড় লাইন MA3 গণনা করুন, দৈর্ঘ্য সাধারণত দীর্ঘতর সময়কাল নেয়, যেমন 50। MA3 এর উপরের অংশটি শূন্য এবং নীচের অংশটি শূন্য। কেবলমাত্র যখন দামটি MA3 অতিক্রম করে তখনই পজিশনটি খুলতে হবে।

  4. উপরের নিয়মগুলি পুনঃনির্ধারণের সময়কালের সাথে মিলিত হয়, কৌশলগত ট্রেডিং সিগন্যালের উত্পাদন সম্পন্ন করে।

  5. ক্রসিংয়ের জন্য অতিরিক্ত ফাঁকা এলাকা পূরণ করুন, ভিজ্যুয়াল সহায়ক গঠন করুন।

এই কৌশলটি চলমান গড়ের প্রবণতা ট্র্যাকিং এবং ক্রস-অতিরিক্ত কুইকিংয়ের ধারণাগুলিকে একত্রিত করে এবং তৃতীয় গড় লাইনটি ঝুঁকি নিয়ন্ত্রণের জন্য প্রবর্তন করে, যা প্যারামিটারগুলি সামঞ্জস্য করে যাতে বিভিন্ন বাজারের চক্রের সাথে নমনীয়ভাবে খাপ খাইয়ে নিতে পারে।

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

  1. ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য দ্বি-সমানরেখার ক্রস ব্যবহার করা হয়, যা কার্যকরভাবে ট্রেন্ড অনুসরণ করতে পারে।

  2. বিভিন্ন ধরনের গড় সমন্বয় সমর্থন করে, যা বিভিন্ন চক্রের জন্য বাজারকে অপ্টিমাইজ করা যায়।

  3. তৃতীয় সমান্তরাল লাইনটি ঝুঁকি নিয়ন্ত্রণের জন্য প্রবর্তন করা হয়েছে, যা অপ্রয়োজনীয় ক্ষতি হ্রাস করতে পারে।

  4. ভিজ্যুয়ালাইজেশন ক্রস রঙের মাধ্যমে ট্রেডিংয়ের অভিজ্ঞতা উন্নত করা হয়েছে।

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

  6. নিয়মগুলি সহজ, সুস্পষ্ট এবং সহজে বোঝা যায়।

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

  1. ডাবল-ওভারলাইন কৌশলগুলি অস্থিরতা এবং প্রবণতা বিপরীত দৃশ্যের জন্য ক্ষতির সম্মুখীন হতে পারে। প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে ঝুঁকি হ্রাস করা যেতে পারে।

  2. ডাবল সমান্তরাল কখনও কখনও একটি ভুল সংকেত বা overreaction উত্পন্ন করবে। সমান্তরাল সময়কাল বা অপ্টিমাইজেশান প্যারামিটার উপযুক্তভাবে বাড়ানো যেতে পারে।

  3. তৃতীয় সমান্তরালটি শক্তিশালী গতির সুযোগগুলি মিস করতে পারে। তৃতীয় সমান্তরালটি যথাযথভাবে সংক্ষিপ্ত করার চেষ্টা করা যেতে পারে যাতে মিস করা লাভের সুযোগগুলি হ্রাস করা যায়।

  4. প্রতিবারই লাভের গ্যারান্টি দেওয়া যায় না, তাই স্টপ লস ম্যানেজমেন্টের প্রয়োজন।

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

  1. বিভিন্ন ধরনের গড়রেখা এবং বিভিন্ন পর্যায়ের পরামিতিগুলির সমন্বয় পরীক্ষা করে সেরা পরামিতি জোড়া খুঁজুন।

  2. তৃতীয় সমান্তরালের চক্রীয় প্যারামিটারগুলিকে অপ্টিমাইজ করুন, ঝুঁকি নিয়ন্ত্রণ এবং মুনাফা ক্যাপচারকে ভারসাম্য করুন।

  3. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস কৌশল যোগ করুন।

  4. মেশিন লার্নিং অ্যালগরিদমের সাথে যুক্ত হওয়া বিবেচনা করা যেতে পারে, যা বিগ ডেটা প্রশিক্ষণ ব্যবহার করে সর্বোত্তম প্যারামিটারগুলি খুঁজে বের করতে পারে।

  5. সংকেত ফিল্টারিং এবং যাচাইকরণের জন্য অন্যান্য সূচক যেমন কেডি, এমএসিডি ইত্যাদির সাথে মিলিত।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 22:00:00
period: 1m
basePeriod: 1m
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/
// © HAMIDBOX

//@version=4
strategy("Multi-X by HAMID-BOX", overlay=true)

maType(source , length, type)   =>
    type    == "SMA"            ? sma(source , length)  :
     type   == "EMA"            ? ema(source , length)  :
     type   == "RMA"            ? rma(source, length)   : 
     type   == "WMA"            ? wma(source, length)   :
     type   == "VWMA"           ? vwma(source, length)  :
     na
     
////////////////////////////////////////////////////////////////////////////////
colorup             = #11ff00
colordn             = #e91e63

/////////////////////////// MOVING AVERAGE №1 INPUTS ///////////////////////////
ma1_show            = input(title="MA №1", defval=true, type=input.bool, inline="ma1")
ma1type             = input(title="", defval="EMA", options=["SMA","EMA","RMA","WMA","VWMA"], inline="ma1")
ma1src              = input(title="", defval=close, type=input.source, inline="ma1")
ma1Len              = input(title="", defval=9, type=input.integer, inline="ma1")
ma1col              = input(colorup, "", type=input.color, inline="ma1")

ma1                 = maType(ma1src, ma1Len, ma1type)

ma1p = plot(ma1_show ? ma1 : na, linewidth=1, color=color.new(ma1col , 50))

/////////////////////////// MOVING AVERAGE №2 INPUTS ///////////////////////////
ma2_show            = input(title="MA №2", defval=true, type=input.bool, inline="ma2")
ma2type             = input(title="", defval="SMA", options=["SMA","EMA","RMA","WMA","VWMA"], inline="ma2")
ma2src              = input(title="", defval=close, type=input.source, inline="ma2")
ma2Len              = input(title="", defval=21, type=input.integer, inline="ma2")
ma2col              = input(colordn, "", type=input.color, inline="ma2")

ma2                 = maType(ma2src, ma2Len, ma2type)

ma2p = plot(ma2_show ? ma2 : na, linewidth=1, color=color.new(ma2col , 50))

/////////////////////////// MOVING AVERAGE №3 INPUTS ///////////////////////////

read                = input(title="For Safe Side = Read This >>>", defval=true, tooltip="If you want to play on the safe side, Check ON Moving Average № 3, MA №3 shows the major trend, its work as a Trend-Zone,\nRule: Do not open trades if the market is below MA № 3, WHY? because Trend is Bearish and it will make more Down, NOTE:: It is possible after adding MA № 3, it will give you a small profit. But the great advantage of that, it will reduce your loss and it will also increase your Profit Factor.\nAnd if you not have any issue with Risk then you can Leave Moving Average No 3")
ma3_show            = input(title="MA №3", defval=false, type=input.bool, inline="ma3")
ma3type             = input(title="", defval="SMA", options=["SMA","EMA","RMA","WMA","VWMA"], inline="ma3")
// ma3srcH          = input(title="", defval=high, type=input.source, inline="ma3")
// ma3srcL          = input(title="", defval=low, type=input.source, inline="ma3")
ma3Len              = input(title="", defval=50, type=input.integer, inline="ma3")
ma3col              = input(colordn, "", type=input.color, inline="ma3")

ma3H                = maType(high, ma3Len, ma3type)
ma3L                = maType(low, ma3Len, ma3type)

ma3p                = plot(ma3_show ? ma3H : na, linewidth=1, color=color.new(ma3col , 50))
ma3p2               = plot(ma3_show ? ma3L : na, linewidth=1, color=color.new(ma3col , 50))

Bigcross_zone_color = if ma3_show and close > ma3H
    color.new(colorup , 90)
else
    if ma3_show and close < ma3L
        color.new(colordn , 90)
fill(ma3p , ma3p2, color=Bigcross_zone_color, title="Cross Background Color")

BigCrossSignal      = close > ma3H
ZoneCrossover       = crossover(close , ma3H)
///////////////////////////// BACK TESTING INPUTS //////////////////////////////
startTime           = input(title="Start Time", type=input.time, defval= timestamp("01 Jan 2021"))
endTime             = input(title="End Time", type=input.time, defval= timestamp("01 Jan 2100"))
inDateRange         = true

//////////////////////////// PLOTING AND COOLORING /////////////////////////////
Cross               = input(true, "Cross Sign ON/OFF") 
maCrossOver         = crossover(ma1 , ma2)
maCrossUnder        = crossunder(ma1 , ma2)
cross_zone_color    = ma1 > ma2 ? color.new(colorup , 85) : color.new(colordn , 85)

plotshape(Cross ? maCrossOver : na, title="CrossUP Sign", style=shape.triangleup, location=location.belowbar, color=color.white, size=size.tiny)
plotshape(Cross ? maCrossUnder : na, title="CrossDN Sign", style=shape.xcross, location=location.abovebar, color=#e91e63, size=size.tiny)

fill(ma1p , ma2p, color=cross_zone_color, title="Cross Background Color")

///////////////////////////////// (CONDITIONS) /////////////////////////////////

if maCrossOver and inDateRange
    if ma3_show
        strategy.entry("BUY", strategy.long, when=BigCrossSignal)
    else    
        strategy.entry("BUY", strategy.long)

if  ma3_show
    strategy.entry("BUY", strategy.long, when=ZoneCrossover)

if maCrossUnder and inDateRange
    strategy.close("BUY", comment="Exit")
if (not inDateRange)
    strategy.close_all()