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

 
A100:

Результаты typename не совпадают

Результат:   false

Ожидалось: true

Ошибки нет. Нужно было это прописать

string _typename( T& ) { return typename( T ); }
 
fxsaber:

Ошибки нет. Нужно было это прописать

С добавлением & это уже другой код

С таким же успехом можно было заменить A* на int - и то же написать что с int ошибки нет

template<typename T>
    string _typename( T ) { return typename( T ); }
class A {};
void OnStart()
{
     A* const a = NULL;
    int const b = NULL;                             //Результат:
    Print( _typename( a )    ==    typename( a ) ); // false
    Print( _typename( b )    ==    typename( b ) ); // true
}
А какая разница?
 

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

class A {};
                     void f1( A* const ) {}
template<typename T> void f2( T  const ) {}
void OnStart()
{
    int i;
    A  *a;
    f1( a ); //нормально
    f2( i ); //нормально
    f2( a ); //Error: 'f2' - cannot to apply function template
}
 

PositionSelectByTicket

Выбирает открытую позицию для дальнейшей работы с ней по указанному тикету. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функциюGetLastError().

bool  PositionSelectByTicket(
   ulong   ticket     // тикет позиции
   );

Параметры

ticket

[in]  Тикет позиции.

Возвращаемое значение

Значение типа bool.

Примечание

Функция PositionSelectByTicket() копирует данные о позиции в программное окружение, и последующие вызовыPositionGetDouble(),PositionGetInteger()иPositionGetString()возвращают ранее скопированные данные. Это означает, что самой позиции может уже и не быть (или же она изменилась по объему, направлению и т.д.), а данные этой позиции можно еще получать. Для гарантированного получения свежих данных о позиции рекомендуется вызывать функцию PositionSelect() непосредственно перед обращением за ними.

Ошибка в Документации. Должно быть PositionSelectByTicket в выделенном месте. Из-за этой опечатки даже модераторы путаются.

Документация по MQL5: Торговые функции / PositionSelectByTicket
Документация по MQL5: Торговые функции / PositionSelectByTicket
  • www.mql5.com
Выбирает открытую позицию для дальнейшей работы с ней по указанному тикету. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Функция PositionSelectByTicket() копирует данные о позиции в программное окружение, и...
 
из профилей пропала система сообщений, это правильно ?
 
Vladimir Pastushak:
из профилей пропала система сообщений, это правильно ?

С точки зрения MQ, видимо, правильно. Как всегда, решили за нас, как удобнее.

 
Andrey Khatimlianskii:

С точки зрения MQ, видимо, правильно. Как всегда, решили за нас, как удобнее.

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

В профиле исчезли сообщения.

Renat Fatkhullin, 2018.03.08 10:31

Убрали временно, чтобы уменьшить объем функционала, работающего в режиме совместимости.

Как закончим процесс переноса, добавим новые возможности.

Это новая очень большая и многофункциональная система.


Внедряются новые чаты.

 
Andrey Khatimlianskii:

С точки зрения MQ, видимо, правильно. Как всегда, решили за нас, как удобнее.

Переходим на уровень телепат... )))))

 

Непонятный баг в основном индикаторе. Возникает только на таймфреймах ниже H1, и только в момент запуска терминала. Текст ошибки «S-v5 (EURUSD,M10) array out of range in 'S-v5.mq5' (211,54)». Отрисовка происходит корректно, но в обратном порядке, хотя для всех буферов установлен флаг таймсерии.

Состав шаблона – основной индикатор (№1) (в котором возникает ошибка), дополнительный индикатор (№2) (объединение нескольких хендлов основного индикатора с различными параметрами (период просмотра)), индикатор (№3) выводящий стрелки на основной график по сигналам с индикатора №1), индикатор (№4) выводящий стрелки на основной график по сигналам с индикатора №2.

Переключении таймфрейма, повторное применение шаблона, если убрать любые 2 индикатора с 2 по 4 или только под номером 1, вывод нового символа из обзора рынка и применение данного шаблона – ошибка не воспроизводиться и отрисовка всех индикаторов происходит корректно.  

 

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

#import "Test1.ex5"
       void f1();
#import "Test2.dll"
       void f2();
#import
typedef void (*fn)();
void OnStart()
{
    fn fn1 =        f1; //нормально
    fn fn2 =        f2; //Error: 'f2' - pointer to this function type is not supported yet
    fn fn3 = Test2::f2; //нормально
}