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

 
Попробуйте воспользоваться "Профайлами" - они дают аналогичную столам/листам функциональность
 
Renat:
Попробуйте воспользоваться "Профайлами" - они дают аналогичную столам/листам функциональность

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

После компиляции:

tree optimization error        1    1

Удаление даже большего блока кода, чем того, где были изменения не исправили положение.

Можно ли отключить оптимизацию?  И до какой высоты можно "растить" сие дерево оптимизаций?

Как избегать этого?

 

Появились три вопроса:

1) Что представляет собой оптимизация, о которой человек пишет выше, и влияет ли она на скорость вычислений и скорость работы программы (создание и инициализация объектов)? В Бейсике 6м, например, была возможность включить опцию компиляции "fast code". Возможно ли такое в MKL5?

2) Уважаемый Renat говорил, что расчеты сейчас осуществляются быстро и в dll нет необходимости. Кто-то сравнивал скорость с С++ dll - какова разница? Вопрос не праздный, т.к. первый блок проектируемой мной ТС несколько часов считается, а хотелось изначально, чтобы в реальном времени между появлениями 2х свечек успевало считаться. Стоит ли переносить расчеты в dll?

3) Как можно ускорить работу программы?

Буду благодарен всем ответившим. С Новым Годом и Рождеством!

 
// входные параметры индикатора
input bool            inp_FLine        = true;
input int             inp_FLine_width  = 1;
input ENUM_LINE_STYLE inp_FLine_style  = STYLE_SOLID;
input color           inp_FLine_col    = DeepPink;  

// клоны входных параметров
bool              FLine;
int               FLine_width; 
ENUM_LINE_STYLE   FLine_style;
color             FLine_col;

int OnInit()
{
// инициализация клонов входными параметрами
PLine           = inp_PLine;
FLine_width     = inp_FLine_width;
PLine_style     = inp_PLine_style;
PLine_col       = inp_PLine_col; 
}

int OnCalculate()
{

if(PLine)
{
FLine_width     = Func(FLine_width);
PLine_style     = Func(PLine_style);
PLine_col       = Func(PLine_col); 
}

// применение новых значений
SetParam(FLine_width,PLine_style,PLine_col);
}


// Такой код с большим кол-вом параметров может привести к
// 
// tree optimization error  ?


Такой код с большим количеством параметров может привести к
 

 tree optimization error  ?

Такой способ управления свойствами графических объектов использовал из-за невозможности изменения значений входных параметров индикатора.


P.S.

Закомментировал частями почти весь код. И только когда осталось пару строчек компиляция прошла.

Затем убрал ВСЕ комменты и все продолжило работать.

И что это было?

 
zloymudvin:
Пасибо. Правда единственная мелочь, жаль незя на панель вынести кнопку управления профайлами, было бы ваще запиписечно.

Посмотрите на команду переключения профайлов на статусной строке:


 

Полтора года назад наблюдал такие ошибки очень часто на мт5, ничего не говорил, так как не заметить их невозможно. Вроде бы исправили.

Кстати и в мт4 такие ошибки наблюдал очень часто.

Сейчас вижу опять ту же ошибку. Опять история закачивается с ошибками. Неужели нельзя добавить кнопку удаления истории символа на случай именно этой ошибки, поскольку она является основной причиной всех неудобств.

Очень частая ошибка заслуживает отдельной кнопки.


 
vicondi:

После компиляции:

tree optimization error        1    1

Удаление даже большего блока кода, чем того, где были изменения не исправили положение.

Можно ли отключить оптимизацию?  И до какой высоты можно "растить" сие дерево оптимизаций?

Как избегать этого?


Создайте заявку в сервис деск и приведите исходный код, сообщите билд терминала и битность.

Скорее всего ошибка на нашей стороне, но нужны исходники для воспроизведения и исправления. 

 

 Добрый день! новичку помогите плиз

 // удаление отложек


void deleteAllOrder()
{
  for(int i = 0; i < OrdersTotal();i++)
   {
      order_ticket = OrderGetTicket(i);
      HistorySelect(0,TimeCurrent());
     
      MqlTradeResult result;
      MqlTradeRequest request;
     
      request.order = order_ticket;
      request.action = TRADE_ACTION_REMOVE;
      OrderSend(request,result);  

 

 

как подправить код чтобы удаляло не все отложки а только по выбранному инструменту. Что то не могу сходу(
 

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
dimmi2000:

 Добрый день! новичку помогите плиз

 // удаление отложек


void deleteAllOrder()
{
  for(int i = 0; i < OrdersTotal();i++)
   {
      order_ticket = OrderGetTicket(i);
      HistorySelect(0,TimeCurrent());             //зачем?
      
      MqlTradeResult result;
      MqlTradeRequest request;
      
      request.order = order_ticket;
      request.action = TRADE_ACTION_REMOVE;
      OrderSend(request,result);

как подправить код чтобы удаляло не все отложки а только по выбранному инструменту. Что то не могу сходу(

Посмотрите описание функции OrderGetString() и её параметра ENUM_ORDER_PROPERTY_STRING
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
Причина обращения: