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

 

как записать в SQLite текущее локальное время в одно из полей таблицы из тестера стратегий?

нугуглил 

SELECT datetime('now');

но хотелось бы в один запрос к БД отправлять 

хочу интересующие проходы оптимизации в БД писать, очень не хватает локального времени - забываю когда какие параметры ЕА  исследовал

UPD:

Нагулил решение, достаточно datetime() в тестовое поле записывать

INSERT INTO "tst"("Field1") VALUES (datetime('now','localtime'));
 
Igor Makanu:

как записать в SQLite текущее локальное время в одно из полей таблицы из тестера стратегий?

нугуглил 

но хотелось бы в один запрос к БД отправлять 

хочу интересующие проходы оптимизации в БД писать, очень не хватает локального времени - забываю когда какие параметры ЕА  исследовал

UPD:

Нагулил решение, достаточно datetime() в тестовое поле записывать

CREATE TABLE "foo" (

   "stamp" datetime default CURRENT_TIMESTAMP,

    --- прочие поля

);

по идее должно прокатывать - stamp будет выставляться при создании записи в текущее локальное время.

 
A100:
Объединим все в одном примере: Теперь вообще ВСЕ одинаково, а вопрос тот же: Какая разница между (1) и (2) ?

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

Проверил - да все верно,. компилятор пытается второй раз вызвать не функцию а конструктор внутри конструктора.

Во втором варианте получается что компилятор зачем то резервирует синтакс "f(" - именно как на "функцию" вызова конструктора 

class B {
public:
        B( int ) {}
};
class A {
        int f( int ) { return 0; }
        void g1()    { B f = f( 1 );  } //(1) нормально
        void g2()    { B f(  this.f( 1 )); } //(2) Прекрасно работает
};


Хотя это не точно)))   но...

Скорее даже так в ожидании обратной скобки класса на синтакс "f("... он встречает её у функции f(....) и закрывает её как класс(т.е. в нашем случае там происходит полная инициализация объекта B, вместо вызова функции)... потом уже решает оставшийся сегмент пытаясь конвертировать класс в переменую

походу Ваш код он пытается понять как


class B {
public:
        B( int ) {}
};
class A {
        int f( int ) { return 0; }
        void g1()    { B f = f( 1 );  } //(1) нормально
        void g2()    { B a(1);  B f (a(1)); } //(2) Error: '1' - some operator expected
};
Быстрое погружение в MQL5
Быстрое погружение в MQL5
  • www.mql5.com
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в...
 

Какое то бесполезное предупреждение

//Test.mqh
void f(); //Warning: no #import declaration
//Test.mq5
#include "Test.mqh"
void f() {}
Оно не помогает, а скорее даже мешает, потому что их очень много

При этом так:

//Test.mq5
void f(); //нормально
void f() {}

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

 
A100:

Какое то бесполезное предупреждение

Оно не помогает, а скорее даже мешает, потому что их очень много

При этом так:

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

Что-то не могу с имитировать.

Кода появляется? 

//Warning: no #import declaration

Ну какое же это ооп если нет объявления функций без тела .... названия класа без описания. ;)

При это ограничений на объявлений без тела - нету

 
Valeriy Yastremskiy:

по феньшуй в середину тогда уж самые частые) .... конечно привыкнут)


Renat Fatkhullin:
Меню отсортировали по частоте использования.

Через месяц все привыкнут.

По идее наиболее частые надо по середине - а не с краю. А то как раз ранее было удобнее т.к. ближе к центру было. Ну либо давайте поменяем буквы на клавиатуре и самые частые запихнем также влево))))

 
Alexandr Andreev:

Что-то не могу с имитировать.

Кода появляется? 

Ну какое же это ооп если нет объявления функций без тела .... названия класа без описания. ;)

При это ограничений на объявлений без тела - нету

Два файла сделайте: Test.mqh и Test.mq5 как написано выше

И причем здесь ООП? Вы тест предупреждения прочитайте сначала, какое отношение он имеет к тому, что объявление и реализацию функций разместили в разных файлах, что особенно удобно при большом их количестве

 
A100:

Два файла сделайте: Test.mqh и Test.mq5 как написано выше

И причем здесь ООП? Вы тест предупреждения прочитайте сначала

А ну да, поддерживаю

 
Обычный пользователь в терминале может как-то узнать общую рабочую папку? Для папки конкретного экземпляра есть пункт меню File | Open Data Folder. А почему нет аналогичного Open Common Data Folder? В MQL5 API можно эту папку узнать (TERMINAL_COMMONDATA_PATH), а из интерфейса нет?
 
Stanislav Korotky:
Обычный пользователь в терминале может как-то узнать общую рабочую папку? Для папки конкретного экземпляра есть пункт меню File | Open Data Folder. А почему нет аналогичного Open Common Data Folder? В MQL5 API можно эту папку узнать (TERMINAL_COMMONDATA_PATH), а из интерфейса нет?

Нет. Из терминала не узнать...