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

 

Всем привет. А у Вас здесь вопросы любые можно решать или спрашивать ?

 
Здравствуйте,кто-то может подсказать почему информация в MQL5 отображается не корректно? Я внёс на счет брокера определенную сумму,затем прикрепил счёт к MQL5,на сайте отобразились все операции по счёту. Далее спустя некоторое время я вновь пополнил счёт брокера,но на MQL5 в строке пополнения сумма не отображается((((Подскажите почему всё так?
 
29Pilot29:

Всем привет. А у Вас здесь вопросы любые можно решать или спрашивать ?

не любые, только по MQL4/5.

любые можно задавать тут: https://www.mql5.com/ru/forum/3457

 
Andrey Khatimlianskii:

Вы такой крутой, что слов нет.

Но с элементарной проверкой торговой сессии не справились почему-то. Обратитесь в Фриланс, вам там напишут "километровый и сложный" код за 30 баксов.

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

Вы так и не поняли в чем дело, видимо невнимательно читаете мои посты. Мое обращение к разработчикам, а не к вам. Я не нуждаюсь вашим дешевым советам.

Успокойтесь и не надо так волноваться.

 
Igor Makanu:

косвенно можно попробовать посчитать https://www.mql5.com/ru/forum/290130

я прикидывал, вроде как получается, что задачу которую выполнял бы один агент на мажоре около 1,5 дней в облаке будет выполнено за 2-3 минуты за сумму около 5 $

Почитал. Вот написано MQ:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Генетическое тестирование на MQL5 cloud, "съел" весь баланс

MetaQuotes, 2018.11.15 15:49

Какие были тесты:

Эксперт Символ Проходы Агенты USD Время агентов Запущено Затрачено чч:мм
Three in One OPTIM AUDJPY.m, M1 588 917 7.16 22h 59m 2018.11.14 12:58 00:22
Three in One OPTIM EURAUD.m, M1 795 512 9.45 1d 13h 46m 2018.11.14 10:38 02:13
Three in One OPTIM USDCAD.m, M1 2366 512 4.41 1d 11h 35m 2018.11.14 09:50 01:45

С учетом экономии разумные деньги.

Но не очень понятно. Что такое "время агентов" и зачем оно нужно, если мы платим, наверно, за "Затрачено"? Или не так?

Каким образом 588 проходов может быть выполнено на 917 агентах? И даже когда 795 проходов на 512 агентах получается в пакете заданий 1.5 прохода, а насколько я помню пакеты состоят из многих проходов - или не так?

 
Stanislav Korotky:

Почитал. Вот написано MQ:

Но не очень понятно. Что такое "время агентов" и зачем оно нужно, если мы платим, наверно, за "Затрачено"? Или не так?

Каким образом 588 проходов может быть выполнено на 917 агентах? И даже когда 795 проходов на 512 агентах получается в пакете заданий 1.5 прохода, а насколько я помню пакеты состоят из многих проходов - или не так?

не знаю, я читал давно то, что презентовали https://www.mql5.com/ru/forum/8060 и понял, что одного агента можно оценивать как некую единицу производительности:

(500 облачных агентов * 24 минуты / 4 локальных агента) = 3000 минут

 

Ну и конкретно сколько человек потратил Вы уже видели -  довольно дорого по моим задачам - результат то не гарантирован....

про оценку в виде агент = производительность, логика как бы присутствует - частоты ЦП на одно ядро уже давно в районе максимальных у всех современных ПК, рост производительности в основном за счет оптимизации архитектуры ЦП

 
Aleksey Vyazmikin:

А ключ портативного режима не требуется случайно?

Руками запускаются все терминалы? 

Руками, да все запускаются. В итоге, так руками и запускал.

Ключ портативного режима ничего не меняет в этом отношении.

Дело в том, что МТ4 выбрасывает окно авторизации, и запуск программы не считается завершённым.

Надо использовать "start" в пакетном файле.

В общем, получается, разобрался я в этом вопросе.

Спасибо за участие!

 
Petros Shatakhtsyan:

Вы так и не поняли в чем дело, видимо невнимательно читаете мои посты. Мое обращение к разработчикам, а не к вам. Я не нуждаюсь вашим дешевым советам.

Успокойтесь и не надо так волноваться.

В очередной раз убеждаюсь что люди с низким развитием мозговых извилин как правило и про вежливость мало понимают. 

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

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

Ранее, при работе над MQL проектами, информация о дефектах (багах) предоставлялась в порядке их обнаружения.
Сейчас же решено опробовать новый подход - работа до блокирующего дефекта с последующим предоставлением информации о всех обнаруженных. 
 
#ifdef __cplusplus
   #include <iostream>
#endif 

#define PRINT(x) ; Print(#x, ":", string(x))


template<typename T>
class main_wrapper{
public:
   T data;
};

template<typename T>
class external_wrapper{
public:
   T data;
};

template<typename T>
class A{
public:
   class internal_wrapper : public external_wrapper<T> {};
   
   main_wrapper<internal_wrapper> internal_wrapper_0;
   main_wrapper<external_wrapper<T>> external_wrapper_0;
   
   A(){
        main_wrapper<internal_wrapper> internal_wrapper_1;
        main_wrapper<external_wrapper<T>> external_wrapper_1;
   
        #ifdef __MQL5__
            PRINT(__FUNCSIG__);
            PRINT(typename(internal_wrapper_0.data.data));      // (Bug) int  int
            PRINT(typename(external_wrapper_0.data.data));      // (OK)  int  B*
            PRINT(typename(internal_wrapper_1.data.data));      // (Bug) int  int
            PRINT(typename(external_wrapper_1.data.data));      // (OK)  int  B*
        #endif
   }
};

class B{
   char data[10];
};

class C{
   char data[1000];
};


void OnStart()
{ 
   A<int> val_int;
   A<B*> val_ptr;
   
   printf("%d\n", sizeof(main_wrapper<A<B>::internal_wrapper>));  // (Bug) 36  //sizeof(main_wrapper<A<int>::internal_wrapper>) is used
   printf("%d\n", sizeof(main_wrapper<A<C>::internal_wrapper>));  // (Bug) 36  //sizeof(main_wrapper<A<int>::internal_wrapper>) is used
}

int main(){
   OnStart();
   return 1;
}
Очень противный баг MT5(build 2316), блокирующий дальнейшую разработку.
Создаешь сложный несколько раз обернутый объект с внутренним типом "С", а там оказывается совсем другой тип данных, может "B", может "int", что хочешь...

Убил уйму времени и сил, что бы раскопать и понять, что проблема не в коде, а в работе MQL компилятора. (С++ online: https://onlinegdb.com/H1R1fR5ML)
Предположительно, проблема в работе кеша шаблонного класса "main_wrapper" при генерации кода во время компиляции, когда в качестве параметра передается internal class "internal_wrapper" от шаблонного класса "A" для различных типов данных (int, B*, B, C).
Какой первый тип данных будет создан шаблонным классом "main_wrapper<A<TEMPLATE_TYPE>::internal_wrapper>, такой тип данных и будет далее использоваться во всех объектах, данного шаблона в будущем.


Другой баг с генераций кода шаблонного класса будет предоставлен ниже.