Ошибки, баги, вопросы - страница 1741
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что-то никак не сображу
int b=2;//b1
int aa(int a, int b)
{
return(a+a+b+b);
}
одно из a и b в return должны быть внешние //a1 и //b1. Через this не идет.
a + ::a + b + ::b
Но вообще за такую практику надо по рукам бить.
a + ::a + b + ::b
Но вообще за такую практику надо по рукам бить.
Спасибо.) Книги по С++ под рукой нет. Но визуально помнится, там вроде через this было. Подзабыл наверное. Применять для этих целей ранее не приходилось. Что-ж теперь, везде переменный менять -счас.
А вообще, оно для этого и предусмотрено. Так что - не правы. Злоупотреблять не стоит.
При перетаскивании (CHARTEVENT_OBJECT_DRAG) мышью графического объекта OBJ_CHART сбрасывается текущий интервал отображения в OBJ_CHART.
Прошу убрать в следующем билде данный сброс.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Ilyas, 2016.10.18 09:24
Почему список инициализации Вы не включаете в тело? Образно говоря, объект класса (в том числе его this) инициализируется на знаке ':'{
const int a;
A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected
// A() : a(this.a) {} // no problem
};
Идентификатор
Описание
Тип свойства
CHART_COMMENT
Текст комментария на графике
string
CHART_EXPERT_NAME
Имя эксперта, запущенного на графике с указанным chart_id
string
CHART_SCRIPT_NAME
Имя скрипта, запущенного на графике с указанным chart_id
string
Очень много времени потратил на локализацию. Советник
{
public:
const string Name;
const long Chart;
int GetSubWindow( void ) const
{
const ulong StartTime = GetMicrosecondCount();
const int Res = ObjectFind(this.Chart, this.Name);
Print((string)(GetMicrosecondCount() - StartTime) + " mcs.");
return(Res);
}
CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0 ) :
Name((string)MathRand()), Chart(chart_id)
{
ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0);
}
~CHARTOBJECT( void )
{
if (this.GetSubWindow() != -1)
ObjectDelete(this.Chart, this.Name);
}
long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const
{
return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier));
}
};
CHARTOBJECT Chart(OBJ_CHART);
CHARTOBJECT* Bitmap;
void OnInit()
{
Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));
}
void OnDeinit( const int Reason )
{
Bitmap.GetSubWindow();
delete Bitmap;
}
После того, как его удалите с чарта, будет вывод в лог
2016.10.22 19:35:48.351 Test9 (AUDCAD,M1) 3005619 mcs.
Три секунды он удалялся и вылетел. Воспроизводится только в релиз-варианте. При дебаге все нормально.
Просьба подтвердить у себя. В режиме скрипта воспроизвести не получилось. Только советник.
В справке сказано:
В режимах исполнения "По рынку" и "Биржевой" политика заполнения "Вернуть" всегда разрешена для всех типов ордеров. Разрешенность остальных типов проверяется при помощи свойств SYMBOL_FILLING_FOK и SYMBOL_FILLING_IOC.
Однако не всегда. Так на счетах в Robo "Вернуть" не работает, ни на счетах Pro, ни на счетах ECN.
В справке сказано:
В режимах исполнения "По рынку" и "Биржевой" политика заполнения "Вернуть" всегда разрешена для всех типов ордеров. Разрешенность остальных типов проверяется при помощи свойств SYMBOL_FILLING_FOK и SYMBOL_FILLING_IOC.
Однако не всегда. Так на счетах в Robo "Вернуть" не работает, ни на счетах Pro, ни на счетах ECN.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2016.10.20 08:24
СБ на всех торговых серверах//| Get the property value "ORDER_TYPE_FILLING" |
//+------------------------------------------------------------------+
ENUM_ORDER_TYPE_FILLING COrderInfo::TypeFilling(void) const
{
return((ENUM_ORDER_TYPE_FILLING)OrderGetInteger(ORDER_TYPE_FILLING));
}
ВСЕГДА в тестере возвращает ENUM_ORDER_TYPE_FILLING::ORDER_FILLING_RETURN.
Поэтому если в OrderModify filling задать через COrderInfo::TypeFilling(), то на том же RoboForexEU-MetaTrader 5 будет логичная ошибка [Unsupported filling mode]. Однако, на MetaQuotes-Demo этой ошибки не возникает - криво настроен сервер разработчиков?
В справке сказано:
В режимах исполнения "По рынку" и "Биржевой" политика заполнения "Вернуть" всегда разрешена для всех типов ордеров. Разрешенность остальных типов проверяется при помощи свойств SYMBOL_FILLING_FOK и SYMBOL_FILLING_IOC.
Однако не всегда. Так на счетах в Robo "Вернуть" не работает, ни на счетах Pro, ни на счетах ECN.
Есть подозрение что настройка заливки "Вернуть" вообще у всех торговых серверов стоит по-умолчанию (по крайней мере в FxPro так и ответили
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Режимы заполнения на серверах
Karputov Vladimir, 2016.10.14 19:18
Режим заполнения "Return":
Вернуть
Идентификатор отсутствует
Данный режим используется для рыночных (Buy и Sell), лимитных и стоп-лимитных ордеров и только в режимах "Исполнение по рынку" и "Биржевое исполнение". В случае частичного исполнения рыночный или лимитный ордер с остаточным объемом не снимается, а продолжает действовать.
А вот и ответ от торговой организации, касательно режима заполнения "Return"
Our MT5 expert has confirmed with Metaquotes, that return is using by default, and its applied when you choose nothing on filling.
)
Другими словами - это какая-то заглушка.