Nur Nutzer, die das Produkt gekauft oder gemietet haben, können Kommentare hinterlassen
Janusz Trojca  
Eighteen_ 18 #:

Hello.

The indicator itself works well but I have one problem I can't get around. When i change the colors of the lines, they won't save. They reset to  red. 

Hello,

This requires a code fix. We already have the TPA update almost complete. Publication soon.

Samit Rajendra Dar  
Hello, I have bought the indicator, can you please send me the pdf manual and set of strategies? Also can you add me to the telegram account.
Janusz Trojca  
SammyD #:
Hello, I have bought the indicator, can you please send me the pdf manual and set of strategies? Also can you add me to the telegram account.

Hello,

The telegram group has been closed. Instead, based on telegram discussions, we have created an TPA User Manual covering the most important aspects of TPA trading. I have sent you two parts of the TPA user manual in a private message.

Earthy Stag beetle  
Good communication from seller - has to be a good thing 👏.
Earthy Stag beetle  

MT5 EA Integration

I am looking to integrate signals from the TPA indicator into the decision logic of my MT5 EA.

Pleae accept my apologies for my code formatting, I am a C programmer so it is written for my eyes.

I have written an initialisation function based on feedback from Janusz (thanks Janusz!) which looks like:

/* init_tpa_handle()
 *
 * Initialise the tpa indicator handle.
 *
 * Params: Void
 *
 * Returns: positive integer on success
 *          INVALID_HANDLE on failure
 */
int init_tpa_handle()
{
   int handle = iCustom(_Symbol,_Period, "Market\\TPA True Price Action MT5 Indicator",
               "", /* Short term filter settings label */
               false, /* Show TPA line */
               false, /* Active (default=true)*/
               false, /* Early signals */
               PERIOD_CURRENT, /* Short term Timeframe */
               21, /* Period */
               4.0, /* Smooth factor */
               "", /* Long term filter settings label */
               false, /* Active (default=true)*/
               PERIOD_H1, /* Long term Timeframe */
               "", /* Alerts label */
               false, /* Alert on Arrow */
               false, /* Email on Arrow */
               false, /* Notification on Arrow */
               false, /* Alert on dot */
               false, /* Email on dot */
               false, /* Notification on dot */
               "", /* Display settings label */
               true /* Show arrows */);
   printf("%s[%d], %s: handle_tpa[%d] open%s",
      __FILE__, __LINE__, __FUNCTION__,
      handle, handle == INVALID_HANDLE ? " failed" : "ed");
   return handle;
}

This code successfully opens the indicator handle, I get a message something like this:

2022.10.26 09:33:33.925 tpavg_obj.mqh[216], init_tpa_handle: handle_tpa[10] opened

I am not sure how to interpret the meaning of the contents of the buffers, here is the information Janusc sent me:

Although TPA trading strategy is developed mainly for manual trading, for which you will find many examples in the manual.
there is no problem with linking the indicator to EA.
Here's a description of the buffers:
[0] - buy arrow (entry signal)
[1] - sell arrow (entry signal)
[2] - buy dot (reentry signal)
[3] - sell dot (reentry signal)
[4] - tpa line

Based on that, I created a simple function to read data from the indicator into the buffers (FX: Sigh, yes, I know, it has been done many times before):

/* fill_indicator_buf()
 *
 * Populate an indicator buffer with requested data. 
 *
 * Params:  handle: int associated with an opened indicator
 *          bars: int specifying the number of bars data to request form handle
 *          sig_array: dynamic array storage for data returned by CopyBuffer
 *          buf_select: specifies indicator buffer requested.
 *
 * Returns: The copied data count or -1 in case of an error.
 */
int fill_indicator_buf(int handle, int bars, double &sig_array[], ig_tpa buf_select)
{
   ArraySetAsSeries(sig_array, true);     
   int n = CopyBuffer(handle, buf_select, 0, bars, sig_array);
   if ( n < bars )
      printf("%s[%d], %s: Failed to copy data from the indicator buffer %s: wanted %d got %d, error code %d",
         __FILE__, __LINE__, __FUNCTION__,
         EnumToString(buf_select), bars, n, GetLastError());
   return n;
}

And I wrote a little function to extract signals from the indicator - it's not finished, doesn't work and simply prints the contents of the first double in each bugffer to the log:

/* Enum for buffer identification */
enum ig_tpa {buy_arrow, sell_arrow, buy_dot, sell_dot, tpa_line};
/* Enum for signal types */
enum ig_order_action {ig_buy, ig_do_nothing, ig_sell};

/* check_tpa_entry()
 *
 * Fetch indicator data & inspect, looking to generate a signal. 
 * Currently the code is simply dumping the first (hopefully most recent)
 * double for each buffer to the log. I have no idea what the doubles should contain
 * for either an absence of a dot or arrow or the presence one.
 *
 * Params:  handle: int associated with an opened indicator
 *
 * Returns: ig_buy, ig_sell or ig_order on signal on success
 *          ig_do_nothing on failure
 *
 * As the code isn't functioning (as far as I can tell) at the moment, the function
 * will always return ig_do_nothing.
 */
