Artificial indicator buffers - page 8

 
Alexey Viktorov:
Quite in the spirit of democracy... That's what everyone does...
What's democratic about it? What do you mean? Purely personal connections and knowledge of his goodwill. I already said: "forget democracy, there's no such thing as democracy".
 
Slawa:

I repeat. Posting ex5 without source code is self-promotion. A teaser. A cover for true intentions. Free debugging by community members before posting on the market.

The reference to "I don't want to post the source because blah, blah, blah" is either coquetry or an excuse for your not-so-good intentions.

Promises "dudes, I will surely show sources later" are not performed in most cases.

OK, your position is clear.

Let's assume that a person creates a thread. He starts a discussion of some idea for N pages and perhaps even says that later he will create a code based on this thread and post it in the market. There is no code or sources in the thread, just a discussion of the idea itself. The forum members are interested in keeping the conversation going, they are actively discussing it.

Will the moderator delete the thread immediately or will he have to say the cherished word "market"? Or what?

Why continue. I'd like to see that line which, in the new realities, is not allowed to be crossed.

 
Slawa:

I repeat. Posting ex5 without sources is self-promotion. A teaser. A cover for true intentions. Free debugging by community members before putting it on the market.

The reference to "I don't want to post the source because blah, blah, blah" is either coquetry or an excuse for your not entirely good intentions.

Promises "dudes, I will surely show sources later" are not performed in most cases.

You're wrong and inconsistent.

I don't show my sources either, because they are mine.

why don't you post the source code of the terminal?

Why are we discussing the terminal without the sources?

what is not a good intention in your terminal? backdoor ?

 
pako:

...

why don't you publish the source code of the terminal?

...

That's not it. At least the source code of the linear regression tool was posted. And you, pako, are posting in ex5, what lies in the sources in the next branch.
 
Dmitry Fedoseev:
And you, pako, are posting in ex5 what is in the source code of the next thread.

So? Can he go to a nearby thread and get the source code or is it too much trouble for him to use the search?

Everything is open in the documentation, and whoever needs it will go and get it.

 
Alexey Kozitsyn:

Why I continue. I would like to see a line that, in the new realities, is not allowed to be crossed.

You won't get an answer.

And you don't need an answer, because you know it beforehand.

Why don't you think that ex5 doesn't need to be posted? I already announced the statistics: since the very beginning of MQL5.com (is it almost 7 years? Or am I mistaken?) there are about 100 themes in all resource, Russian and English sections, where ex5 has been posted. I asked the webs specifically.

 
Slawa:

You will not get an answer.

And you don't need the answer, because you know it beforehand.

Why don't you believe that ex5 does not need to be posted? I already announced the statistics: since the very beginning of MQL5.com (is it almost 7 years? Or am I mistaken?) there are about 100 themes in all resource, Russian and English sections, where ex5 has been posted. I asked the webs specifically.

I would not have asked the question if I knew about it. I do not want to be penalized. Slava, I repeat, about ex, I already understand, the question is about something else: the creation of the product is categorically impossible to mention - it would already be considered as a potential advertising, teaser? With the removal of the branch and banned?
 
Alexey Kozitsyn:
With the deletion of the thread and the ban?

Oh, man. From democracy to totalitarianism.

Okay. (chuckles) I only answer for myself: "I don't know."

 
Got banned for 24 hours with the wording"Unwillingness to share with the community". Didn't see an argument with the moderator, so please, if anyone saw it, provide a quote. Respectfully asked not to delete ex5 (with an explanation of why it was necessary) - yes.

As for my first MT5-indicator, ex5 posted it on the blog(Admin (and part-time moderator) of the resourceallowed in the PM). I don't link directly to it, because I may be accused once again of self-promotion and other, in my opinion, nonsense, which fits so well into the modern conception of man... Perhaps too emotional, but, as said here, the aforementioned gag reflex that appeared (quite unexpectedly) does not allow (I can quote as evidence that I "wasn't going to") yet to post the source code, the obligation to post which I had originally stated. It is the current personal emotion of the perception of compulsion and not an attempt to create secrecy. I am grateful to all who have expressed their opinions.

The indicator was needed to demonstrate artificial indicator buffers. It outputs tick data (history + real time) to a common chart. As you can see even in the screenshot (and it was posted for the sake of understanding the idea in dynamics) there are values in each pixel of the chart, not once per bar. Personally, I have never seen such indicators, so (I could be wrong) stated that this is a completely new kind of indicator (its lack of standard indicator buffers does not make it so). If I'm wrong, please show me. I would be grateful.

