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.
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.2609: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':
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.
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
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
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.
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.
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:
This code successfully opens the indicator handle, I get a message something like this:
I am not sure how to interpret the meaning of the contents of the buffers, here is the information Janusc sent me:
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):
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:
It does print a (useless) message to the log and I am not receiving CopyBuffer errors, so it is 'sort of working':
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.
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.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.
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.
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.
Hello,
I sent a private message. Please check.
Hye J! Please check your DMs!
Hi. Just replied you in private message. Please check.
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
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.