এই কৌশলটি মূল্য পরিবর্তনকে ভলিউমের সাথে তুলনা করে বাজারের মনোভাব প্রকাশ করে এবং ট্রেডিং সংকেত তৈরির জন্য এটিকে একটি এমএসিডি ফর্ম্যাটে উপস্থাপন করে।
এই কৌশলটি মূলত নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে বাজারের মনোভাব প্রকাশ করেঃ
প্রতিটি বারের ভলিউম অনুযায়ী দামের পরিবর্তন। এটি সরাসরি ক্রয় এবং বিক্রয় শক্তির শক্তি দেখায়।
মূল্য পরিবর্তন এবং ভলিউম পৃথকভাবে এক্সপোনেন্সিয়াল চলমান গড় প্রয়োগ করুন, তারপরে মূল্য পরিবর্তনের ইএমএকে ভলিউমের ইএমএ দ্বারা ভাগ করুন। এটি কিছু শব্দ ফিল্টার করে এবং একটি মসৃণ
এমএসিডি-এর মতো লাইন পেতে
হিস্টোগ্রামের শূন্যের উপরে ক্রসিং হ'ল উত্থানমুখী মনোভাবের বৃদ্ধি, যখন শূন্যের নীচে ক্রসিং হ'ল হ্রাসমুখী মনোভাবের বৃদ্ধি। হিস্টোগ্রামের বৈষম্যগুলিও পর্যবেক্ষণ করা যেতে পারে।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
বাজারের মনোভাব বিচার করার জন্য ভলিউম তথ্য ব্যবহার করে, আরো বিশ্বাসযোগ্য।
এমএসিডি ফর্মটি স্বজ্ঞাত এবং ব্যবহার করা সহজ।
বিভিন্ন পণ্য এবং সময়সীমার জন্য কাস্টমাইজযোগ্য পরামিতি।
সম্ভাব্য প্রবণতা বিপরীত খুঁজতে হিস্টোগ্রামের উপর পার্থক্য সনাক্ত করতে পারেন।
পরিষ্কার কোড কাঠামো, সহজেই বোঝা যায় এবং অপ্টিমাইজ করা যায়।
এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
ভলিউম অনুভূতি প্রতিফলিত করে কিন্তু সঠিক সংকেত গ্যারান্টি দেয় না।
ভুল MACD পরামিতি সেটিং মিস বা মিথ্যা সংকেত হতে পারে। নির্দিষ্ট পণ্য এবং সময়সীমার জন্য পরামিতি অপ্টিমাইজ করা প্রয়োজন।
বিভিন্নতা মিথ্যা সংকেত হতে পারে, প্রবণতা বিপরীততা নিশ্চিত করতে অক্ষম, তাই সাবধানে ব্যাখ্যা করা প্রয়োজন।
বিলম্বিত প্রবেশের ঝুঁকি এবং ফাঁদে পড়ার ঝুঁকি। ট্রেলিং স্টপ লস বা প্রবণতা এবং সম্পর্কিত পণ্যগুলির সাথে বৈধতার জন্য অপেক্ষা করতে পারেন।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন পণ্য এবং সময়সীমার উপর পরামিতিগুলির সমন্বয় পরীক্ষা করুন।
হারানোর ঝুঁকি কমাতে স্টপ লস যোগ করুন।
সংশ্লিষ্ট পণ্যের দামের প্রবণতা দিয়ে সংকেতগুলি যাচাই করুন।
মেশিন লার্নিং ব্যবহার করে গতিশীলভাবে পরামিতি অপ্টিমাইজ করুন।
মিথ্যা সংকেত হ্রাস করার জন্য ফিল্টার যুক্ত করুন, যেমন উচ্চতর সময়সীমার প্রবণতা, অস্থিরতা ইত্যাদি।
কৌশলটি মূল্য পরিবর্তন এবং ভলিউম তুলনা করে বাজারের আবেগকে বিচার করে এবং একটি এমএসিডি ফর্ম্যাটে সংকেত তৈরি করে। মাত্র দামের পাশাপাশি ভলিউম বিবেচনা করে ক্রেতা এবং বিক্রেতার শক্তি আরও সঠিকভাবে নির্ধারণ করতে পারে। পরামিতিগুলি বিভিন্ন পণ্য এবং সময়সীমার জন্য অনুকূলিত করা যেতে পারে, আরও অপ্টিমাইজেশনের সম্ভাবনা রয়েছে। সামগ্রিকভাবে, কৌশলটির একটি অভিনব ধারণা রয়েছে, ব্যবহার করা সহজ, কার্যকরভাবে বাজারের গতি ধরে রাখে এবং আরও বিকাশের মূল্যবান।
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 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/ // © dannylimardi //@version=4 strategy("Sentiment Oscillator", "Sentiment", overlay=false, initial_capital=100, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.08) //Inputs msLen = input(49, type=input.integer, title="Market Sentiment Lookback Length") emaLen1 = input(40, type=input.integer, title="Fast EMA Length") emaLen2 = input(204, type=input.integer, title="Slow EMA Length") signalLen = input(20, type=input.integer, title="Signal Length") showMs = input(false, type=input.bool, title="Show Market Sentiment?") showHist = input(true, type=input.bool, title="Show Momentum?") showMacd = input(false, type=input.bool, title="Show MACD Line?") showSignal = input(false, type=input.bool, title="Show Signal Line?") showCpv = input(false, type=input.bool, title="(Show Change/Volume for Each Bar?)") showEma1 = input(false, type=input.bool, title="(Show Fast EMA?)") showEma2 = input(false, type=input.bool, title="(Show Slow EMA?)") //Calculations priceChange = close - close[1] changePerVolume = (priceChange/volume) * 10000000 // (The 1000000 doesn't have any significance, it's just to avoid color-change errors when the values are too emall.) priceChangeEma = ema(priceChange, msLen) volumeEma = ema(volume, msLen) marketSentiment = priceChangeEma/volumeEma * 100000000 msEma1 = ema(marketSentiment, emaLen1) msEma2 = ema(marketSentiment, emaLen2) macd = msEma1-msEma2 signal = ema(macd, signalLen) hist = macd-signal //Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 //Drawings plot(showHist ? hist : na, title="Histogram", style=plot.style_area, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below)), transp=0 ) plot(showMacd ? macd : na, title="MACD", color=col_macd, transp=0) plot(showSignal ? signal : na, title="Signal", color=col_signal, transp=0) plot(showCpv ? changePerVolume : na, color=changePerVolume > changePerVolume[1] ? color.teal : color.red) plot(0, color=color.white, transp=80) plot(showEma1 ? msEma1 : na, color=color.aqua) plot(showEma2 ? msEma2 : na, color=color.yellow) plot(showMs ? marketSentiment : na, color=color.lime) //Strategy strategy.entry("Buy", strategy.long, when=crossover(hist, 0)) strategy.close("Buy", when=crossunder(hist, 0))