ig_order_action tpa_vg::check_tpa_entry(int handle)
{   
   ig_order_action signal = ig_do_nothing;
   double buy_arrow_array[];
   double sell_arrow_array[];
   double buy_dot_array[];
   double sell_dot_array[];
   double tpa_line_array[];
   int n, len;
   int bars = BarsCalculated(handle);
   
   if ( bars <= 0 ) {
      printf("%s[%d], %s: No bars yet %d",
         __FILE__, __LINE__, __FUNCTION__, bars);
      return ig_do_nothing;
   }
   
   fill_indicator_buf(handle, 1, buy_arrow_array, buy_arrow);
   fill_indicator_buf(handle, 1, sell_arrow_array, buy_arrow);
   fill_indicator_buf(handle, 1, buy_dot_array, buy_dot);
   fill_indicator_buf(handle, 1, sell_dot_array, buy_dot);
   fill_indicator_buf(handle, 1, tpa_line_array, tpa_line);

   printf("%s[%d], %s: bars=%d, %s=%g, %s=%g,  %s=%g, %s=%g, %s=%g",
      __FILE__, __LINE__, __FUNCTION__, bars,
      EnumToString(buy_arrow), buy_arrow_array[0], 
      EnumToString(sell_arrow), sell_arrow_array[0], 
      EnumToString(buy_dot), buy_dot_array[0], 
      EnumToString(sell_dot), sell_dot_array[0], 
      EnumToString(tpa_line), tpa_line_array[0]);
   return signal;
}

It does print a (useless) message to the log and I am not receiving CopyBuffer errors, so it is 'sort of working':

2022.10.26 09:33:34.057 tpavg_obj.mqh[286], tpa_vg::check_tpa_entry: bars=100682, buy_arrow=1.79769e+308, sell_arrow=1.79769e+308,  buy_dot=1.79769e+308, sell_dot=1.79769e+308, tpa_line=0

I'd be very grateful if someone will criticise/suggest improvments. Part of the problem is I have no idea what to expect in the buffers or how to interpret the contents.

Thank you very much in advance.

Earthy Stag beetle  

Hello again,

Janusz suggested (and I thought) an example EA would be a useful starting point, so please find attached an MQL5 file with the above code.

It compiles and runs, but I wouldn't call it working 🙄😂.

You may not like the structure but it is extracted from my EA and it was easiest for me to present it like this.

I would be so very grateful on guidance as to:

a) get it working

b) how to interpret what the buffers are trying to tell me.

It is entirely possible I am doing something programmatically wrong, so apologies in advance.
Dateien:
Earthy Stag beetle  

Working EA integration Example for the TPA True Price Action MT5 Indicator

I had a lot of help from Janusz@Investsoft and that says a lot about this company and this product. 10/10 from me.

It really wasn't obvious to me how to read the signals and I really hope the attached file helps.

With my best regards ESB.

Dateien:
Thorsten  
Hello, i bought your indicator. Is there a manual and/or strategy sets you can send me ? Thanks!
Janusz Trojca  
Thorsten #:
Hello, i bought your indicator. Is there a manual and/or strategy sets you can send me ? Thanks!

Hello,

I sent a private message. Please check and reply.

T.J.Sch_318798  
Hello, I have just bought the indicator. Could you please send me the pdf manual and set of strategies and best practice? Thank you in advance
Janusz Trojca  
T.J.Sch_318798 #:
Hello, I have just bought the indicator. Could you please send me the pdf manual and set of strategies and best practice? Thank you in advance

Hello,

I sent a private message. Please check and reply.

taqm  
Hi, i bought your indicator. please send me the pdf manual.
Janusz Trojca  
taqm #:
Hi, i bought your indicator. please send me the pdf manual.

Hello,

I sent a private message. Please check.

sumair_es58  
Hi, i bought your indicator. please send me the pdf manual.
Craig Allen  
Hye J! Please check your DMs!
Janusz Trojca  
Craig Allen #:
Hye J! Please check your DMs!

Hi. Just replied you in private message. Please check.

Richard Alain Abessolo  
BONJOUR J'ai achete l'indicateur en pensant c'etait l'EA  votre video montre comme si c'était l'EA alors que c'est un simple indicateur
Janusz Trojca  
Richard Alain Abessolo #:
BONJOUR J'ai achete l'indicateur en pensant c'etait l'EA  votre video montre comme si c'était l'EA alors que c'est un simple indicateur

Bonjour. C'est vrai, il s'agit d'un indicateur tel qu'il se trouve sur le marché mql5.com dans la section Indicateurs et non dans la section Expert Advisors. L'indicateur est mentionné partout. Veuillez contacter notre support technique à cette adresse https://www.investsoft.eu/contact

Evgeny Mikhaylov  
Any ideas how to set stop-loss if I decide not to wait until opposite signal arrow?
Janusz Trojca  
Evgeny Mikhaylov #:
Any ideas how to set stop-loss if I decide not to wait until opposite signal arrow?

Write us a private message here https://www.investsoft.eu/contact and we will give you some tips on this area.

Nur Nutzer, die das Produkt gekauft oder gemietet haben, können Kommentare hinterlassen