• Overview
  • Reviews
  • Comments
  • What's new

Pi

Professional Prediction Indicator

Based on matching the history with selected pattern model and shows the most likely outcome.

Pi indicator includes Pattern line, Scanned_Past line, Matching_Pattern line, Future_Predicted line, adjustable Model Band, and some other controls.

This indicator is designed primarily for professional use and is very useful in the search for the probability of the results relating to the future.

Note: The results depend on model_band and past_bars. They are approximate, and therefore they must be compared with multiple timeframes.

You can run many instances for all timeframes at once. The indicator is relatively fast and has, like all our indicators, a built-in "slider history testing" technology and "Error control".

Program is design to operate in 2 automatic modes:

1. Slider mode

Turns on when attaching the indicator to the Chart or Visual Tester.

Here you can test/set your settings back in history with “slider” up to 32767 bars.

So, while Visual Testing EA, you can attach the indicator and easily adjust input parameters for critical points.
On Tester (only) you can exit "Slider mode" by pressing the <Esc> key.

You can easily switch between time frames on the selected position and compare the results.

2. Expert mode

Turns on when starting the indicator with "iCustom" function.

It is designed only for EA use and “slider history testing” is disabled.


It is tested and works very well in our EA "PointerX".

Please watch “testing” in HD … https://youtu.be/z1AfjBWIuhQ

We recommend running more instances of the indicator on different timeframes simultaneously for better results (M15, H1, H4) and optimization criteria every two months.


For programmers

The known command to retrieve a line index value for MQL4:

double piCurr=iCustom(NULL,TF_,"Pi",BAND_,FB_,SMOOTH_,0,PB_,3,cnt);
where:

NULL = current symbol

TF_ = enum_timeframes

"Pi" = path/name of the custom indicator compiled program

BAND_ = model band (int)

FB_ = future bars (int)

SMOOTH_ = line smoothness (int)

0 = last bar (int)

PB_ = past bars (int)

3 = line index (int)

cnt = shift (int)

Other buffers: 0=Pattern, 1=Scanned_Past, 2=Matching_Pattern

You can help with this code as an example:

// Function declaration - Define PI Indicator (Example)
   void definePI(...)
   {
      buyPI_=false; sellPI_=false;
      RefreshRates();
      const double tpBUY=NormalizeDouble(Ask+tpBuyL_,_Digits);
      const double tpSELL=NormalizeDouble(Bid-tpSellL_,_Digits);
      const double slBUY=NormalizeDouble(Bid-slBuyL_,_Digits);
      const double slSELL=NormalizeDouble(Ask+slSellL_,_Digits);
   // [Here put some Error test code ...]
   // then ...
      if(err_!=0) return;
      bool END_BUY=false;
      bool END_SELL=false;
      for(short cnt=0;cnt>=-FB_;cnt--)
      {
         double piCurr=EMPTY_VALUE;
         piCurr=iCustom(NULL,TF_,"Pi",BAND_,FB_,SMOOTH_,0,PB_,3,cnt);
         ResetLastError();
         if(piCurr==EMPTY_VALUE) {f_err_=true; buyPI_=false; sellPI_=false; Print(__FUNCTION__,"Pi=EMPTY_VALUE"); return;}
         const double pi_bid=piCurr;
         const double pi_ask=piCurr+spreadPnts_;
         if(UseSL_)
         {
            if(pi_bid<=slBUY) END_BUY=true;
            if(pi_ask>=slSELL) END_SELL=true;
         }
         if(pi_bid>=tpBUY&&!END_BUY) {buyPI_=true; break;}
         if(pi_ask<=tpSELL&&!END_SELL) {sellPI_=true; break;}
      }
      return;
   }


Pi input parameters settings

The order from left to right is: name, [default value], min-max value.

If you accidentally enter a lower or higher value, the min-max value is used.

  • ModelBand [130] 2-1000 - pattern line model width (in current bars)
  • FutureBars [300] 0-600 - bars for calculation to the furure (to the right)
  • Smooth [10] 0-100 - line smoothness
  • LastBar [0] 0-6000 - last bar for calculation (0 is current)
  • PastBars [1000] 0-6000 - bars for calculation in the past (to the left)


Additional information

The demo version is built to demonstrate the main features and usability of Pi.

If you like to use Pi unlimited or within an EA, you have to buy or rent this product.

Are you satisfied with our work? Share your experiences and leave a comment.

If you need help using our trading tools or you have an issue or question, please contact me.

Best regards!

VLabs

No reviews
Version 2.6 - 2017.04.06
1. Improvements in Tooltips/Names details
2. Now you can use the "Slider" in "Visual Tester" Mode
- while testing EA, you can run the indicator and easily adjust input parameters for critical points
- <Esc> key to exit "Slider" mode
Version 2.5 - 2017.02.09
1. Error correction: "Changing timeframes in Indicator Visualization Tab".
Version 2.4 - 2017.01.17
Program speed improvements ...