فیلتر نویسی در tsetmc

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • mhjboursy
    ستاره‌دار (۱۳)
    • Jul 2013
    • 18270

    #106
    پاسخ : فیلتر نویسی در tsetmc

    در اصل توسط arashh پست شده است View Post
    با عرض سلام و خدا قوت خدمت حسین آقا

    من یه سوالی از حضورتون داشتم، فرمولی برای دیدن سهامی که مثلا تو مدت 3 ماه بیش از 30% رشد نکردن هست؟
    البته من دانش برنامه نویسی ندارم و تو این تاپیک از دانش شما و دیگر دوستان خیلی بهره مند شدم
    سلام. محمد حسین هستم. متشکرم.
    ببینید... حدیث داریم که نیمی از پاسخ در خوب پرسیدن است. (نه از من. آدم از خودش خوب بپرسد.) اکنون باید از شما بپرسیم دقیقا منظورتان چیست؟
    یعنی قیمت لحظه‌ای اکنون نسبت به کمترین قیمت در مدت سه ماه بالاتر از سی درصد نباشد؟
    یا قیمت لحظه‌ای اکنون از قیمت لحظه‌ای ۹۰ روز پیش (سه ماه پیش) سی درصد بالاتر نباشد؟
    یا میانگین قیمت این روزها از میانگین قیمت آن روز ها (سه ماه پیش) سی درصد بالاتر نباشد؟
    چند حالت دیگر هم می‌تواند باشد. یک مقدار جزئیات دیگر هم هست که باید مشخص شود.
    به هر روی. چون مورد نخست از دیگران محتمل‌تر است من همان را پی می‌گیرم.


    خدمت شما:
    minimum = maximum =(pl);
    min_distance = max_distance =0;
    if(typeof[ih]!="undefined")for(n =0; n <60; n++)if(typeof[ih][n]!="undefined"){
    if(minimum >[ih][n].PriceMin &&[ih][n].PriceMin !=0){
    minimum =[ih][n].PriceMin;
    min_distance = n;
    }
    if(maximum <[ih][n].PriceMax){
    maximum =[ih][n].PriceMax;
    max_distance = n;
    }
    }
    min_percent =Math.round(100*((pl)- minimum)/ minimum);
    max_percent =Math.round(100*(maximum -(pl))/(pl));
    (cfield0)= minimum ==0?" ":"کف "+ minimum +"("+ min_percent +"%)"+" "+"("+ min_distance +"روز پیش"+")";
    (cfield1)= maximum ==1?" ":"سقف "+ maximum +"("+ max_percent +"%)"+" "+"("+ max_distance +"روز پیش"+")";;
    min_percent <=30;

    «محمد حسین» هستم.
    امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

    نظر

    • mhjboursy
      ستاره‌دار (۱۳)
      • Jul 2013
      • 18270

      #107
      پاسخ : فیلتر نویسی در tsetmc

      در اصل توسط mhjboursy پست شده است View Post
      خوب... بگذارید همین‌هایی که گفتید را ترجمه کنیم.
      سایه‌بالایی بسیار کوتاه.
      این یعنی چه؟ یعنی اینکه فاصله‌ی قیمت بالاترین (بالاترین جای شمع) با قیمت زیرش (که حالا یا قیمت پایانی است یا قیمت گشایش، بسته به اینکه کدام بالاتر باشند) زیاد نباشد.
      یعنی چه؟ یعنی اینکه ما در آغاز می‌بینیم قیمت گشایش بالاتر است یا قیمت پایانی؟ هر کدام بالاتر بود به عنوان قیمت بالای بدنه در نگر می‌گیریم.
      یعنی چه؟ یعنی بخش آغازین کد ما این‌گونه می‌شود که قیمت بالای بدنه برابر است با قیمت پایانی در صورتی که قیمت پایانی از قیمت گشایش بیشتر بود و در غیر این صورت قیمت بالای بدنه برابر است با قیمت گشایش.
      یعنی چه؟ یعنی این:



      که ما این را خلاصه‌اش می‌کنیم به شکل زیر:


      این از این. اگر خواستید باقی بخش‌هایش را که گفتید را هم یک تلاش بکنید. و شبیه همین بنویسید که هم برنامه‌نویسی‌اش را و هم خودش را و هم رفع اشکال احتمالی آتی‌اش یاد بگیرید. اگر هم نخواستید بگویید کلا خودم باقی‌اش را بنویسم تقدیم می‌کنم. برایم فرقی نمی‌کند.

      ___________________________________

      من متن کد بالا را مخصوصا حجیم‌تر نوشتم که دوستان آسان‌تر بخوانند و یاد بگیرند.
      در بالا طبق آموزش خود تارنمای بورس pc یعنی قیمت پایانی و pf یعنی قیمت گشایش. آموزش هم اگر اشتباه نکنم در خود همان تارنمای شرکت مدیریت فناوری (tsetmc) هست. اگر دوستان گشتند و پیدا نکردند بگویند من بفرستم خدمتشان.
      بگذارید این را کاملش را بگذارم:


      الگوی شمعی چکش سپید
      ____________________


      badane_bala =(pc);
      badane_paiin =(pf);


      if((pc)<(pf)){
      badane_bala =(pf);
      badane_paiin =(pc);
      }


      badane = badane_bala - badane_paiin;


      saye_bala =(pmax)- badane_bala;
      saye_paiin = badane_paiin -(pmin);


      saye_bala_koochak = saye_bala <0.007*(py);
      saye_paiin_bozorg = saye_paiin >0.020*(py);
      badane_koochak = badane <0.03*(py);
      badane_sepid =(pc)>(pf);


      chakosh_sepid = saye_bala_koochak && saye_paiin_bozorg && badane_koochak && badane_sepid;


      chakosh_sepid;

      توضیح اینکه:
      ۱- جوری نوشتم که هر کسی بخواند بفهمد چه به چه است. و یک جورهایی حالت آموزشی دارد. به خصوص اینکه نام متغیرها را فینگلیش انتخاب کردم که فهمش ساده باشد. اگر کسی قصد یادگیری دارد یک مقدار روی کدهای بالا بیاندیشد. بسیار راهگشاست.
      ۲- الگوی چکش سپید لزوما با روند خاصی نباید باشد ولی اگر خواستیم این الگو در کف اتفاق بیافتد باید این کد را با آن کدی که پیش‌تر برای تشخیص سقف و کف گفتیم (در یکی دو نوشته بالاتر هم هست) ترکیب کنیم. به این شیوه که یکی را بالا بنویسیم و یکی را زیر و سپس دو خط انتهایی این دو را با هم ترکیب کنیم. ترکیب این‌گونه می‌شود:
      خط آخر این را با خط آخر آن را حذف می‌کنیم و به جای این دو خط آخر را این‌گونه می‌نویسیم:
      min_percent <=5 && chakosh_sepid;
      اصلا بگذار حالت ترکیب شده‌اش را هم بگذارم:

      minimum = maximum =(pl);

      min_distance = max_distance =0;
      if(typeof[ih]!="undefined")
      for(n =0; n <60; n++)
      if(typeof[ih][n]!="undefined"){
      if(minimum >[ih][n].PriceMin &&[ih][n].PriceMin !=0){
      minimum =[ih][n].PriceMin;

      min_distance = n;
      }
      if(maximum <[ih][n].PriceMax){
      maximum =[ih][n].PriceMax;
      max_distance = n;
      }

      }

      min_percent =Math.round(100*((pl)- minimum)/ minimum);
      max_percent =Math.round(100*(maximum -(pl))/(pl));
      (cfield0)= minimum ==0?" ":"کف "+ minimum +"("+ min_percent +"%)"+" "+"("+ min_distance +"روز پیش"+")";
      (cfield1)= maximum ==1?" ":"سقف "+ maximum +"("+ max_percent +"%)"+" "+"("+ max_distance +"روز پیش"+")";


      // __________________________________________________ ____________________



      badane_bala =(pc);

      badane_paiin =(pf);


      if((pc)<(pf)){
      badane_bala =(pf);
      badane_paiin =(pc);
      }



      badane = badane_bala - badane_paiin;



      saye_bala =(pmax)- badane_bala;
      saye_paiin = badane_paiin -(pmin);


      saye_bala_koochak = saye_bala <0.007*(py);

      saye_paiin_bozorg = saye_paiin >0.020*(py);
      badane_koochak = badane <0.03*(py);
      badane_sepid =(pc)>(pf);


      chakosh_sepid = saye_bala_koochak && saye_paiin_bozorg && badane_koochak && badane_sepid;



      min_percent <=5&& chakosh_sepid;
      ۳- چهار مقدار در خط‌های آخر کد به رنگ قرمز مشخص شده‌اند. این‌ها را به همراه آن عدد ۶۰ بالا را باید تغییر دهید تا به عدد مطلوب برسید.
      ۵ یعنی از کف روزهای گذشته ۵ درصد بالاتر نباشد.
      ۶۰ یعنی در ۶۰ روز کاری گذشته دنبال کف بگردد.
      ۰٫۰۰۷ یعنی سایه بالا ۰٫۷ درصد بیشتر نباشد.
      ۰٫۰۲۰ یعنی سایه پایین از دو درصد بیشتر باشد.
      ۰٫۰۳ یعنی بدنه ۳ درصد بیشتر نباشد.

      ۵- با مشخصات فوق تنها یک نماد پیدا شد و آن هم برای امروز دابور بود. اگر شرط کف بودن را بر داریم می‌شوند سه تا: سهگمت و دابور و پارسیان.

      ۶- تا یک مدت شاید دیر جواب دادم یا جواب ندادم. (چون در این جستار بیشتر از کوپنم صحبت کردم فعلا) اگر پاسخ نیامد حمل بر بی‌احترامی نفرمایید.

      یا علی
      «محمد حسین» هستم.
      امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

      نظر

      • iran1400up
        عضو عادی
        • May 2011
        • 47

        #108
        پاسخ : فیلتر نویسی در tsetmc

        در اصل توسط mhjboursy پست شده است View Post
        بگذارید این را کاملش را بگذارم:


        الگوی شمعی چکش سپید
        ____________________





        توضیح اینکه:
        ۱- جوری نوشتم که هر کسی بخواند بفهمد چه به چه است. و یک جورهایی حالت آموزشی دارد. به خصوص اینکه نام متغیرها را فینگلیش انتخاب کردم که فهمش ساده باشد. اگر کسی قصد یادگیری دارد یک مقدار روی کدهای بالا بیاندیشد. بسیار راهگشاست.
        ۲- الگوی چکش سپید لزوما با روند خاصی نباید باشد ولی اگر خواستیم این الگو در کف اتفاق بیافتد باید این کد را با آن کدی که پیش‌تر برای تشخیص سقف و کف گفتیم (در یکی دو نوشته بالاتر هم هست) ترکیب کنیم. به این شیوه که یکی را بالا بنویسیم و یکی را زیر و سپس دو خط انتهایی این دو را با هم ترکیب کنیم. ترکیب این‌گونه می‌شود:
        خط آخر این را با خط آخر آن را حذف می‌کنیم و به جای این دو خط آخر را این‌گونه می‌نویسیم:


        اصلا بگذار حالت ترکیب شده‌اش را هم بگذارم:


        ۳- چهار مقدار در خط‌های آخر کد به رنگ قرمز مشخص شده‌اند. این‌ها را به همراه آن عدد ۶۰ بالا را باید تغییر دهید تا به عدد مطلوب برسید.
        ۵ یعنی از کف روزهای گذشته ۵ درصد بالاتر نباشد.
        ۶۰ یعنی در ۶۰ روز کاری گذشته دنبال کف بگردد.
        ۰٫۰۰۷ یعنی سایه بالا ۰٫۷ درصد بیشتر نباشد.
        ۰٫۰۲۰ یعنی سایه پایین از دو درصد بیشتر باشد.
        ۰٫۰۳ یعنی بدنه ۳ درصد بیشتر نباشد.

        ۵- با مشخصات فوق تنها یک نماد پیدا شد و آن هم برای امروز دابور بود. اگر شرط کف بودن را بر داریم می‌شوند سه تا: سهگمت و دابور و پارسیان.

        ۶- تا یک مدت شاید دیر جواب دادم یا جواب ندادم. (چون در این جستار بیشتر از کوپنم صحبت کردم فعلا) اگر پاسخ نیامد حمل بر بی‌احترامی نفرمایید.

        یا علی
        سلام. عالی مثل همیشه. فقط یک سئوال و یک خواهش:

        سئوال: در بند 2 گفتید طی 60 روز کاری گذشته دنبال کف بگرد؛ درسته و اینکار انجام میشه؛ منتها سئوالم اینه: تو آموزش مختصری که تو خود سایت فن آوری درباره فیلترها گذاشتن، یجاییش نوشتن: قیمتها بیشتر از 21 روز قبل در دسترس نیستن؛ درحالیکه هستن. شما میدونید منظورشون چی بوده؟

        خواهش: اگر ممکنه مدتی در دسترس نباشید - ان شاءا... که خیره - لطفا پس در اولین فرصت ممکنه زحمت فیلتر مرد آویزان رو هم خودتون بکشید. راستش هرکاری کردم به اون زیبایی و خوانایی شما نتونستم دربیارم و کلا ولش کردم تا بیام از خودتون بپرسم.

        نظر

        • mhjboursy
          ستاره‌دار (۱۳)
          • Jul 2013
          • 18270

          #109
          پاسخ : فیلتر نویسی در tsetmc

          در اصل توسط iran1400up پست شده است View Post
          سلام. عالی مثل همیشه. فقط یک سئوال و یک خواهش:

          سئوال: در بند 2 گفتید طی 60 روز کاری گذشته دنبال کف بگرد؛ درسته و اینکار انجام میشه؛ منتها سئوالم اینه: تو آموزش مختصری که تو خود سایت فن آوری درباره فیلترها گذاشتن، یجاییش نوشتن: قیمتها بیشتر از 21 روز قبل در دسترس نیستن؛ درحالیکه هستن. شما میدونید منظورشون چی بوده؟

          خواهش: اگر ممکنه مدتی در دسترس نباشید - ان شاءا... که خیره - لطفا پس در اولین فرصت ممکنه زحمت فیلتر مرد آویزان رو هم خودتون بکشید. راستش هرکاری کردم به اون زیبایی و خوانایی شما نتونستم دربیارم و کلا ولش کردم تا بیام از خودتون بپرسم.
          من ندیدم جایی نوشته باشد ۲۱. چیزی که دیدم نوشته بود ۶۰ روز کاری گذشته که گفته بود معادل سه ماه گذشته است.
          در مورد مرد آویزان هم اگر دقت کنید می‌بینید همین است. فقط همان تنظیمات نهایی اش فرق می‌کند. اگر اشتباه نکنم مرد آویزان تنها فرقش این است که در انتهای روند افزایشی ایجاد می‌شود و روند را کاهشی می کند. همین.
          بلی.
          این را نگاه کنید:

          The hanging man and the hammer are both candlestick patterns that indicate trend reversal. The only difference between the two is the nature of the trend in which they appear. If the pattern appears in a chart with an upward trend indicating a bearish reversal, it is called the hanging man. If it appears in a downward trend indicating a bullish reversal, it is a hammer. Apart from this key difference, the patterns and their components are identical. (For more, see: The 5 Most Powerful Candlestick Patterns.)

          از اینجا: https://www.investopedia.com/article...ck-pattern.asp

          یکی هستند. اگر خواستید چکش هایی که به سقف خورده (مرد آویزان) را پیدا کنید کافی است در خط آخر کدهای پیشین به جای:

          min_percent <=5
          بنویسید:
          max_percent <=5

          یا علی.
          «محمد حسین» هستم.
          امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

          نظر

          • arashh
            عضو جدید
            • Nov 2018
            • 18

            #110
            پاسخ : فیلتر نویسی در tsetmc

            با سلام و تشکر بابت راهنمایی خوب شما

            ببخشید اگر سوالم خوب نتونستم بیان کنم، بله منظور من دقیقا همان مورد نخست بود که شما فرمودید و زحمت فرمولشو کشیدید.

            نظر

            • foolad
              عضو جدید
              • Sep 2012
              • 5

              #111
              پاسخ : فیلتر نویسی در tsetmc

              جناب محمد حسین سلام و عرض ادب دو تا سوال داشتم
              1 - این فیلتر را نوشتم ولی خروجی نداره ( کمترین قیمت روز بیشتر یا مساوی از میانگین 6 روز قبل باشه)https://forum.talarebourse.com/attac...444-jpg.41505/
              2- ایا میشود فیلتری نوشت با این محتوا کمترین قیمت 3 روز قبل بیشتر یا مساوی از میانگین 6 روز قبل باشه لطفا راهنمایی بفرمایید تشکر و سپاس از لطف شما

              نظر

              • AM.YASIN
                عضو جدید
                • Dec 2018
                • 1

                #112
                پاسخ : فیلتر نویسی در tsetmc

                سلام میگم فیلتر درباره ema هم داریم؟

                نظر

                • تیدی آلفا
                  Banned
                  • Jul 2013
                  • 2540

                  #113
                  پاسخ : فیلتر نویسی در tsetmc

                  فیلتر نویسی مهدی راد عالیه

                  تحلیل و سهم های معرفی شده مهدی راد گواه همین مطلبه

                  تو بازار سرمایه شخصی رو دستش ندیدم که تو تابلو خوانی و فیلتر نویسی انقدر دقیق عمل کنه

                  با یی سرچ معمولی مطالب و کلیپ های آموزشی خوبی در مورد

                  فیلتر نویسی و تابلو خوانی میشه تو گوگل پیدا کرد

                  ولی هیچکدوم کامل نیستند

                  یا بعبارتی هیچکدوم از مطالبشون قابلیت ریسک

                  برای معامله رو ندارند

                  قرار باشه روزی برای اموزش هزینه کنم کلاس های این فرد رو

                  انتخاب میکنم که برنامه نویس خوبی هم هستند

                  نظر

                  • szgolyas
                    عضو عادی
                    • Dec 2010
                    • 38

                    #114
                    پاسخ : فیلتر نویسی در tsetmc

                    در اصل توسط mhjboursy پست شده است View Post
                    بگذارید این را کاملش را بگذارم:


                    الگوی شمعی چکش سپید
                    ____________________





                    توضیح اینکه:
                    ۱- جوری نوشتم که هر کسی بخواند بفهمد چه به چه است. و یک جورهایی حالت آموزشی دارد. به خصوص اینکه نام متغیرها را فینگلیش انتخاب کردم که فهمش ساده باشد. اگر کسی قصد یادگیری دارد یک مقدار روی کدهای بالا بیاندیشد. بسیار راهگشاست.
                    ۲- الگوی چکش سپید لزوما با روند خاصی نباید باشد ولی اگر خواستیم این الگو در کف اتفاق بیافتد باید این کد را با آن کدی که پیش‌تر برای تشخیص سقف و کف گفتیم (در یکی دو نوشته بالاتر هم هست) ترکیب کنیم. به این شیوه که یکی را بالا بنویسیم و یکی را زیر و سپس دو خط انتهایی این دو را با هم ترکیب کنیم. ترکیب این‌گونه می‌شود:
                    خط آخر این را با خط آخر آن را حذف می‌کنیم و به جای این دو خط آخر را این‌گونه می‌نویسیم:


                    اصلا بگذار حالت ترکیب شده‌اش را هم بگذارم:


                    ۳- چهار مقدار در خط‌های آخر کد به رنگ قرمز مشخص شده‌اند. این‌ها را به همراه آن عدد ۶۰ بالا را باید تغییر دهید تا به عدد مطلوب برسید.
                    ۵ یعنی از کف روزهای گذشته ۵ درصد بالاتر نباشد.
                    ۶۰ یعنی در ۶۰ روز کاری گذشته دنبال کف بگردد.
                    ۰٫۰۰۷ یعنی سایه بالا ۰٫۷ درصد بیشتر نباشد.
                    ۰٫۰۲۰ یعنی سایه پایین از دو درصد بیشتر باشد.
                    ۰٫۰۳ یعنی بدنه ۳ درصد بیشتر نباشد.

                    ۵- با مشخصات فوق تنها یک نماد پیدا شد و آن هم برای امروز دابور بود. اگر شرط کف بودن را بر داریم می‌شوند سه تا: سهگمت و دابور و پارسیان.

                    ۶- تا یک مدت شاید دیر جواب دادم یا جواب ندادم. (چون در این جستار بیشتر از کوپنم صحبت کردم فعلا) اگر پاسخ نیامد حمل بر بی‌احترامی نفرمایید.

                    یا علی
                    ارور میده

                    نظر

                    • mhjboursy
                      ستاره‌دار (۱۳)
                      • Jul 2013
                      • 18270

                      #115
                      پاسخ : فیلتر نویسی در tsetmc

                      در اصل توسط foolad پست شده است View Post
                      جناب محمد حسین سلام و عرض ادب دو تا سوال داشتم
                      1 - این فیلتر را نوشتم ولی خروجی نداره ( کمترین قیمت روز بیشتر یا مساوی از میانگین 6 روز قبل باشه)https://forum.talarebourse.com/attac...444-jpg.41505/
                      2- ایا میشود فیلتری نوشت با این محتوا کمترین قیمت 3 روز قبل بیشتر یا مساوی از میانگین 6 روز قبل باشه لطفا راهنمایی بفرمایید تشکر و سپاس از لطف شما
                      علیکم‌السلام‌ورحمةالله.
                      ببخشید که دیر دیدم. اگر هنوز هم مشکل بود بفرمایید.
                      در اصل توسط AM.YASIN پست شده است View Post
                      سلام میگم فیلتر درباره ema هم داریم؟
                      سلام.
                      پیدا کردید تو اینترنت؟ گمان کنم هست. اگر تا حالا هنوز پیدا نکردید بفرمایید ببینیم می‌توانیم کاری‌اش کنیم یا نه؟
                      در اصل توسط szgolyas پست شده است View Post
                      ارور میده
                      سلام.
                      چه خطایی می‌دهد؟ برای من که خطا نمی‌داده. (اگر توانستید تصویر خطایش را یک جایی بارگذاری کنید. که ببینیم.)
                      «محمد حسین» هستم.
                      امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

                      نظر

                      • mhjboursy
                        ستاره‌دار (۱۳)
                        • Jul 2013
                        • 18270

                        #116
                        پاسخ : فیلتر نویسی در tsetmc

                        یکی از دوستان امروز از من یک پالایه خواسته بود که برایش نوشته بودم. گفتم اینجا قرار دهم:

                        نمادهایی که نسبت به میانگین متحرک قیمتی ۵۰ روزه‌شان کم نوسان بوده‌اند در ده روز اخیر.
                        //بسم‌الله‌الرحمن‌الرحیم
                        //___________________________________________میانگین گیری ساده‌ی قیمتی
                        Roozhaye_Miangin_Giri = 50;
                        days_count = sum = 0;
                        for (n = 0; n < Roozhaye_Miangin_Giri; n++) {
                        if (typeof([ih][n]) != "undefined") {
                        sum += [ih][n].PClosing;
                        days_count++;
                        }
                        }
                        average = sum / days_count;
                        //___________________________________________ پیدا کردن بیشترین درصد نوسان در روزهای گذشته
                        Roozhaye_Sanjesh_e_Navsan = 10;
                        Bishine_Navasan = 0;
                        for (n = 0; n < Roozhaye_Sanjesh_e_Navsan; n++) {
                        if (typeof([ih][n]) != "undefined") {
                        Ekhtelaf_Ba_Miangin = Math.abs([ih][n].PClosing - average);
                        Bishine_Navasan = Ekhtelaf_Ba_Miangin > Bishine_Navasan ? Ekhtelaf_Ba_Miangin : Bishine_Navasan;
                        }
                        }
                        Bishine_Navasan /= average / 100; // صد برای درصد کردن - نکته آموزشی
                        //___________________________________________ پالایه
                        if (Bishine_Navasan <= 5)
                        true;
                        else
                        false;

                        «محمد حسین» هستم.
                        امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

                        نظر

                        • mhjboursy
                          ستاره‌دار (۱۳)
                          • Jul 2013
                          • 18270

                          #117
                          پاسخ : فیلتر نویسی در tsetmc

                          سلام دوستان از من MFI‌ خواسته بودند.
                          شماره‌ی یک) از روی RSI که ساخته‌ بودند و تغییرش دادم:

                          Code:
                          true == function () {
                              var CalculateMFI = function (period) {
                                  var len = [B]20[/B];
                                  for (var i = [B]0[/B]; i < len; i++) {
                                      var rec = [ih][len - [B]1[/B] - i];
                                      var change = rec.PClosing - rec.PriceYesterday;
                                      cahnge2 = change * rec.QTotTran5J;
                                      if (change > [B]0[/B]) {
                                          rec.gain = cahnge2;
                                          rec.loss = [B]0[/B];
                                      } else {
                                          rec.gain = [B]0[/B];
                                          rec.loss = -cahnge2;
                                      }
                                  }
                                  var gainSum = [B]0[/B];
                                  var lossSum = [B]0[/B];
                                  for (var i = [B]0[/B]; i < period; i++) {
                                      var rec = [ih][len - [B]1[/B] - i];
                                      gainSum += rec.gain;
                                      lossSum += rec.loss;
                                  }
                                  var averageGain = gainSum / period;
                                  var averageLoss = lossSum / period;
                                  // Calculate subsequent "average gain" and "average loss" values
                                  for (var i = period + [B]1[/B]; i < len; i++) {
                                      var rec = [ih][len - [B]1[/B] - i];
                                      averageGain = (averageGain * (period - [B]1[/B]) + rec.gain) / period;
                                      averageLoss = (averageLoss * (period - [B]1[/B]) + rec.loss) / period;
                                      rec.averageGain = averageGain;
                                      rec.averageLoss = averageLoss;
                                  }
                                  // Calculate MFI
                                  var MF = [B]0[/B]; // Relative strength
                                  var MFIndex = [B]0[/B]; // Relative strength index
                                  for (var i = period + [B]1[/B]; i < len; i++) {
                                      var rec = [ih][len - [B]1[/B] - i];
                                      MF = rec.averageGain / rec.averageLoss;
                                      MFI = [B]100[/B] - [B]100[/B] / ([B]1[/B] + MF);
                                      rec.mfi = MFI;
                                  }
                              return MFI;
                             };
                                  (cfield1) =  Math.round(CalculateMFI([B]14[/B]));
                              return true;
                          }
                          ()
                          «محمد حسین» هستم.
                          امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

                          نظر

                          • mhjboursy
                            ستاره‌دار (۱۳)
                            • Jul 2013
                            • 18270

                            #118
                            پاسخ : فیلتر نویسی در tsetmc

                            MFI
                            شماره دو) خودم ساخته‌ام:
                            Code:
                            // بسم‌الله‌الرحمن‌الرحیم
                            function MHJ_MFI(period) {
                                if (typeof([ih]) == "undefined")
                                    return 0;
                                PMF = NMF = 0;
                                i = period + 1;
                                price = ([ih][i].PriceMax + [ih][i].PriceMin + [ih][i].PClosing) / 3;
                                yesterday_value = price * [ih][i].QTotTran5J;
                                // ______________________________________________
                                for (i = period; i >= 0; i--) {
                                    if (typeof([ih][i].PClosing) == "undefined")
                                        continue;
                                    price = ([ih][i].PriceMax + [ih][i].PriceMin + [ih][i].PClosing) / 3;
                                    value = price * [ih][i].QTotTran5J;
                                    if (value > yesterday_value)
                                        PMF += value;
                                    else
                                        NMF += value;
                                    yesterday_value = value;
                                }
                                result = 100 * PMF / (PMF + NMF); // MF = PMF / NMF;// result = 100 - (100 / (1 + MF));
                                return result;
                            }
                            // ______________________________________________
                            (cfield0) = Math.round(MHJ_MFI(14));
                            // ______________________________________________
                            true;
                            «محمد حسین» هستم.
                            امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

                            نظر

                            • mhjboursy
                              ستاره‌دار (۱۳)
                              • Jul 2013
                              • 18270

                              #119
                              پاسخ : فیلتر نویسی در tsetmc

                              لازم به ذکر است که کلا همه‌ی اینها با هم فرق می‌کند.
                              فرقشان را هم نمی‌دانم در چیست؟
                              MFI را در آمی‌بروکر برای فملی نگاه می‌کنی می‌بینی زده 60
                              در متاتریدر 56
                              در آن کدی که در بالا درج کردم و اصلاح شده در می‌آید 74
                              در این کد آخر هم که تازه نوشته‌ام در می‌آید 73

                              همه با هم فرق می‌کند... خیلی هم فرق می‌کند. البته یک مقدار ضعف در کدهای جاواسکریپت وجود دارد. طبیعی هم هست. برای این کار ساخته نشده‌اند. مثلا باید دانه دانه حساب شود روزهایی که هر یک از این مشخصات (سه نوع قیمت + حجم) از سوی سازمان بورس اعلام نشده چه جور تاثیری دارد و متناسب با همان برنامه را تغییر داد... ولی کلا چه کاری است؟


                              توصیه همیشگی به دوستان:
                              پالایه‌نویسی تارنمای TseTmc کلا چیز خوبی نیست. به درد این‌جور کارها نمی‌خورد (به درد هیچ جور کاری نمی‌خورد). از همه لحاظ جایگزین دارد و جایگزین‌هایش به مراتب کارایی بالاتر و بهتری دارند نسبت به این کد نویسی جاواسکریپتی در TseTmc.
                              بهتر است آدم یواش یواش یا اصلا از همان آغاز کار رو بیاورد به سوی متاتریدر و آمی‌بروکر و یا حتی زبان‌های برنامه‌نویسی کاملی مانند جاوا و پایتون و سی‌پلاس‌پلاس و ...

                              اگر کسی احیانا استفاده کرد: لطفا یک دعایی هم برای ما و رفتگانمان بکند. اگر شد. مممنونم.
                              /:.Heart.:/
                              «محمد حسین» هستم.
                              امیرالمومنین(ع):برای دنیایت چنان کار کن که گویا همیشه زندگی خواهی کرد و برای آخرتت چنان که گویا فردا خواهی مرد.

                              نظر

                              • abdolhossein
                                عضو فعال
                                • Feb 2019
                                • 1585

                                #120
                                پاسخ : فیلتر نویسی در tsetmc

                                سلام.
                                ایا در خصوص فیلتر نویسی کتابی ترجمه یا تالیف شده است؟
                                منظورم کتاب های چاپی است نه الکترونیکی.
                                ممنون.

                                نظر

                                در حال کار...
                                X