চলমান গড়গুলির সাথে মিলিত একটি দক্ষ পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-02-01 15:09:06 অবশেষে সংশোধন করুন: 2024-02-01 15:09:06
অনুলিপি: 0 ক্লিকের সংখ্যা: 589
1
ফোকাস
1617
অনুসারী

চলমান গড়গুলির সাথে মিলিত একটি দক্ষ পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত 5 দিনের আরএসআই সূচককে 200 দিনের চলমান গড়ের সাথে একত্রিত করে এবং ওভার-বই ওভার-সেলের অঞ্চলগুলি নির্ধারণ করে এবং ট্রেডিং সিদ্ধান্তগুলি তৈরি করেঃ

  1. ৫ম দিন RSI সূচকটি মূল্যের চলমান ওভারবই ওভারসেল অঞ্চল নির্ধারণ করে। ওভারবই লাইনটি 72 এবং ওভারসেল অঞ্চলটি 30 সেট করুন। যখন RSI সূচকটি নীচে থেকে 30 এর উপরে উঠে যায় তখন একটি কেনার সংকেত উত্পন্ন হয়; যখন RSI সূচকটি নীচে থেকে 72 এর নীচে নেমে আসে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

  2. ২০০ দিনের চলমান গড় দামের মধ্য-লম্বা ট্রেন্ডের দিক নির্ধারণ করে। যখন দাম ২০০ দিনের গড়ের নীচে থাকে, তখন দামের নিম্নমুখী পর্যায়ে; যখন দাম ২০০ দিনের গড়ের উপরে থাকে, তখন দামের উত্থানের পর্যায়ে।

  3. ১ এবং ২ এর সমন্বয়ে, এই কৌশলটি ৫ দিনের আরএসআই সূচকটি ওভারবাই করার সময় এবং ৭২ এর নীচে বিক্রি করার সময় এবং ৫ দিনের আরএসআই ৩০ এর নীচে এবং ২০০-দিনের গড়ের নীচে কেনার সময় কিনে।

কৌশলগত সুবিধা

  1. কৌশলগত সংকেতগুলি আরও স্পষ্ট, আরএসআই সূচক জজমেন্ট অঞ্চল ব্যবহার করে ওভার-বই ওভার-বিক্রয় সংকেত নির্ধারণ করে।

  2. 200 দৈনিক গড় লাইন বড় প্রবণতা দিক বিচার, বিপরীত অপারেশন এড়াতে

  3. সর্বাধিক হোল্ডিং সেট করুন যা ঝুঁকি নিয়ন্ত্রণে সহায়তা করে।

  4. কৌশলগত প্যারামিটার অপ্টিমাইজ করার জন্য প্রচুর জায়গা রয়েছে, আরএসআই প্যারামিটার এবং গড় লাইন প্যারামিটারগুলি সামঞ্জস্য করা যায়।

  5. প্রত্যাহারের ঝুঁকি কম, কার্যকর নিয়ন্ত্রণ কৌশল সর্বাধিক প্রত্যাহার।

