A bug in the OrderSend() function ? - page 2

 
hoz:


Right judging by the log. But if you run it in the tester with the same settings, then the pauses aren't set correctly periodically, which I've already said... That's what I wrote. I read the log, everything's nice and clear... Looking at the screenshot... (When I look at the chart, Inotice that the buy entry is somewhat lower than the buy entry... This is contrary to the condition.

But it's also strange that I haven't noticed this on M5, BUT it has been noticed that some entries are being missed.

If we look at the drawing, we'll see that the drawbar is in the flat, while at reversals we cannot catch it!
 
borilunad:

Victor, you need to study the indicators and methods of using them in your EA. Because it seems to me that you want something that you don't know how to execute.

I've been studying them, didn't I? I simply want the price to be set lower (higher) than the chart drawn at open or close price or it doesn't matter. There is no difference, because if you take a bar with index 1, it has already been formed and its value doesn't change any more... If the indicator doesn't redraw, it doesn't matter how it is drawn (though I understand how it is calculated, because I was paying attention to it and it's simple). After all, its value on previous bars is already there, and you can get it, which I did.

borilunad:

And another thing, you should not be so "hung up" on very strict conditions, because the price will certainly not behave the way you want it to in half of cases. So you have to run through the options of what you will do in the worst cases.

Boris, that in a real market there may be different options and the conditions will not always be met... YES! I understand that. But if the conditions are not met in the tester, that's weird at all. In the tester there are NO requotes, there are NO errors related to busyness of trade flow, etc. Logically all the orders should be perfectly executed.

In the tester, if all of the orders work out perfectly, then I can already think how the strategy behaves ideally. And then make appropriate decisions based on the statistics.

But if even in the Strategy Tester we cannot run the strategy, and it blatantly lies at every step, then what? Run from this platform and do not look back? Look for other ways?

I really want to write a sensible bot, I have my own strategies, which are full of my approaches and observations. Something has already been written, something is being tested in real life, something has been run in the tester, and everything works. Most often I wrote EAs on the basis of the wands, but the entries were not based on the wands.

I have decided to use readings of my wands as an input, and I was reborn. I cannot get any stable entries, they are skipped, entered at wrong prices somewhere. I don't think it would be appropriate to say I shouldn't trust the indices, because the computer has a certain series of values, and they must work properly.

I have already justified everything and, by the way, sent the question to sysop. So far I have not heard an intelligible answer...

borilunad:

Frankly speaking, I still do not understand why it is so important for you to enter this bar and not the other. In my opinion, the main thing is to identify and use the trend that has begun in time, and not a certain entry point. Try and compare different Mashkas, and then learn to use them as filters of unwanted entries and not as signals for entry, which often fails, and other indicators are not better!

Boris, if you look at it that way, it doesn't really matter where you enter :) You can enter somewhere and trawl for entries and not even spontaneously. My answer is simple! There are certain conditions. If something has not come true on the current candle, then let the others trade... I will wait... I'm not chasing the trend, I'm following it. I'm not even going to write another grail for a certain piece of history.

That's why I am picking on nuances. If we think that the entries according to the strategy will not always be observed even on H1 TF, than what to say about lower TFs? After all the H1 is not a minute, and not 5 minutes. In TF H1 the Expert Advisor has plenty of time to "think", especially in the tester ... So this is not the point.

 
borilunad:
Keep in mind that it's only on the flat that Mashka sticks to the bars, and you can't catch it on the spreads!

Doesn't matter :) My entry will be different. This is only a small trick, which I need to master. Further on it will get more complicated.
 
hoz:

Never mind :) My entrance will be different. It's only a small trick to master. It will get more complicated from here on.
And the most important thing is that you have persistence, the truth is that you probably lack patience and flexibility, but in time you will get what you want! Good luck!
 
maybe test the opening prices, especially on the hourlies...
 
YOUNGA:
maybe test on opening prices, especially on ticks...
Of course, better on ticks! The picture will be more plausible.
 
borilunad:
And most importantly, that you have persistence, the truth is probably lack of patience and flexibility, but over time you will achieve what you want! Good luck!


Thank you! By the way, I recently heard that from an acquaintance... a broker :) He said I was very stubborn and overconfident. I have no other option, I just have to finish what I started, otherwise nothing will happen.

YOUNGA:
can you test the opening prices, especially on the hourlies...


It looks like some extra pips are "eaten away" somewhere or something. Increased the indentation to 15, everything started to be set where it was not set. With less indentation not everywhere...

Here's what I'm thinking. I have to think up a way to make breakpoints appear when testing an Expert Advisor, if some conditions are met.. I have already done it when an order is sent or an error occurs, i.e. it is not sent somewhere, and here is what condition to set in order to "catch" the moment when the order is not opened, where I thought it was, ... that's already interesting. Of course, we may do it by time, but it is not the best option.

 

static datetime lastBarTime = 0; // Last calculation time

Remove this line from start and add corresponding declaration to global section.

After that you can repeat the series of TF switches, preferably in the same sequence as before.

Yes, also add in init: lastBarTime = 0;

 
bool OpenSell()
{
   int ticket = -1;
   double OOP = fastMa - SellHear * pt;               // Получаем значение цны открытия
   
   if ((Bid - ND(OOP)) >= g_stopLevel)                // Проверка цену открытия на стоплевел
   {
       if (ND(OOP) < Bid)           // Проверка что цена открытия ниже Bid, т.к. у нас вход отложенником
       {
           Print("Bid = ", Bid);
           Print("Ask = ", Ask);
           Print("fastMa = ", fastMa);
           Print("Цена покупки = ", fastMa + buyHear * pt);
           Print("i_thresholdFromMa * pt = ", i_thresholdFromMa * pt);
           ticket = OrderSend(Symbol(), OP_SELLSTOP, 0.1, ND(OOP), 3, 0, 0, NULL, i_magic, 0);
       }
   }
   if (ticket < 0)  <------ это как понимать? если ордер не установлен, то вернуть true, в функции bool OpenBuy() почему-то наиборот, где правильно????
   {
       return (true);
   }
   else
    
   Alert (GetLastError());
}
int GetStateMa(double fastMa, double slowMa)
{
   if (fastMa > slowMa)                          // Если условия выполнены, то..
       return (MA_DIRECT_TO_UP); <--здесь вверх  // ..машки направлены вниз <-- а здесь
   
   if (fastMa < slowMa)                          // Если условия выполнены, то..
       return (MA_DIRECT_TO_DOWN);  <---         // машки направлены вверх  <---
   if (fastMa = slowMa)
       return (MA_DIRECT_TO_NONE);              // Машки не имеют выраженного направления
}
и вообще весь код какой-то "Олбанский"
 
pako:
Albanian is not forbidden:)