চলমান গড় ব্যান্ড ব্রেকআউট কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-০৯-১৭ ১৮ঃ৩৩ঃ৫৭
ট্যাগঃ

সারসংক্ষেপ

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

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

  1. এসএমএ/ইএমএ/ডব্লিউএমএ/আরএমএ-র মতো বিকল্পগুলির সাথে চলমান গড় গণনা করুন।

  2. উপরের ব্যান্ড হল চলমান গড়ের নির্দিষ্ট শতাংশ বৃদ্ধি। নিম্নতম ব্যান্ড হল নির্দিষ্ট শতাংশ হ্রাস।

  3. উপরের ব্যান্ডের উপরে লম্বা, নীচের ব্যান্ডের নিচে লম্বা হলে শর্ট। শুধুমাত্র লং, শুধুমাত্র শর্ট বা দ্বিমুখী ট্রেডিংয়ের জন্য বিকল্প।

  4. স্টপ লস সেট করুন এবং লাভের পয়েন্ট নিন। লাভের পয়েন্টটি প্রবেশ মূল্যের নির্দিষ্ট শতাংশ বৃদ্ধি। স্টপ লস পয়েন্টটি প্রবেশ মূল্যের নির্দিষ্ট শতাংশ হ্রাস।

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

  1. চলমান গড় ব্যবহার করে প্রবণতা নির্ধারণ বাস্তবায়ন করা সহজ।

  2. সামঞ্জস্যযোগ্য পরামিতিগুলি বিভিন্ন হোল্ডিং সময়কাল এবং ঝুঁকি অগ্রাধিকারকে সামঞ্জস্য করে।

  3. বিভিন্ন বাজার অবস্থার সাথে সামঞ্জস্যপূর্ণ দীর্ঘ/সংক্ষিপ্ত নির্দেশাবলী।

  4. স্থির শতাংশ স্টপ লস এবং লাভ গ্রহণ নিয়ন্ত্রণযোগ্যতার অনুমতি দেয়।

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

  1. হঠাৎ ট্রেন্ড পাল্টে গেলে ধরা পড়ার ঝুঁকি।

  2. অনুপযুক্ত প্যারামিটার সেটিং ওভার-ট্রেডিং বা বিলম্বের ঝুঁকি সৃষ্টি করে।

  3. স্থির শতাংশ স্টপ লস/লাভের নমনীয়তা নেই।

  4. দ্বি-দিকের ট্রেডিংয়ের ক্ষেত্রে ট্রেডিং ফ্রিকোয়েন্সি এবং কমিশন খরচ বৃদ্ধি পায়।

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

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

  2. বাজারের অস্থিরতার ফ্রিকোয়েন্সি অনুসারে চ্যানেলের ব্যান্ডউইথ অপ্টিমাইজ করুন।

  3. বিভিন্ন স্টপ লস এবং লাভের কনফিগারেশন পরীক্ষা করুন। গতিশীল স্টপ আরো কার্যকর।

  4. সামগ্রিক বাজারের অবস্থা পরিমাপ করার জন্য প্রবণতা এবং দোলন সূচক যোগ করুন।

  5. গুরুত্বপূর্ণ ইভেন্ট প্রভাব এড়াতে সময় ফিল্টার বাস্তবায়ন করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
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/
// © TaylorTneh
//@version=4

// strategy("Moving Average Band Taylor V1",shorttitle="MA Band+",overlay=true,default_qty_type=strategy.cash,default_qty_value=1000,initial_capital=1000,currency=currency.USD,commission_value=.1)

price = input(close, title="Source")
mabtype = input(title="Moving Average Type", defval="RMA", options=["SMA", "EMA", "RMA", "WMA"])
malen = input(10, "MA Period : 10")
magap = input(0.6, "Band Gap : 0.6", minval = -10, maxval = 10, step = 0.1)
mabup = if mabtype == "SMA"
    sma(high, malen)
else
    if mabtype == "EMA"
        ema(high, malen)
    else
        if mabtype == "WMA"
            wma(high, malen)
        else
            if mabtype == "RMA"
                rma(high, malen)
                    
mabdn = if mabtype == "SMA"
    sma(low, malen)
else
    if mabtype == "EMA"
        ema(low, malen)
    else
        if mabtype == "WMA"
            wma(low, malen)
        else
            if mabtype == "RMA"
                rma(low, malen)
                    
upex = mabup * (1 + magap/100)
dnex = mabdn * (1 - magap/100)
plot(upex, "Upper MA Band", color.orange)
plot(dnex, "Lower MA Band", color.orange)


//-------------------------------------------- (Strategy)
strategy.entry("Long", strategy.long, stop = upex)
strategy.entry("Short", strategy.short, stop = dnex)
//Long Only//strategy.entry("Long", strategy.long, stop = upex)
//Long Only//strategy.exit("Short", stop = dnex)
//Short Only//strategy.entry("Short", strategy.short, stop = dnex)
//Short Only//strategy.exit("Long", stop = upex)


//-------------------------------------------- (Take Profit & Stop Lose)
stopPer = input(500.0, title='# Stop Loss %', type=input.float) / 100
takePer = input(500.0, title='# Take Profit %', type=input.float) / 100
//Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)
if strategy.position_size > 0 
    strategy.exit(id="L-TP/SL", stop=longStop, limit=longTake)
if strategy.position_size < 0 
    strategy.exit(id="S-TP/SL", stop=shortStop, limit=shortTake)


//-------------------------------------------- (Sample Time Filter Strategy)
//fromyear = input(2018, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
//toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
//frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
//tomonth = input(10, defval = 10, minval = 01, maxval = 12, title = "To Month")
//fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
//today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//strategy.entry("Long", strategy.long, stop = upex, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
//strategy.entry("Short", strategy.short, stop = dnex, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
//--------------------------------------------


আরো