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

 
Karputov Vladimir:

Странно (лог-файл просмотрел). По опыту - если есть обновления, то после подключения буквально в течении трёх секунд начинается закачка.

На локальных компах - так оно и есть. Везде грузится. Такой гемор только на выделенном виртуальном сервере под виндовс-сервер по моему 2007 года.

 
Alexey Navoykov:

Как можно оператор= оставить без изменений, если это сейчас вызывает путаницу между указателями и самими объектами?  Если же использовать для этого *, то её следует использовать её и для всех остальных операторов. Должен быть единый стандарт.

Фактически вы предлагаете простую и понятную запись

a = (b + c) - d*e + f;
заменить на
*a = (*b + *c) - *d**e + *f;
И это ради чего? Ради того чтобы Вы могли записать
bool c = *a == *b;

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

Только создав математический базовый и производный класс, переопределив несколько (а не одну-две) арифметических операций, сделав их виртуальными и затем протестировав сложные выражения (а не только a = b + c) на их основе - только это приблизит Вас к пониманию того, что сейчас всё сделано ОПТИМАЛЬНО. А пока Вы рассуждаете на начальном уровне.

Если вынести сравнение указателей на равенство в отдельную функцию, то останется только одно(!) узкое место

class A {};

A *a = b; //однозначно присвоение указателю значения
a = b;    //неоднозначно
которое тем не менее также должно трактоваться как присвоение, а не вызов operator=(), поскольку в настоящее время для присвоения указателю значения не существует другого синтаксиса, в то время как a.operator=( b ) можно вызвать и явно
 
Alexey Navoykov:

А то что вы предлагаете, чтобы компилятор сам выбирал нужный вариант - это неправильно.  Будет куча трудноуловимых ошибок.

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

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

Правило №2 - не используйте сравнение указателей на равенство вне специальной функции, хотя язык и предоставляет такой синтаксис (для продвинутых пользователей)

Какие трудноуловимые ошибки???

 

Пересмотрите пожалуйста функцию

bool CTrade::FillingCheck(const string symbol)

Стандартной библиотеки

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

ORDER_FILLING_IOC, SYMBOL_FILLING_FOK

а только

ORDER_FILLING_RETURN


автоматом использовать данную часть библиотеки cTrade не получается на таких символах

 
Gennadiy Stanilevych:

На локальных компах - так оно и есть. Везде грузится. Такой гемор только на выделенном виртуальном сервере под виндовс-сервер по моему 2007 года.

У меня локальный, без прокси, с подключением к Metaquotes-Demo и многократной перезагрузкой все равно 1150.
 
Alexey Volchanskiy:
У меня локальный, без прокси, с подключением к Metaquotes-Demo и многократной перезагрузкой все равно 1150.
у меня везде 1159. скомпилировал весь софт на 1159-той версии и теперь ни один индикатор .ex5 не грузится на 1150 релиз, установленный на VPS. Лажа полная. 
 

Я может не в тему, но... Поясните, пожалуйста, такой момент: когда смотришь статистику по сигналу на сайте MQL5.com, там есть такой раздел как "Проскальзывание". И сказано, что оно измеряется в пунктах. А что считается за пункт? Это предпоследний знак в значении валютной пары? Или крайний? Например, пара USD/JPY сейчас находится в значении 119,793. Или пара EUR/USD со значением 1,13693. Где здесь пункты?

Спасибо! 

 

Что за извращенство со стороны модераторов Маркета?

Мой продукт работает Только на валюте 3 и 5 знаки ( о этом указано в описании )

А они не выставляют новую версию по причине ошибки в продукте

2015.08.26 15:43:03.415    2015.03.03 04:02  Hedging_Recovery__1 XAUUSD,H1: OrderSend error 130

Я им  ясно сказал что он только для валюты а не металлов.

И кто прав ? или что они от меня хотят?

Мне проще запрет поставить на металлы  

 
Torshkhoev:

Я может не в тему, но... Поясните, пожалуйста, такой момент: когда смотришь статистику по сигналу на сайте MQL5.com, там есть такой раздел как "Проскальзывание". И сказано, что оно измеряется в пунктах. А что считается за пункт? Это предпоследний знак в значении валютной пары? Или крайний? Например, пара USD/JPY сейчас находится в значении 119,793. Или пара EUR/USD со значением 1,13693. Где здесь пункты?

Спасибо! 

1 посл. знак за точкой
 
Leanid Aladzyeu:
1 посл. знак за точкой
Спасибо!