Troubled by the error there are no trading operations - page 13

 
Andrey Kaunov:

Artyom, this is the second time I've asked and I haven't received an intelligible answer (no offense). Why does it always turn on the NZDUSD and then crash into a glitch with endless waiting. It's the validator that crashes, not the Expert Advisor. There is no place for the Expert Advisor to crash.

...

No, it doesn't. And it did pass the test on your EA on NZDUSD (no trades - also a result), and it didn't crash into endless waiting anywhere. It didn't wait for testing to complete on GBPUSD M30 - and gave you a very long testing error.

I don't know how the validator works. I cannot tell why it often fails to open positions on NZDUSD. Maybe there are special conditions there.
 
Renat Akhtyamov:

small fix, just for fun:

sOr=bOr=0;

bool sCorrect=true;

      for (i=OrdersTotal()-1;i>=0;i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )
         {

            if (OrderSymbol()!=Symbol()) continue;

            if(OrderCloseTime()!=0) continue; // лучше не забывать. Бывает редко но метко
            if(OrderType()==OP_BUY)bOr=bOr+1;
            if(OrderType()==OP_SELL)sOr=sOr+1;
         } else {

            sCorrect=false; // не смогли выбрать ордер, sOr, bOr могут быть некорректны

         }
      }

if (sCorrect) {

// sOr, bOr точно корректны

if(sOr==0)

{

//open sell

}

if(bOr==0)

{

//open buy

}

}

OrderSelect as a separate condition
 
Artyom Trishkin:

You do not need to put in rigid parameters. All parameters should be calculated from trading conditions. Leave the opening lot in the settings. If the lot is calculated, then if there is a shortage of funds, even with the smallest lot, display a message about it. All other parameters of the transaction should also be checked, controlled and corrected. If the correction is impossible, you will be notified accordingly.

However, if there are a lot of conditions and they all depend on the current state of trade and signals, it is likely that there will be no deal in the validator. In this case an individual approach to testing such an EA is needed.

Yes, the current version is like a machine gun in the tester. This is a completely different EA, there are almost no conditions for opening. It is already impossible to make the trades not to open using external settings. Only test with unreal lot and depot size. But even then it doesn't go into a coma like in validator.

So on my suggestion, you didn't answer.


Artyom Trishkin:

No. I don't need other people's money for the person who paid it not to figure it out themselves. It's not the money that's more important, it's your result.

This is demagoguery.

I've been doing MQL programming for over 10 years now. And this is the first time I can't get the job done. Why is that? The answer is obvious, it doesn't depend on my efforts and knowledge. The problem is on the other side!
 
Andrey Kaunov:

Yes, the current version is gushing like a machine gun in the tester. This is already a completely different EA, there are almost no conditions for opening. It is already impossible to make trades not to open with external settings. Only test with unreal lot and depot size. But even then it doesn't go into a coma like in validator.

So about my suggestion, you didn't answer.


It is demagoguery.

Let it be demagoguery.

Got out of the discussion so as not to engage in demagoguery.

 
Artyom Trishkin:

Let there be demagoguery.

Got out of the discussion so as not to engage in demagoguery.

Of course, there is no need for demagoguery. You could just bring the person who operates the validator into the discussion and ask him why. Otherwise we're just going on and on about nothing and there's no point.

 
Maxim Kuznetsov:

small fix, just like that:

OrderSelect as a separate condition

It's quite possible, I won't argue.

I haven't run into any of these nuances yet.

 
Renat Akhtyamov:

It's quite possible, I won't argue.

I haven't run into any of these nuances yet.

What are you talking about here, Renate? Did I miss anything?

 
Andrey Kaunov:

Yes, the current version is gushing like a machine gun in the tester. This is already a completely different EA, there are almost no conditions for opening. It is already impossible to make trades not to open with external settings. Only test with unreal lot and depot size. But even then it doesn't go into a coma like in validator.

So about my suggestion, you didn't answer.


This is demagoguery.

I've been doing MQL programming for over 10 years now. And this is the first time I can't get the job done. Why is that? The answer is obvious, it doesn't depend on my efforts and knowledge. The problem is on the other side!

Think about what happens at Stop Out. (you already have Margin Call, Steppe is closer than ever)

your trade will be forcibly closed, but you ignore such an option and will go after it every tick (in history, it's long) and send incorrect orders.

 
Andrey Kaunov:

Yes of course, there is no need for demagoguery. You could just bring the person who operates the validator into the discussion and ask him why. Otherwise, we're just going on and on about nothing.

Even if they tell me the reason, which is unlikely, I won't give it to you. Not just you, but the whole community. And it's not because I'm bad.

So - first the code profiler, then you follow exactly the recommendations of the article you know, and then - publishing the advisor.

Профилирование кода - Разработка программ - Справка по MetaEditor
Профилирование кода - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
 
Andrey Kaunov:

What are you talking about here Renat? Did I miss a bit?

Seems to have written consecutively, question and answer.

All pages of the thread are accessible.