class A {
public:
virtualvoid f() { Print( 1 ); }
};
class B : public A {
public:
virtualvoid g() { this.A::f(); } //1
};
class C : public B {
public:
virtualvoid f() { Print( 3 ); }
};
voidOnStart()
{
B *b = new C;
b.g();
}
При первом запуске сервиса, WebRequest возвращает 200. При повторном запуске сервиса ПКМ, WebRequest возвращает ошибку 1001. Удалив сервис и запустив снова, всё повторяется.
#property service#property copyright"Copyright 2019, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Service program start function |//+------------------------------------------------------------------+voidOnStart()
{
string headers = "";
char request[];
char result[];
string resHeader = "";
string url = "https://httpbin.org/get";
ResetLastError();
int res = WebRequest("GET", url, headers, 5000, request, result, resHeader);
if(res == -1)
{
Print("Ошибка в WebRequest. Код ошибки: ", GetLastError());
MessageBox("Необходимо добавить адрес '" + url + "' в список разрешенных URL во вкладке 'Советники'", "Ошибка", MB_ICONINFORMATION);
return;
}
elsePrint("res: "+(string)res);
Print(CharArrayToString(result));
}
//+------------------------------------------------------------------+
Здравствуйте. Что за беда с валидатором? Постоянно выдает ошибку "no trading operations", на EURUSD всегда, на других парах периодически. Началось того, что не мог пройти валидацию советником, постоянно выдавал эту ошибку, я давай искать проблему, убирать проверки и условия, и закончилось тем, что написал простейший советник, который на каждом тике открывает ордера, и что думаете? Ошибка никуда не делась. Вот код этого простого советника. Как быть?
Здравствуйте. Что за беда с валидатором? Постоянно выдает ошибку "no trading operations", на EURUSD всегда, на других парах периодически. Началось того, что не мог пройти валидацию советником, постоянно выдавал эту ошибку, я давай искать проблему, убирать проверки и условия, и закончилось тем, что написал простейший советник, который на каждом тике открывает ордера, и что думаете? Ошибка никуда не делась. Вот код этого простого советника. Как быть?
В реальном мире минимальный лот не всегда равен 1.0 да и денег на торговом счёте может быть всего $2.5 ...
Vladimir Karputov: В реальном мире минимальный лот не всегда равен 1.0 да и денег на торговом счёте может быть всего $2.5 ...
Дело не в лоте, я любой лот ставил, и нормализацию лота делал, да и ошибки были бы, а тут не на что не ругается, кроме как нет ни одной торговой операции.
Сомневаюсь что все верно, потому что допустим:
Результат в MQL: 3
, а в C++: 1
В любом случае пусть проверят
Я бы не был таким однозначным при интерпретации MQL кода на С++.
Код для С++ (online: https://onlinegdb.com/Hy1FIj9Qv):
Я бы не был таким однозначным при интерпретации MQL кода на С++.
Код для С++ (online: https://onlinegdb.com/Hy1FIj9Qv):
И как предлагаете 3ий вариант g_cast записать на MQL ?
И как предлагаете 3ий вариант g_cast записать на MQL ?
Можно явно вызвать функцию из базового класса:
Можно явно вызвать функцию из базового класса:
Если и когда исправят
можно конечно и явно будет вызывать в общем случае
И как предлагаете 3ий вариант g_cast записать на MQL ?
Ну вот так можно:
A(this).f();Build 2584
Ошибка не исправлена.
При первом запуске сервиса, WebRequest возвращает 200.
При повторном запуске сервиса ПКМ, WebRequest возвращает ошибку 1001.
Удалив сервис и запустив снова, всё повторяется.
Здравствуйте. Что за беда с валидатором? Постоянно выдает ошибку "no trading operations", на EURUSD всегда, на других парах периодически. Началось того, что не мог пройти валидацию советником, постоянно выдавал эту ошибку, я давай искать проблему, убирать проверки и условия, и закончилось тем, что написал простейший советник, который на каждом тике открывает ордера, и что думаете? Ошибка никуда не делась. Вот код этого простого советника. Как быть?
Здравствуйте. Что за беда с валидатором? Постоянно выдает ошибку "no trading operations", на EURUSD всегда, на других парах периодически. Началось того, что не мог пройти валидацию советником, постоянно выдавал эту ошибку, я давай искать проблему, убирать проверки и условия, и закончилось тем, что написал простейший советник, который на каждом тике открывает ордера, и что думаете? Ошибка никуда не делась. Вот код этого простого советника. Как быть?
В реальном мире минимальный лот не всегда равен 1.0 да и денег на торговом счёте может быть всего $2.5 ...
Дело не в лоте, я любой лот ставил, и нормализацию лота делал, да и ошибки были бы, а тут не на что не ругается, кроме как нет ни одной торговой операции.