When the indicator shows the horizontal parts of ticks, which clearly do not correspond to the bars, it is a BEGIN of CopyTicks (it can be fixed by reloading the terminal). Not to be unfounded, I give a proof in the form of an Expert Advisor

#define TRUE true
#define  THOUSAND 1000

void OnInit( void )
{
  ChartSetInteger(0, CHART_EVENT_MOUSE_MOVE, TRUE);

  return;
}

void OnDeinit( const int Reason )
{
  Comment("");

  return;
}

// Возвращает значение времени, которое показывает CTRL+D
bool  MyChartXYToTimePrice( const long Chart_ID, const int X, const int Y, int &SubWindow, datetime &time, double &Price )
{
  const bool Res = ChartXYToTimePrice(Chart_ID, X, Y, SubWindow, time, Price);

  if (Res)
  {
    const int period = PeriodSeconds(ChartPeriod(Chart_ID));
    const bool NextBar = (time % period > period >> 1);

    time /= period;

    if (NextBar)
      time++;

    time *= period;
  }

  return(Res);
}

string GetTicks( const datetime time, const int Amount = 10 )
{
  MqlTick Ticks[];

  const int AmountTicks = CopyTicks(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)time * THOUSAND, Amount);

  string Str = "Request's time = " + (string)time + ", result:";

  for (int i = 0; i < AmountTicks; i++)
    Str += "\n" + (string)Ticks[i].time + " bid = " + (string)Ticks[i].bid + " ask = " + (string)Ticks[i].ask;

  const int period = PeriodSeconds(_Period);

  if ((AmountTicks > 0) && (Ticks[0].time / period !=  time / period))
    Str += "\nWARNING!!!";

  return(Str);
}

void OnChartEvent( const int id, const long& lparam, const double& dparam, const string& sparam )
{
  if (id == CHARTEVENT_MOUSE_MOVE)
  {
    datetime time;
    double price;
    int SubWindow;

    if (MyChartXYToTimePrice(0, (int)lparam, (int)dparam, SubWindow, time, price))
      Comment(GetTicks(time));
  }

  return;
}

and a screenshot


You can clearly see with the indicator these horizontal bars increase in size with every tick - you can see the dynamics, of course, if it is running. So the indicator also visualises what happens to the internal tick caches in the terminal architecture.

Also, judging by the animated picture


the indicator is "ahead" - it shows the prices which WILL (in a second or more) be shown on the chart in the terminal as the current ones. But in fact it is the lag of the charts themselves from MarketWatch (the hypothesis that the indicator slows down the chart has fallen away - I checked it). So I highly recommend not to be guided by the "current" prices/bars that the chart shows. There is such a disease on MT4 as well. For some reason it has moved into the top 5.

Accessed at

comp:

Who has FORTS and ECN, give a report, what are the bugs there (I'm sure there are many).

Now for the subject - artificial MT4/5 indicator buffers. Wanted to have buffers that I can write to by ANY time (not just bar) double-value. And to have these buffers visualised accordingly. I asked how architecturally it's better to create such buffers. I.e. what kind of class we need, what interface to use it in the most convenient way. And, of course, is there a demand for such buffers?


The discussion (and indicator) was originally planned to lead only with programmers (not users). I do not exclude that I will be banned again after this post, because I got in a PM "your PR threads will be banned". I, unfortunately, do not manage to explain to myself why I am perceived as such.
 
comp:
Discussion (and indicator) originally planned to lead only with programmers (not users). I do not exclude that I will be banned again after this post, because I received in my PM "your PR threads will be banned". I unfortunately don't manage to explain to myself why I'm perceived that way.

Thanks, the topic is really interesting. The experiment is interesting. Especially the braking of the graph. I did not expect that. True, my tick is open all the time and I'm looking at it more.

Although, perhaps MT has such an algorithm that the Ask line is redrawn by a delta, for example. By the way, the ticks may not be trades, but changes of Bid-Ask, then the candle does not need to be redrawn.

As for the buffers, I don't understand the problem from my words. In a regular dynamical array - whatever you want and how much you want, that's what you may use. Where's the time there?

I'll have to take a look at delays between Bid-Ask and tick values in objects at my leisure. An extra point wouldn't hurt.

ZS Off-topic, but I also don't understand why the candles go at Bid and not at the price of the last trade, like on stock charts.

Reason: