Ошибки, баги, вопросы - страница 1383

 
Tatiana Zyrianova:
Здравствуйте. Можно ли по правилам этого сайта делать советники и прочие эксперты не через раздел фриланс, а напрямую, общаясь с заказчиком, и оплату производить также напрямую со счета заказчика, на счет исполнителя?
Нет.
 

Вызов метода с нулевым указателем

class A {
public:
        virtual void f() const { Print(__FUNCSIG__); }
        virtual void g()       { f(); }
	static  void h()       { Print(__FUNCSIG__); }
};
void OnStart()
{
        A *a = NULL;
        a.f(); //нет ошибки при выполнении (!)
        a.g(); //invalid pointer access
        a.h(); //нормально
}
Фактически A::f() в данном конкретном случае ведет себя как статическая
 
A100:

Вызов метода с нулевым указателем

Фактически A::f() в данном конкретном случае ведет себя как статическая
Спасибо, посмотрим.
 

не работает пример публикации новости на своей стене при помощи webrequest   приведенный в доке. дней 10 назад этот же пример работал. 

авторизация проходит успешно, файл (картинку) отправляет, при попытке отправить текст сайт возвращает 403 ошибку (запрещено).

может что то с заголовками изменили ?

я пишу статью на эту тему - хотелось бы ответа как можно скорее. 

WebRequest - Документация на MQL4
  • docs.mql4.com
WebRequest - Документация на MQL4
 

Функция WindowExpertName() возвращает теперь полное имя советника вместе с расширением, раньше было только имя !!!!!!!!!!

 

Здравствуйте,

не подскажете ли в чем ошибка кода, компилятор выводит: 'Cl' - the declaration not allowed for the current scope test.mq4 25 8

 class Cl

   {

      public:

         int x;

         int y;

         int func();

   };

   int Cl::func()

   {

      return(x+y);

   } 

   Cl z;

   z.x=1;

   z.y=2;

   int y=0;

   y=z.func();

   Print(y);

 
Vasua:

Здравствуйте,

не подскажете ли в чем ошибка кода, компилятор выводит: 'Cl' - the declaration not allowed for the current scope test.mq4 25 8

Тот кусок кода, который Вы показали компилируется без проблем, если основная часть (после объявления класса) будет существовать в какой-нибудь функции.

В MQL нельзя просто набирать исполняемые команды "в воздухе".

Подробно здесь:

https://www.mql5.com/ru/docs/runtime/running

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Программы MQL5 / Выполнение программ - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Здравствуйте! подскажите как сделать открытие ордера в СОВЕТНИКЕ по времени не 08:00 и т.д, а в 08:30 перипробывал вроде все, у меня стоит таймер input int TimeFr=240; который при изменении на тесте не открывает ордер
 
Romal001:
Здравствуйте! подскажите как сделать открытие ордера в СОВЕТНИКЕ по времени не 08:00 и т.д, а в 08:30 перипробывал вроде все, у меня стоит таймер input int TimeFr=240; который при изменении на тесте не открывает ордер

Таймер, в данном случае, - плохое решение. А в тестере с таймерами полный облом.

Если я правильно понял, суть сводится к простейшему.

На каждом тике в советнике с помощью TimeCurrent() нужно получить ответ на вопрос "пришло ли сейчас время выставлять ордер?" и...

 
Romal001:
Здравствуйте! подскажите как сделать открытие ордера в СОВЕТНИКЕ по времени не 08:00 и т.д, а в 08:30 перипробывал вроде все, у меня стоит таймер input int TimeFr=240; который при изменении на тесте не открывает ордер

делается событие = время открытия, это событие анализируется как нахождение этого события в вилке времени и плюс ко всему, после открытия ордера, нужно выставить флаг открытия и добавить к дальнейшему анализу, что бы исключить повторное открытие ордера...

к примеру модель событий можно сделать на контейнере <queue>...