এই কৌশলটির নাম
আরএসআই সূচকটি ওভারকোপড/ওভারসোল্ডের স্থিতি নির্ধারণ করে। আরএসআই 30 এর উপরে অতিক্রম করা লং এন্ট্রি বিবেচনা করে ওভারসোল্ডের সমাপ্তিকে উপস্থাপন করে। আরএসআই 70 ফ্ল্যাগের নীচে অতিক্রম করা ওভারকোপডের সমাপ্তি, অবস্থান বন্ধ করার বিষয়টি বিবেচনা করে।
এডিএক্স সূচকটি প্রবণতার শক্তিকে পরিমাপ করে। এডিএক্স 25 এর উপরে অতিক্রম করার অর্থ একটি প্রবণতা প্রবেশ করা, যখন 25 এর নীচে অতিক্রম করা প্রবণতা শেষের প্রতিনিধিত্ব করে।
এমএসিডি স্বল্পমেয়াদী প্রবণতা বিচার করে। ডিআইএফএফ অতিক্রম করা ডিইএ এর উপরে স্বল্পমেয়াদী উত্থান প্রবণতা প্রতিনিধিত্ব করে, দীর্ঘ প্রবেশ বিবেচনা করে। পতাকার নীচে অতিক্রম করা স্বল্পমেয়াদী হ্রাস প্রবণতা, অবস্থান বন্ধ বিবেচনা করে।
যখন আরএসআই, এডিএক্স এবং এমএসিডি সবগুলোই উত্থানমুখী সংকেত দেখায়, তখন লং ট্রেড করা হয়। যখন সবগুলোই ট্রেন্ডের সমাপ্তি নির্দেশ করে, তখন পজিশন বন্ধ করা হয়।
উপকারিতা হল নিশ্চিতকরণের জন্য একাধিক সূচক ব্যবহার করে কার্যকরভাবে মিথ্যা সংকেত প্রতিরোধ করতে পারে। কিন্তু পরামিতি পৃথক অপ্টিমাইজেশান প্রয়োজন, এবং স্টপ লস অপরিহার্য।
সংক্ষেপে, সূচক একীভূতকরণ বিচার কার্যকারিতা উন্নত করে, কিন্তু ব্যবসায়ীদের এখনও বাস্তব অবস্থার উপর ভিত্তি করে কৌশল পরামিতিগুলি সামঞ্জস্য এবং বৈধকরণের জন্য বিবেচনার প্রয়োজন।
/*backtest start: 2023-09-05 00:00:00 end: 2023-09-08 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // RSI //@version=3 // strategy("Femi Strategy", overlay=true) strategy("Femi Strategy", overlay=false) RSIlength = input( 14 ) overSold = input( 30 ) overBought = input( 70 ) price = close vrsi = rsi(price, RSIlength) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr) // ADX //@version=3 adxlen = input(14) dilen = input(14) adxThreshold = input( 25 ) dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) // MACD //@version=3 MACDZero = input(0) fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD source = close length = input(20, minval=1) mult = input(2.0, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev if (not na(vrsi)) if (crossover(delta, MACDZero)) strategy.entry("FEMIMACDLE", strategy.long, comment="FEMIMACDLE") else strategy.cancel(id="FEMIMACDLE") if (crossunder(vrsi, overSold)) strategy.entry("FEMIRSILE", strategy.long, comment="FEMIRSILE") else strategy.cancel(id="FEMIRSILE") // if(crossover(sig, adxThreshold)) // crossover(sig, adxThreshold) crossover(delta, MACDZero) crossunder(vrsi, overSold) // strategy.entry("FEMIADXLE", strategy.long, comment="FEMIADXLE") // else // strategy.cancel(id="FEMIADXLE") // if (crossover(source, lower)) // strategy.entry("FEMIBBLE", strategy.long, comment="FEMIBBLE") // else // strategy.cancel(id="FEMIBBLE") // if(crossunder(sig, adxThreshold)) // strategy.cancel(id="FEMILE") // strategy.exit(id="FEMILE") // if (crossunder(delta, MACDZero)) // strategy.entry("FEMIMACDSE", strategy.short, comment="FEMIMACDSE") if (crossover(vrsi, overBought)) // strategy.entry("FEMIRSISE", strategy.short, comment="FEMIRSISE") strategy.close("FEMIRSILE") strategy.close("FEMIMACDLE") strategy.close("FEMIADXLE") strategy.close("FEMIBBLE") if (crossunder(sig, adxThreshold) and crossunder(delta, MACDZero) and crossunder(source, upper)) // crossover(delta, MACDZero) crossover(vrsi, overSold) crossover(sig, adxThreshold) strategy.close("FEMIRSILE") strategy.close("FEMIMACDLE") strategy.close("FEMIADXLE") strategy.close("FEMIBBLE") // if(crossunder(source, upper)) // strategy.close("FEMIRSILE") // strategy.close("FEMIMACDLE") // strategy.close("FEMIADXLE") // strategy.close("FEMIBBLE") // strategy.entry("FEMIADXSE", strategy.short, comment="FEMIADXSE") // else // strategy.cancel(id="FEMISE") // plot(sig, color=red, title="ADX", linewidth=2, style=areabr) // plot(adxThreshold, color=blue, title="ADX") // plot(vrsi, color=green, title="RSI", linewidth=2, style=areabr) // plot(overSold, color=blue, title="RSI") // plot(overBought, color=red, title="RSI") // plot(delta, color=green, title="MACD", linewidth=2, style=areabr) // plot(MACDZero, color=blue, title="MACD") // plot(overBought, color=red, title="MACD") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)