কৌশলগত ঝুঁকি

  1. শুধুমাত্র RSI এবং গড়রেখার সূচক ব্যবহার করে, কৌশলগত সংকেতগুলি অস্থির হতে পারে, মাল্টি হেড ওয়ারহেড বাজারের অস্থিরতার কারণে ক্ষতির ঝুঁকি রয়েছে।

  2. RSI প্যারামিটার এবং গড় লাইন প্যারামিটারগুলিকে অপ্টিমাইজ করা এবং পরীক্ষার প্রয়োজন, যাতে আরও ভাল কৌশল কার্যকর হয়।

  3. অন্যান্য সূচক বা মডেলের সিদ্ধান্তগুলি প্রবর্তন করা যেতে পারে, কৌশলগত সংকেতগুলিকে অনুকূলিতকরণ করা যায়। যেমন উদ্বায়ীতা সূচক, মেশিন লার্নিং সিদ্ধান্ত ইত্যাদি।

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

  1. আরও সূচক সমন্বয় ব্যবহার করে বিচার করুন। যেমন MACD, KD, ওঠানামা হার সূচক ইত্যাদি।

  2. মেশিন লার্নিং মডেলের বিচার বাড়ানো। যেমন এলএসটিএম ট্রেডিং সিগন্যালের স্থিতিশীলতা বিচার করে।

  3. পরিমাণগত ফ্যাক্টর যোগ করা। যেমন লেনদেনের পরিমাণ পরিবর্তন, তহবিলের প্রবাহ ইত্যাদি মূলধন দিকের ফ্যাক্টর।

  4. অপ্টিমাইজেশন কৌশল পরামিতি যেমন RSI পরামিতি, গড় লাইন পরামিতি ইত্যাদি।

  5. অপ্টিমাইজ করা ক্ষতির ব্যবস্থা যেমন, গতির ক্ষতি, সময়ের ক্ষতি ইত্যাদি।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 3m
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/
// ©chewyScripts.

//@version=5
strategy("96er RSI+200EMA Strategy + Alerts", overlay=true)
// This works best on a small account $100, with 50% of equity and up to 10 max open trades. 
// 96% Profitable, turns $100 into $350 in 1 month. very few losses. super happy with it.
// So far it triples the account on a 1m chart in 1 month back testing on the SEI-USD pair.
// I did not test on FX pairs or other instruments.
// had some issues with the inputs not working so had to hard code some, also the lastClose var sometimes breaks and starts following every candle, not sure why.

in_r1 = input.int(5,"5 day input or RSI1")
in_openOrders = input.int(3,"max open orders")

in_lowerRSI = input.int(30,"RSI Lower")
in_upperRSI = input.int(72,"RSI Upper ")

in_emaperiod = input.int(200,"EMA Period")

in_buybreakout = input.int(50,"Buy breakout range")

in_buyTP = input.float(1.05,"Buy TP: 1+TP %, .05 seems to work well.")
in_sellTP = input.float(0.9850, "Sell TP: 1-TP%. .025 seems to work well. ")

simple int rsi5 = in_r1

// 3 rsi strategy , when all of them are overbought we sell, and vice versa
rsi7 = ta.rsi(close,rsi5)
lastClose = request.security(syminfo.tickerid, "D", close, lookahead = barmerge.lookahead_on)
rsi3 = ta.rsi(close[5],rsi5)

ma = ta.ema(close,in_emaperiod)

plot(rsi7,"5 Day RSI",color.red)
plot(lastClose,"Yesterdays Close",color.green)
plot(rsi3,"Previous 5th candles RSI",color.purple)


// sell condition
//sell = ta.crossunder(rsi7,70) and ta.crossunder(rsi14,70) and ta.crossunder(rsi21,70)

//buy condition
//buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and rsi3 <= in_upperRSI and strategy.opentrades < in_openOrders
//sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and rsi3 >= in_lowerRSI3 and strategy.opentrades < in_openOrders

buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and close < lastClose and strategy.opentrades < in_openOrders
sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and close > lastClose and strategy.opentrades < in_openOrders


var lastBuy = close 
var lastSell = close 

if (buy)
    strategy.entry("BUY", strategy.long)
    lastBuy := close 
    alert("Buy")

if ((close >= lastBuy*in_buyTP ) or rsi7 > in_buybreakout and close >= lastClose and (close >= lastClose*in_buyTP or close >= lastBuy*in_buyTP ) )
    strategy.close("BUY", "BUY Exit")
    alert("Buy Exit")
    
if (sell)
    strategy.entry("SELL", strategy.short)
    lastSell := close 
    alert("Sell")

if ( close < ma and (close <= lastSell*in_sellTP ) or (close < lastClose*in_sellTP) )
    strategy.close("SELL", "Sell Exit")
    alert("Sell Exit")