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

 
fxsaber:

Еще не изучил. Вариант с библиотекой должен подойти - в советник, которому буду пакостить, пропишу библу, чтобы панелька для ручной торговли была.


Возможно ли в MT4-визуализаторе параллельно к тестовому советнику прикрутить (запустить) бесконечный торговый скрипт?

скрипты в визуальном режиме тестирования можно бросить на график тестирования, но он не сможет торговать

ну и в целом по вашей задаче: напакостить ))) , есть где то у меня ф-ция которая получает в качестве параметра время в секундах до закрытия бара и результат true/false если осталось меньше секунд чем в параметре - был заказик, заказчик просил убирать лимитные не сработавшие ордера за ххх-секунд до закрытия бара, в режиме все тики работает как часы

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

 
Igor Makanu:

скрипты в визуальном режиме тестирования можно бросить на график тестирования, но он не сможет торговать

ну и в целом по вашей задаче: напакостить ))) , есть где то у меня ф-ция которая получает в качестве параметра время в секундах до закрытия бара и результат true/false если осталось меньше секунд чем в параметре - был заказик, заказчик просил убирать лимитные не сработавшие ордера за ххх-секунд до закрытия бара, в режиме все тики работает как часы

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

Мне с дебагом каждой ручной ситуации нужно. Поэтому автоматический гад не подойдет.


Разобрался с хорошей библой  для моих целей.

На основе хорошей библы (Автору Спасибо, его имя не свечу на всякий пожарный, т.к. связан с Маркетом) для моих целей выкладываю короткий кросплатформенный советник для ручной торговли

#property strict

class EAPADPRO
{
public:
  EAPADPRO()
  {
    EAPADPRO_LIBRARY_OnInit();
  }

  ~EAPADPRO()
  {
    EAPADPRO_LIBRARY_OnDeinit();
  }
};

void OnTick()
{
  static const EAPADPRO EAPadPro;

  EAPADPRO_LIBRARY_OnTick();
}

void OnTrade()
{
  EAPADPRO_LIBRARY_OnTrade();
}

void OnChartEvent( const int id, const long &lparam, const double &dparam, const string &sparam )
{
  EAPADPRO_LIBRARY_OnChartEvent(id, lparam, dparam, sparam);
}

#ifdef __MQL5__
  #import "Lib - EAPADPRO v23 LIBRARY.ex5" // https://www.expforex.com/_ld/2/210_EAPADPRO_LIBRAR.zip
#else // __MQL5__
  #define ORDER_FILLING_FOK 0

  #import "Lib - EAPADPRO v23 LIBRARY.ex4" // https://www.expforex.com/_ld/2/210_EAPADPRO_LIBRAR.zip
#endif // __MQL5__

void EAPADPRO_LIBRARY_OnInit( bool = true, int = 0, int = -1, string = NULL, bool = false, string = NULL, int = ORDER_FILLING_FOK, string = NULL,
                              string = NULL, string = NULL, string = NULL, string = NULL, string = NULL, string = NULL, string = NULL, bool = true );
void EAPADPRO_LIBRARY_OnDeinit( const int = 0 );
void EAPADPRO_LIBRARY_OnTick( bool = true );
void EAPADPRO_LIBRARY_OnTrade( bool = true );
void EAPADPRO_LIBRARY_OnChartEvent( const int, const long&, const double&, const string&, bool = true );
#import

По коду должно быть сразу понятно, как подрубить к своему советнику и начинать ему гадить. Жаль, выставление отложек отсутствует.

 
fxsaber:

По коду должно быть сразу понятно, как подрубить к своему советнику и начинать ему гадить. Жаль, выставление отложек отсутствует.

Набросал вариант для отложек

 

Если на сайте на MT4-бесплатном Маркет-продукте нажать Скачать, то появляется такое

Если правильно понимаю, то выбор правой кнопки - это еще один способ получить mt4setup.

 
fxsaber:

Если правильно понимаю, то выбор правой кнопки - это еще один способ получить mt4setup.

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4setup.exe

устанавливает пятерку. крч нет.

хотя может параметры влияют, но вряд ли

 

Ошибки при компиляции

class A {
             A() {}
    virtual ~A() {} //Error: 'a' - cannot access private member function
    static A a;
};
A A::a;             //Error: 'A::~A' - cannot access private member function
 

Хорошо бы, чтобы при ошибках отдельных проходов можно было бы понять, при каких входных параметрах данный проход был произведен.

Сейчас в билде 1957 у меня постоянно часть проходов при оптимизации завершается с ошибкой No memory, указывается номер прохода, но как узнать, какие входные данные были при этом ? Вроде информация обо всех проходах сохраняется в специальном файле - как до нее добраться ?  

 

Ошибка при компиляции

#define MACRO1\ //Error: '\' - unexpected in macro definition
        MACRO2

а так:

#define MACRO1 MACRO2\ //нормально
               MACRO3

нормально. А какая разница?

 
послетала статистика для маркета и сбились все рейтинги
 
TheXpert:
послетала статистика для маркета и сбились все рейтинги

Статистика и рейтинги восстановлены.