нужна помощь))) - страница 2

 
Александр Алексеевич:

Еще вопрос) 

в чем ошибка? ругается на 'Soft' - parameter conversion not allowed


MQL не C

документацию почитайте чуток

https://www.mql5.com/ru/docs/array

а тут пример кода

https://www.mql5.com/ru/docs/array/arrayresize

Документация по MQL5: Операции с массивами
Документация по MQL5: Операции с массивами
  • www.mql5.com
Операции с массивами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Renat Akhtyamov:

MQL не C

документацию почитайте чуток

https://www.mql5.com/ru/docs/array

а тут пример кода

https://www.mql5.com/ru/docs/array/arrayresize

совсем не C))))

 
Александр Алексеевич:

совсем не C))))

;)

а тут примеры творчества в исходниках

https://www.mql5.com/ru/code

MQL5 Code Base
MQL5 Code Base
  • www.mql5.com
Библиотека исходных кодов на языке MQL5 для MetaTrader 5
 
Renat Akhtyamov:

MQL не C

документацию почитайте чуток

https://www.mql5.com/ru/docs/array

а тут пример кода

https://www.mql5.com/ru/docs/array/arrayresize

нет не понимаю, 

тут создается новый массив в функции OnInit :

 Soft=new CArrayDouble();
   if(CheckPointer(Soft)==POINTER_INVALID)
      return INIT_FAILED; 

Далее меняем размер массива в другой функции:

Soft.Resize(3);

далее нужно получить количество элементов массива:

int size=ArraySize(Soft);

и вот на получении количества элементов и вылезает ошибка 'Soft' - parameter conversion not allowed. Вопрос почему? 

 
Александр Алексеевич:


далее нужно получить количество элементов массива:

и вот на получении количества элементов и вылезает ошибка 'Soft' - parameter conversion not allowed. Вопрос почему? 

Потому что Soft не массив, а объект класса  CArrayDouble.

 
Александр Алексеевич:

нет не понимаю, 

тут создается новый массив в функции OnInit :

Далее меняем размер массива в другой функции:

далее нужно получить количество элементов массива:

и вот на получении количества элементов и вылезает ошибка 'Soft' - parameter conversion not allowed. Вопрос почему? 

массив создайте до OnInit

например так

double Soft[];

ну и где потребуется задайте размер

ArrayResize(Soft,3);

---

или сразу

double Soft[3];

 
PapaYozh:

Потому что Soft не массив, а объект класса  CArrayDouble.

Да, точно) вечер уже. Голова не варит. Там нужно так 

int size=Soft.Total();
 
PapaYozh:

Потому что Soft не массив, а объект класса  CArrayDouble.

А можно как то скопировать данные с объекта класса CArrayDouble в массив?

 
Александр Алексеевич:

А можно как то скопировать данные с объекта класса CArrayDouble в массив?

только перебором в цикле

 
PapaYozh:

только перебором в цикле

да ладно

по ссылкам, которые я выше положил, ему видимо не судьба кликать

так что, пусть шкодит себе сам

;)