Vladimir Simakov: А кто Вам даст гарантию, что компилятор заинлайнил 100500 вызовов функции GetЧтоТо() в цикле, если перед вызовом стоит if(something) и этот something бывает false раз в пятилетку?
Вот мне как-то проще inline написать, чем дизассемблерный код смотреть для проверки.
И много вам удалось оптимизировать своими инлайнами в режиме Релиз? )
p.s. Это не вы ли тут недавно с выравниваниями заморачивались?
Други мои, подскажите, что же это делается, месяц все работало хорошо, а осмелился я загрузить депозит и вот словил ошибку - карма черная уже замучала :(
//+------------------------------------------------------------------+//|значение Regressor Номера буферов: 0 - Up, 1 - Center, 2 - Low |//+------------------------------------------------------------------+double Regressorf(int Bufer,int index)
{
double MA[1];
ResetLastError();
if(CopyBuffer(handle_Regressor,Bufer,index,1,MA)<0)
{
Print("handle_Regressor: Bufer=",Bufer," index=",index);
PrintFormat("Failed to copy data from the handle_Regressor indicator, error code %d",GetLastError());
return(0.0);
}
Print("handle_Regressor: Bufer=",Bufer," index=",index," arr=",MA[0]);
return MA[0];
}
С июля активно все тестировалось на реальном счете под моим чутким контролем, ошибки не было, и тут вывалилась :(
2019.08.1520:51:11.827 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=1 index=6272019.08.1520:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=0 index=6272019.08.1520:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=2 index=6272019.08.1520:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:54:17.867 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=1 index=627
Что это может быть? При этом индикатор сам визуально работает, переинициализация советника решила проблему.
Наверно у меня глупый вопрос, но не могу понять, что делаю не так. Начал обучаться языку MQL5 и возникла первая же проблема. Не получается запустить скрипт на немедленное открытие ордера (продажа\покупка, хоть какой-нибудь). Прям взял готовый код из справочника MQL5 и попробовал запустить (прикрепить скрипт к окошку графика). Не вышло. При компиляции естественно ошибок нет. А присоединить к графику не могу..всю голову сломал. Может все очевидно, но я в растерянности.
#define EXPERT_MAGIC 123456// MagicNumber эксперта//+------------------------------------------------------------------+//| Открытие позиции Buy |//+------------------------------------------------------------------+voidOnStart()
{
//--- объявление и инициализация запроса и результатаMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.1; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера//--- отправка запросаif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки//--- информация об операцииPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
Подскажите, пожалуйста, что не так? Или код верный и просто я криворукий?
Наверно у меня глупый вопрос, но не могу понять, что делаю не так. Начал обучаться языку MQL5 и возникла первая же проблема. Не получается запустить скрипт на немедленное открытие ордера (продажа\покупка, хоть какой-нибудь). Прям взял готовый код из справочника MQL5 и попробовал запустить (прикрепить скрипт к окошку графика). Не вышло. При компиляции естественно ошибок нет. А присоединить к графику не могу..всю голову сломал. Может все очевидно, но я в растерянности.
Подскажите, пожалуйста, что не так? Или код верный и просто я криворукий?
Простите, вы дизассемблируете коды ex4, ex5 ?
Нет. А разве там какая-то принципиальная сложность есть?
Я задал конкретный же вопрос. Вы дали конкретный ответ.
А о "путать что-то с чем-то" это уже ваши измышления. Не беспокойтесь пожалуйста - я знаю, и не путаю, и ваши остальные вопросы тут уже излишни.
А кто Вам даст гарантию, что компилятор заинлайнил 100500 вызовов функции GetЧтоТо() в цикле, если перед вызовом стоит if(something) и этот something бывает false раз в пятилетку?
И много вам удалось оптимизировать своими инлайнами в режиме Релиз? )
p.s. Это не вы ли тут недавно с выравниваниями заморачивались?
Други мои, подскажите, что же это делается, месяц все работало хорошо, а осмелился я загрузить депозит и вот словил ошибку - карма черная уже замучала :(
Вот вызов индикатора из советника
С июля активно все тестировалось на реальном счете под моим чутким контролем, ошибки не было, и тут вывалилась :(
Что это может быть? При этом индикатор сам визуально работает, переинициализация советника решила проблему.
Добрый день!
Наверно у меня глупый вопрос, но не могу понять, что делаю не так. Начал обучаться языку MQL5 и возникла первая же проблема. Не получается запустить скрипт на немедленное открытие ордера (продажа\покупка, хоть какой-нибудь). Прям взял готовый код из справочника MQL5 и попробовал запустить (прикрепить скрипт к окошку графика). Не вышло. При компиляции естественно ошибок нет. А присоединить к графику не могу..всю голову сломал. Может все очевидно, но я в растерянности.
Подскажите, пожалуйста, что не так? Или код верный и просто я криворукий?
Добрый день!
Наверно у меня глупый вопрос, но не могу понять, что делаю не так. Начал обучаться языку MQL5 и возникла первая же проблема. Не получается запустить скрипт на немедленное открытие ордера (продажа\покупка, хоть какой-нибудь). Прям взял готовый код из справочника MQL5 и попробовал запустить (прикрепить скрипт к окошку графика). Не вышло. При компиляции естественно ошибок нет. А присоединить к графику не могу..всю голову сломал. Может все очевидно, но я в растерянности.
Подскажите, пожалуйста, что не так? Или код верный и просто я криворукий?
Загружен и удален сразу.
Вопрос к MetaQuotes. Почему у меня нет сервисдеска на странице профиля и нет кнопки вставки изображений в редакторе сообщений? Браузер Firefox x64.
Ошибка в МТ5 2085: