এই কৌশলটি গতির সূচক আরএসআই এবং মূল্যের এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) এবং সিম্পল মুভিং এভারেজ (এসএমএ) এর উপর ভিত্তি করে ট্রেডিং সংকেত তৈরি করে। এটি ট্রেন্ড অনুসরণকারী ধরণের কৌশলগুলির অন্তর্গত।
কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য তিনটি শর্ত ব্যবহার করেঃ
উপরের ৩টি শর্তের মধ্যে যে কোন ২টি পূরণ হলে একটি ক্রয় সংকেত উৎপন্ন হয়; যদি কোনটি পূরণ না হয়, তাহলে একটি বিক্রয় সংকেত উৎপন্ন হয়।
কৌশলটি বিস্তৃত বাজারের তুলনায় সিস্টেমের পারফরম্যান্স পরীক্ষা করার জন্য একটি
সংক্ষেপে, এই কৌশলটি একটি মাঝারি-ফ্রিকোয়েন্সি ট্রেডিং কৌশল যা স্বল্পমেয়াদী বাজারের ওঠানামা এড়ানোর সময় মাঝারি-মেয়াদী মূল্য প্রবণতা ক্যাপচার করার লক্ষ্যে। এর সুবিধা এবং ঝুঁকি পয়েন্টগুলি বেশ সুস্পষ্ট। প্যারামিটার অপ্টিমাইজেশান এবং সমৃদ্ধ নিয়মের মাধ্যমে স্থিতিশীলতা আরও বাড়ানো এটি গবেষণা এবং অপ্টিমাইজ করার জন্য একটি মূল্যবান উচ্চ দক্ষতা পরিমাণগত ট্রেডিং কৌশল তৈরি করে।
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("I11L Unitrend",overlay=false, initial_capital=1000000,default_qty_value=1000000,default_qty_type=strategy.cash,commission_type=strategy.commission.percent,commission_value=0.00) tradingMode = input.string("Unitrend", "Trading Mode", ["Unitrend", "Always Buy"], tooltip="Choose the Trading Mode by trying Both in your Backtesting. I use it if one is far better then the other one.") compoundingMode = input.bool(false) leverage = input.float(1.0,step=0.1) SL_Factor = 1 - input.float(1,"Risk Capital per Trade unleveraged (%)", minval=0.1, maxval=100, step=0.1) / 100 TPFactor = input.float(2, step=0.1) var disableAdditionalBuysThisDay = false var lastTrade = time if(time > lastTrade + 1000 * 60 * 60 * 8 or tradingMode == "Always Buy") disableAdditionalBuysThisDay := false if(strategy.position_size != strategy.position_size[1]) lastTrade := time disableAdditionalBuysThisDay := true //Trade Logic SCORE = 0 //rsi momentum RSIFast = ta.ema(ta.rsi(close,50),24) RSISlow = ta.sma(ta.rsi(close,50),24) RSIMomentum = RSIFast / RSISlow goodRSIMomentum = RSIMomentum > 1 SCORE := goodRSIMomentum ? SCORE + 1 : SCORE //rsi trend RSITrend = RSISlow / 45 goodRSI = RSITrend > 1 SCORE := goodRSI ? SCORE + 1 : SCORE //price trend normalTrend = ta.ema(close,50) / ta.sma(close,50) goodTrend = normalTrend > 1 SCORE := goodTrend ? SCORE + 1 : SCORE isBuy = SCORE > 1 or tradingMode == "Always Buy" isSell = false //SCORE == 0 //plot(SCORE, color=isBuy ? color.green : #ffffff88) //reduced some of the values just for illustrative purposes, you can buy after the signal if the trendlines seem to grow plot(1, color=isBuy ? #77ff7733 : SCORE == 2 ? #ffff0033 : SCORE == 1 ? #ff888833 : #ff000033,linewidth=10) plot(1 - (1 - RSIMomentum) * 6,color=#00F569) plot(1 - (1 - RSITrend) * 0.25,color=#00DB9B) plot(1 - (1 - normalTrend) * 20,color=#00F5EE) strategy.initial_capital = 50000 if(isBuy and not(disableAdditionalBuysThisDay)) if(compoundingMode) strategy.entry("Long", strategy.long, (strategy.equity / close) * leverage) else strategy.entry("Long", strategy.long, (strategy.initial_capital / close) * leverage) if(strategy.position_size != 0) strategy.exit("TP/SL Long", "Long", stop=strategy.position_avg_price * (1 - (1 - SL_Factor)), limit=strategy.position_avg_price * (1 + (1 - SL_Factor) * TPFactor))