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

 
Im_hungry:

Писал что-то подобное ты массивы обозначь по другому - (навяд ли поможет но зато

так лучше). поменяй:

на эти строки

Также поменяй:

на это

Не так. Несколько билдов назад старые методы Type() в классах CPositionInfo, COrderInfo и CDealInfo стандартной библиотеки были заменены на PositionType(), OrderType() и DealType(). Так что в ранее написанных MQL5 программах надо откорректировать данные функции, иначе будут работать неправильно.

Я бы переписал Ваш код так:

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>

input int TriX_PARAM=14;
input int TriX_PARAM_Close=50;

double TriX[];
double TriX_Close[];
int TriXHandle;
int TriXHandle_Close;
CTrade mytrade;
CPositionInfo myposition;
CSymbolInfo mysymbol;
COrderInfo myorder;
int OnInit()
  {

   TriXHandle=iTriX(NULL,PERIOD_CURRENT,TriX_PARAM,PRICE_WEIGHTED);
   TriXHandle_Close=iTriX(Symbol(),PERIOD_CURRENT,TriX_PARAM_Close,PRICE_WEIGHTED);
   ArraySetAsSeries(TriX_Close,true);
   ArraySetAsSeries(TriX,true);
   return(0);
  }

void OnTick()
  {
   if(myposition.Select(_Symbol))
    { 
     CopyBuffer(TriXHandle_Close,0,0,4,TriX_Close);
     if(myposition.PositionType()==POSITION_TYPE_BUY) 
//Закрываем позицию
     {
      if(TriX_Close[1]<TriX_Close[2] && TriX_Close[2]>TriX_Close[3]) 
        mytrade.PositionClose(_Symbol);
     } 
     else  
      if(TriX_Close[1]>TriX_Close[2] && TriX_Close[2]<TriX_Close[3]) 
        mytrade.PositionClose(_Symbol);
    }
   else
//Открываем позицию
     {
      CopyBuffer(TriXHandle,0,0,4,TriX);
      if(TriX[1]>TriX[2] && TriX[2]<TriX[3]) mytrade.Buy(0.1);
      if(TriX[1]<TriX[2] && TriX[2]>TriX[3]) mytrade.Sell(0.1);
     }
  }
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Rosh:
Нумерацмя всех окон графика идет от нуля. 0- главное окно графика, 1 -окно первого индикатора, который показывается в отдельном окне. И так далее.

В этом никаких вопросов нет! А вот где значения минимума и максимума, и почему они появляются только после манипуляциями с графиком???
 
KffAlex:
В этом никаких вопросов нет! А вот где значения минимума и максимума, и почему они появляются только после манипуляциями с графиком???
Напишите лучше в сервис-деск. Скорее всего это баг
 

Просветите, что означает ошибка 

internal error #108             0       0

при компиляции скрипта???

 
alsu:

Просветите, что означает ошибка 

при компиляции скрипта???

Насколько я понимаю это

108 Неподходящее имя для #define

 
Interesting:

Насколько я понимаю это

108 Неподходящее имя для #define

дело в том, что в скрипте нет ни дефайнов, ни инклудов.  

 
 
alsu:

дело в том, что в скрипте нет ни дефайнов, ни инклудов.  

В скрипте работают и
#include
и
#define
 
alsu:

тогда по-блочно переносите из скрипта в другой нормально-компилируемый. и наткнетесь на ошибочную строчку.

отпишитесь потом что именно было.

 
sergeev:

тогда по-блочно переносите из скрипта в другой нормально-компилируемый. и наткнетесь на ошибочную строчку.

отпишитесь потом что именно было.

Сделал проще.

Закомментировал /* */ все тело функции OnStart() - ошибка осталась. В том числе, после перезапуска машины. 

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

Разработчики, АУ!!! Что значит internal error #108????

Причина обращения: