Details on purchases in the marketplace

 

Good evening
I have a person who would like to buy an MQL5 indicator in the marketplace.

In fact I don't know what will happen to the client.
He gets an ex5?

He needs to do an icustom() on this bought/rented indicator

I would like to know where the ex5 will be installed in the metrader directories to be able to do this icustom()?

THANKS
Beautiful evening

 

It would work like this:

handle = iCustom(Symbol(), Period(), "Market\\IndicatorName", var1, var2, var3);

all indicators purchased from the marketplace go into the Market directory

 
THANKS
Where is this directory?
 Market

In indicators or elsewhere?

What are the file extensions for products purchased in the marketplace?
I think icustom doesn't care, but hey?

 

It's always ex5. I bought one indicator in the past, indicator and EAs alike are all using ex5 as the file extension

here it is in MT5,



 and for anyone to see their newly purchased indicator, it won't show until they refresh the folder

It had me on edge one time in the past when I didn't know this




technical path:

[MQL5 data folder]\MQL5\Indicators\Market

 

Hello and thank you for your response


You tell me about ex5 files, but on your screenshot I don't see a "market" directory containing ex5s, but a market file...

Can you confirm for me the presence of a market directory and the presence of ex5s inside, thank you?

Otherwise I think it will be difficult to give a path to icustom.

Could I go overboard and ask you if you can get a valid handle with icustom on a purchased indicator?


 
Gerard Willia G J B M Dinh Sy #:

Hello and thank you for your response


You tell me about ex5 files, but on your screenshot I don't see a "market" directory containing ex5s, but a market file...

Can you confirm for me the presence of a market directory and the presence of ex5s inside, thank you?

Otherwise I think it will be difficult to give a path to icustom.

Could I go overboard and ask you if you can get a valid handle with icustom on a purchased indicator?


It is as you have been told.

But you are a seller how do you not already know this!
 
Paul Anscombe # :
But you are a seller how do you not already know this!

Good morning
Because there is a beginning to everything, and I am no exception.

I only put it online in the marketplace a few days ago, and these are the first requests, from the first contact.

I'd rather be an idiot for a few moments than to remain one for the rest of my life

 

Usually when we use iCustom, we need to be clear about a few things like drawing styles that the indicator uses, and whether the buffers are set up as series (or not). We can use the data window to find some information, but not all - which makes it important for a customer to have direct contact with the developer (seller).

As an example, we'll use a free indicator called "Follow The Line MT5" that I'll try to use iCustom with.

The data window reveals that the indicator uses two buffers called "buy signal" and "sell signal":


But it doesn't tell me more information about them, so I don't know anything about the buffer properties. I can try to guess that it is two lines which use the DRAW_LINE drawing style.

I don't have contact with this developer (let's say I didn't bother). 

I start writing the buffer properties based on what I assume to be the case:

#property indicator_buffers 2    // the data window revealed from the market indicator that there are two buffers called "buy signal" and "sell signal"
#property indicator_plots   2

#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrLightBlue
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1


then in OnCalculate, it's also unknown to me how many bars are copied, but I do know which buffer uses index 0 and which buffer uses index 1, so I write this:

   int copied_a = CopyBuffer(handle, 0, 0, rates_total, buy_signal);   // the data window revealed from the market indicator that "buy signal" was buffer index 0
   int copied_b = CopyBuffer(handle, 1, 0, rates_total, sell_signal);  // the data window revealed from the market indicator that "sell signal" was buffer index 1


I do the error checking conditions, and now I'm confident enough to compile and run the new indicator which uses iCustom

this is the outcome:




I see something working, I have proof with prints in OnCalculate:

2024.06.05 00:02:08.681 ToDelete (XAUUSD,M15)   OnInit returned INIT_SUCCEEDED and now I'm calculating this indicator in OnCalculate
2024.06.05 00:02:08.681 ToDelete (XAUUSD,M15)   Testing the indicator: 2327.2870439836956
2024.06.05 00:02:08.923 ToDelete (XAUUSD,M15)   OnInit returned INIT_SUCCEEDED and now I'm calculating this indicator in OnCalculate
2024.06.05 00:02:08.924 ToDelete (XAUUSD,M15)   Testing the indicator: 2327.288862165514
2024.06.05 00:02:09.451 ToDelete (XAUUSD,M15)   OnInit returned INIT_SUCCEEDED and now I'm calculating this indicator in OnCalculate
2024.06.05 00:02:09.451 ToDelete (XAUUSD,M15)   Testing the indicator: 2327.290680347332
2024.06.05 00:02:09.743 ToDelete (XAUUSD,M15)   OnInit returned INIT_SUCCEEDED and now I'm calculating this indicator in OnCalculate


I could also retrieve the correct functionality in the original indicator, but it looks off. Maybe I should have used DRAW_COLOR_LINE in the properties, but I didn't know this information.

Script attached of how I used iCustom.

Files:
ToDelete.mq5  4 kb
 
Good morning
THANKS

The question will not arise for my customers, because if they need it, I will provide them with the icustom files for another indicator, or for an EA