কিভাবে OBV এবং এর MA এর সাথে একটি সূচক প্রোগ্রাম করবেন?
Results 1 to 9 of 9

Thread: কিভাবে OBV এবং এর MA এর সাথে একটি সূচক প্রোগ্রাম করবেন?

  1. #1
    4 সংযুক্তি(গুলি) হাই সবাইকে,

    আমি MQL4 প্রোগ্রামিং-এর একজন নবাগত, অন্যান্য প্রোগ্রামিং ভাষায় কিছু জ্ঞান নিয়ে। আমি নীচে সংযুক্ত এই আপাতদৃষ্টিতে সহজ কোডের সাথে লড়াই করছি। মূলত আমি যা অর্জন করতে চাই তা হল চার্টের নীচে একটি পৃথক সূচক উইন্ডোতে চলমান গড় (SMA, EMA, SMMA, বা LWMA) সহ OBV (অন ব্যালেন্স ভলিউম) সূচক থাকা। এইভাবে এটি দেখতে হবে:


    আমি শুরুর জন্য OBV.mq4 ব্যবহার করেছি এবং ধীরে ধীরে কোড তৈরি করতে শুরু করেছি:আমি দ্বিতীয় বাফারের জন্য init() এ SetIndexBuffer এবং SetIndexStyle ফাংশন যোগ করেছি যা আমার MA মান ধরে রাখবে আমি একটি লুপ তৈরি করেছি যা MA_period পিছনে দেখায় = অতীতে 200 টাইম ইউনিট, সেগুলির OBV মান নেয়, সেগুলিকে একটি OBV_vals অ্যারেতে রাখে এবং তারপর SMA, EMA, SMMA, বা LWMA পেতে iMAOnArray() ফাংশন ব্যবহার করে। আমি iMAOnArray() দ্বারা ফিরে আসা চলমান গড় মানটি MABuffer-এ রেখেছি এই আশায় যে এটি নির্দেশক উইন্ডোতে প্রদর্শিত হবে। আমি বাফারে মুভিং এভারেজ সংরক্ষণ করার লাইন পর্যন্ত সবকিছু পেতে পেরেছি। আমার এমএ মান আছে, আমি সেগুলি জার্নালে ছাপিয়েছিলাম এবং সেগুলি বৈধ বলে মনে হয়েছিল৷ যাইহোক, যে মুহুর্তে আমি এই MA মানগুলি নির্দেশক স্ক্রিনে দেখানোর অভিপ্রায়ে MABuffer[i] = nOBVMA লাইনটি আনকমেন্ট করি, আপনি এই ছবিতে দেখতে পাচ্ছেন সবকিছুই নষ্ট হয়ে যায়:


    যদিও মজার বিষয় হল, MABuffer[i] = nOBVMA লাইনের সাথে মন্তব্য করা হয়েছে, OBV ভাল কাজ করে:


    এখানে কোড স্নিপেট কিন্তু আমি নীচে সম্পূর্ণ কোড সংযুক্ত করেছি।
    সন্নিবেশিত কোড/লুপ MA_period=200 পিরিয়ড ফিরে দেখা এবং/(int j=1; jlt;=MA_period; j ) { nOBV_vals#91;j-1#93; = iOBV(NULL, 0, PRICE_CLOSE, i j); }/সদ্য জনবহুল nOBV_vals অ্যারে ব্যবহার করে,/এই লাইনটি MA nOBVMA = iMAOnArray(nOBV_vals, 0, MA_period, 0, MA_method, i) গণনা করে;/চলমান গড় মান প্রিন্ট আউট করুন প্রিন্ট (OBV EMA মান হল DoubleToStr(nOBVMA));/MABuffer-এ MA যুক্ত করুন যাতে এটি নির্দেশক উইন্ডোতে দেখায়/যখন এই লাইনটি সক্রিয় থাকে, এমনকি OBVBuffer ডেটাও নষ্ট হয়ে যায়! MABuffer#91;i#93; = nOBVMA;
    যদি কেউ একজন উত্সাহী নবাগতকে সাহায্য করতে পারে তবে আমি অত্যন্ত কৃতজ্ঞ হব!
    আমার সমস্যাটি দেখার সময় আপনার মনে যদি আমার কাছে অন্য কোনো প্রতিক্রিয়া থাকে, তাহলে অনুগ্রহ করে শেয়ার করতে দ্বিধা করবেন না, আমি আমার MQL4 কোডিং দক্ষতা যত দ্রুত সম্ভব এবং দক্ষতার সাথে উন্নত করতে দৃঢ় প্রতিজ্ঞ।

    P.S: আমি সচেতন যে আমি মেটাট্রেডারে একটি OBV সূচকে একটি চলমান গড় যোগ করতে পারি। যাইহোক, MA-এর সাথে OBV ভবিষ্যতের EA-এর অংশ হবে যা আমি প্রোগ্রাম করার পরিকল্পনা করছি এবং তাই পরবর্তীতে বাকি EA-তে যাওয়ার জন্য আমার একটি OBV এবং একটি MA বাফার সহ নির্দেশক প্রয়োজন।

    আপনার সাহায্যের জন্য আগাম অনেক ধন্যবাদ!

    https://www.zapforex.com/attachments...2255590709.mq4

  2. #2
    2 সংযুক্তি(গুলি) এবং বিজয়! আমি এটা সমাধান করতে পরিচালিত! উপরেরটি আমার নির্দেশক, নীচেরটি ডিফল্ট MT4।
    আশ্চর্যজনকভাবে, এটি আসলে আমার চিন্তার চেয়ে সহজ ছিল। loops জন্য মাত্র দুটি. এছাড়াও গুরুত্বপূর্ণ যে আগে, আমি ভুলভাবে সবকিছু লুপের জন্য এক একক মধ্যে রেখেছিলাম। গোপনীয়তা হল সমস্ত OBV মানকে একটি অ্যারেতে রাখা এবং তারপর লুপের জন্য এক সেকেন্ডে সমস্ত OBV মানগুলিতে iMAOnArray() ব্যবহার করা। আমি এখানে আমার কোডটি নীচে রেখেছি, হয়তো ভবিষ্যতে কারো MA সহ একটি OBV প্রয়োজন হবে।

    https://www.zapforex.com/attachments...8216145924.mq4

  3. #3
    2 সংযুক্তি(গুলি) ঠিক আছে, তাই আমার কাছে কিছু দুর্দান্ত খবর আছে। আমি সন্দেহ করেছিলাম যে মূল OBV কোডটি সম্পূর্ণরূপে সঠিক নাও হতে পারে, তাই আমি অন্য একটি ডাউনলোড করেছি এবং পুরো প্রক্রিয়াটি পুনরায় চালু করেছি, একের পর এক লাইন যোগ করে, কম্পাইল করা, চলমান এবং সবকিছু এখনও অর্থপূর্ণ কিনা তা পরীক্ষা করে দেখছি। এইভাবে আমি এখানে পৌঁছেছি: এখন অনেক ভাল দেখাচ্ছে, ভাল খবর যে MABufferও ভাল কাজ করে! এই ছবিতে, নীচের সূচকটি 200 EMA সংযুক্ত সহ ডিফল্ট অন ব্যালেন্স ভলিউম এবং শীর্ষ নির্দেশকটি যেখানে আমার প্রোগ্রাম করা সূচকটি দাঁড়িয়েছে।
    আমি মনে করি সমস্যাটি নীচের কোড স্নিপেটে কোথাও রয়েছে, যদিও আমি বুঝতে পারছি না কেন এটি আমি যা আশা করছি তা করছে না। মোমবাতি 200-এ আমার সূচকে MA লাইন 0 থেকে মোটামুটি 400,000 পর্যন্ত বেড়েছে (যা সঠিক পরিসরে) যা MA_period-এর সমতুল্য... সম্পূর্ণ আপডেট কোড নীচে সংযুক্ত করা হয়েছে। সন্নিবেশিত কোড nLimit=Bars-nCountedBars-1; for(i=nসীমা; igt;=0; i--) { for(int j=1; jlt;=MA_period; j ) { nOBV_vals#91;j-1#93; = iOBV(NULL, 0, PRICE_CLOSE, i j); } nOBVMA = iMAOnArray(nOBV_vals, 0, MA_period, 0, MA_method, i); MABuffer#91;i#93; = nOBVMA; }
    https://www.zapforex.com/attachments...1031865325.mq4

  4. #4
    Quote Originally Posted by ;
    {উদ্ধৃতি} হ্যাঁ, সৌভাগ্যবশত আমি তখন থেকে অনেক অগ্রগতি করতে পেরেছি এবং iMAOnArray() কাজ করতে পেরেছি কিন্তু বাফারগুলির সাথে একটি প্রাচীরের মধ্যে পড়েছি৷ MA কোডগুলির জন্য ধন্যবাদ, আমি সেগুলিকে আমার OBV-MA কোডে একত্রিত করার চেষ্টা করব এবং দেখব এটি অন্য কোথাও নিয়ে যায় কিনা
    তাই শুধু ভিউ সামঞ্জস্য করা হচ্ছে। আপনি যদি আপনার মুদ্রণ মানগুলি দেখেন যখন MABuffer মন্তব্য করা হয় এবং তারপরে যখন মন্তব্য না করা হয় তখন দেখুন, তারা একই এবং OBV মানগুলি একই। সম্ভবত আপনি কিছু লিনিয়ার স্কেলিং করতে হবে?

  5. #5
    Quote Originally Posted by ;
    {উদ্ধৃতি} আমি অন্য থ্রেড থেকে মনে করছিলাম আপনি বলেছিলেন যে এটি কেবল শূন্য দিয়েছে৷
    হ্যাঁ, সৌভাগ্যক্রমে আমি তখন থেকে অনেক অগ্রগতি করতে পেরেছি এবং iMAOnArray() কাজ করতে পেরেছি কিন্তু বাফারগুলির সাথে একটি প্রাচীরের মধ্যে চলে গেছে। MA কোডগুলির জন্য ধন্যবাদ, আমি সেগুলিকে আমার OBV-MA কোডে একত্রিত করার চেষ্টা করব এবং দেখব এটি অন্য কোথাও নিয়ে যায় কিনা

  6. #6

    Quote Originally Posted by ;
    {উদ্ধৃতি} হাই , SMA এর জন্য এটা সহজ কিন্তু EMA, SMMA, LWMA এর জন্যও? এছাড়াও, আমি মনে করি না যে সর্বোত্তম কৌশল হল শুধুমাত্র iMAOnArray ফাংশন সম্পূর্ণরূপে ব্যবহার করা এড়ানো কারণ এটি একটি খুব সাধারণ ফাংশন এবং এটি আসলে মান প্রদান করে।
    ওহ আমার খারাপ, আমি অন্য থ্রেড থেকে মনে করছিলাম আপনি বলেছিলেন যে এটি কেবল শূন্য ফিরে এসেছে। এখানে mql MA কোড আছে, কিন্তু OnArray কোড নয়: সন্নিবেশিত কোড/ -------------------------------- ---------------------------------- /| সরল চলন্ত গড় |/ --------------------------------------------------------- ------------------- ডবল সিম্পলএমএ(const int position,const int period,const দ্বিগুণ মূল্য#91;#93 {/--- ডবল রেজাল্ট= 0.0;/--- অবস্থান পরীক্ষা করুন যদি(positiongt;=period-1 periodgt;0) {/---(int i=0;ilt;period;i ) ফলাফলের জন্য মান গণনা করুন =price#91;position-i# 93; ফলাফল/=পিরিয়ড; }/--- ফেরত (ফলাফল); }/ ------------------------------------------------------------ -------------------- /| সূচকীয় চলমান গড় |/ --------------------------------------------------------- ------------------- ডবল এক্সপোনেনশিয়ালএ� �এ(const int position,const int period,const double prev_value,const দ্বিগুণ মূল্য#91;#93 {/-- - ডবল ফলাফল = 0.0;/--- মান গণনা করুন if(periodgt;0) { ডবল pr=2.0/(period 1.0); ফলাফল=দাম#91;পজিশন#93;*p r prev_value*(1-pr); }/--- ফেরত (ফলাফল); }/ ------------------------------------------------------------ -------------------- /| মসৃণ চলমান গড় |/ --------------------------------------------------------- ------------------- ডবল স্মুথডএমএ(const int position,const int period,const double prev_value,const দ্বিগুণ মূল্য#91;#93 {/-- - ডবল ফলাফল = 0.0;/--- অবস্থান পরীক্ষা করুন if(periodgt;0) { if(position==period-1) { for(int i=0;ilt;period;i ) result =price#91;position-i#93;; ফলাফল/=পিরিয়ড; } if(positiongt;=period) ফলাফল=(prev_value*(period-1) price#91;position#93/period; }/--- ফেরত (ফলাফল); }/ ------------------------------------------------------------ -------------------- /| লিনিয়ার ওয়েটেড মুভিং এভারেজ |/ --------------------------------------------------------- ------------------- ডবল লিনিয়ারওয়েটেডএ� �এ(const int position,const int period,const দ্বিগুণ মূল্য#91;#93 {/--- ডবল রেজাল্ট= 0.0, যোগফল = 0.0; int i,wsum=0;/--- মান গণনা করুন যদি(positiongt;=period-1 periodgt;0) { for(i=period;igt;0;i--) { wsum =i; যোগফল =মূল্য#91;পজিশন-i 1#93;*(পিরিয়ড-i 1); } ফলাফল= যোগ/wsum; }/--- ফেরত (ফলাফল); }

  7. #7

    Quote Originally Posted by ;
    সকলকে হাই, আমি MQL4 প্রোগ্রামিং-এর একজন নবাগত, অন্যান্য প্রোগ্রামিং ভাষায় কিছু জ্ঞান সহ। আমি নীচে সংযুক্ত এই আপাতদৃষ্টিতে সহজ কোডের সাথে লড়াই করছি। মূলত আমি যা অর্জন করতে চাই তা হল চার্টের নীচে একটি পৃথক সূচক উইন্ডোতে চলমান গড় (SMA, EMA, SMMA, বা LWMA) সহ OBV (অন ব্যালেন্স ভলিউম) সূচক থাকা। এটি দেখতে এইরকম হওয়া উচিত: {image} আমি শুরু করার জন্য OBV.mq4 ব্যবহার করেছি এবং ধীরে ধীরে কোড তৈরি করা শুরু করেছি: আমি দ্বিতীয়টির জন্য init() এ SetIndexBuffer এবং SetIndexStyle ফাংশন যোগ করেছি...
    iMAOnArray-এর পরিবর্তে আপনি নিজেই MA মান গণনা করতে পারেন। আপনার MT4 ইনস্টলেশনের অন্তর্ভুক্ত ফোল্ডারে কোড রয়েছে যা আপনি ব্যবহার করতে পারেন, যেমন MA গণনা।

  8. #8

    Quote Originally Posted by ;
    {quote} iMAOnArray-এর পরিবর্তে আপনি নিজেই MA মানগুলি গণনা করতে পারেন৷ আপনার MT4 ইনস্টলেশনের অন্তর্ভুক্ত ফোল্ডারে কোড রয়েছে যা আপনি ব্যবহার করতে পারেন, যেমন MA গণনা।
    হাই বিয়ারুন, SMA এর জন্য এটা সহজ কিন্তু EMA, SMMA, LWMA এর জন্যও? এছাড়াও, আমি মনে করি না যে সর্বোত্তম কৌশল হল শুধুমাত্র iMAOnArray ফাংশন সম্পূর্ণরূপে ব্যবহার করা এড়ানো কারণ এটি একটি খুব সাধারণ ফাংশন এবং এটি আসলে মান প্রদান করে।

  9. #9
    @ levix95 এই OBV MA indi এর জন্য আপনাকে অনেক ধন্যবাদ !!!! আমি কি আপনাকে অন্য এমএ যোগ করতে বিরক্ত করতে পারি, যাতে দুটি থাকে ??? আমি M1 চার্ট স্ক্যাল্প করি, এবং আমি মনে করি একটি 200MA এর সাথে একটি দ্রুত 34MA একত্রে OBV এর সাথে আমার ট্রেডিং সিস্টেমটি সম্পূর্ণ করবে খুব বড় দয়া করে? অগ্রিম ধন্যবাদ PS MA এর ক্ষেত্রের ধরন, nrs 1 থেকে 4, আমি মনে করি এটি একই ক্রমানুসারে আছে যেমনটি অন্য সব MT4 ইন্ডিজে আছে?

অনুমতি প্রদান

  • আপনি হয়তো নতুন থ্রেড পোস্ট করবেন না
  • আপনি হয়তো উত্তর পোস্ট করবেন না
  • আপনি হয়তো সংযুক্ত কিছু পোস্ট করবেন না
  • আপনি হয়তো আপনার পোস্ট এডিট করবেন না
  •  
  • বি বি কোড চালু
  • স্মাইলি চালু
  • [IMG] কোড চালু
  • [VIDEO] কোড চালু
  • HTML কোড বন্ধ
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.