MetaTrader 4. Build 151. - страница 2

 
komposter, ограничений на вызов функций нет. было бы очень хорошо, если бы Вы выслали фрагменты кода, вызывающие креш, для разбора ситуации на stringo@metaquotes.ru
 
У меня есть предложение! добавить символы для разметки по Эллиоту.
Например 1 в кружочке и т.п.

Было бы ОЧЕНЬ УДОБНО!
 
5. Исправлено копирование объектов: значение параметров не заменяется значениями по умолчанию.



Размер шрифта заменяется по умолчанию!

Так что еще копируется не очень хорошо =(
 
мы недавно обсуждали разметку по эллиоту. но ещё не пришли к окончательному решению, как это получше реализовать.
 
У меня тут вот такое дело. Мета 4 когда я ее открываю не конектиться с перового раза. Сначала выдает (индикатор соединенияв\справа снизу\) общую ошибку, а только потом через минуту две соединяет. Думал, что-то со связью, но в третьей Мете все ок. с первого раза. Может у кого-нибудь еще было такое? Трабла конешна не заслуживает наверно столько внимания, но все может что не так=)))
 
А исправить опечатку 93 строке индикатора ZigZag лень было? ;)
 
Slawa, там страниц 20 - 25, вырезать лишнее запарюсь.....
просто вызовите из эксперта ф-цию следующего содержания:
#import "trade.ex4"
int _OrderSend ( string _Symbol, int _OrderType, double _Volume,
double _OpenPrice, int _Slippage, double _StopLoss, double _TakeProfit,
string _Comment, int _MagicNumber, datetime _Expiration, color _Color,
color info_color, color info_warning_color );
#import
.......
string _Symbol = Symbol();
int _OrderType = OP_SELLSTOP;
double _Volume = 1;
double _OpenPrice = MarketInfo( Symbol(), MODE_BID ) - 20*Point;
int _Slippage = 10;
double _StopLoss = MarketInfo( Symbol(), MODE_BID );
double _TakeProfit = 0;
string _Comment = "my comment";
int _MagicNumber = 132;
datetime _Expiration = 0;
color _Color = Red;
color info_color = Black;
color info_warning_color = Red;

_OrderSend ( _Symbol,_OrderType,_Volume,_OpenPrice, _Slippage,
_StopLoss, _TakeProfit, _Comment, _MagicNumber, _Expiration, _Color,
info_color,info_warning_color );


и библиотеку trade:

int order = OrderSend ( _Symbol, _OrderType, _Volume, _OpenPrice,
_Slippage, _StopLoss, _TakeProfit, _Comment,
_MagicNumber, _Expiration, _Color );


ошибки не будет только в том случае, если trade будет такая:

int order = OrderSend ( _Symbol, _OrderType, _Volume, _OpenPrice,
_Slippage, _StopLoss, _TakeProfit, NULL, 0, 0, _Color );
 
Для хранения промежуточных расчетов мне понадобились массивы, организованные по типу индикаторных.
Ок.
double test[];
ArraySetAsSeries(test,true);

При попытке, что-либо туда положить, получаю ругань о несоответствии длинны массива.
Странно, ведь размер индикаторного массива равен Bars...
Ну, ладно. Это решаемо. С каждым новым баром можно менять размер массива (странно, что это не происходит автоматически как у индикаторного массива).
ArrayResize(test, Bars);
Теперь, с приходом нового бара можно ожидать, что размер нашего массива увеличится на единицу и данные с номером 0 передвинуться в 1 ячкйку, с номером 1 во вторую и.т.д.
Нулевая ячейка вновь добавленна и поэтому пуста.

Однако на деле смещение данных не происходит и ячейка ноль так и содержит положенную туда ранее информацию.

Это баг?
 
функция ArraySetAsSeries всего лишь говорит о том, что индексация массива должна идти задом-наперёд.
посмотрите пример пользовательского индикатора OsMA - там второй и третий массивы используются для хранения промежуточных данных.
 
Использовать индикаторные массивы для хранения промежуточных данных можно. Нет проблем. Только их количество ограниченно.
Т.е. самостоятельно организовать массив по типу индикаторного в MQL4 нельзя ?
И еще. Тогда мне непонятен смысл ArraySetAsSeries. Ведь новые ячейки в любом случае добавляются в конец массива.
Причина обращения: