Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 930

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- Форексный VPS бесплатно на 24 часа
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
DiPach , еще раз спасибо за помощь. Проанализировал Ваши примеры. Внес изменения в свой стартовый код. Получилось вот что:
Что было изменено:
1. Перенес строку с объявлением массива int awd1[]; внутрь функции OnStart()
2. Добавил функцию ArrayResize(awd1,6,7);
3. Скрипт заработал.
Попытаюсь сделать выводы. В скриптах массивы корректно объявлять внутри функции OnStart(). После объявления массива ему обязательно нужно определить размер функцией ArrayResize(), иначе компилятор будет ругаться. Мои выводы верны? Если нет, то подскажите, пожалуйста, правильную трактовку.
DiPach , еще раз спасибо за помощь. Проанализировал Ваши примеры. Внес изменения в свой стартовый код. Получилось вот что:
Что было изменено:
1. Перенес строку с объявлением массива int awd1[]; внутрь функции OnStart()
2. Добавил функцию ArrayResize(awd1,6,7);
3. Скрипт заработал.
Попытаюсь сделать выводы. В скриптах массивы корректно объявлять внутри функции OnStart(). После объявления массива ему обязательно нужно определить размер функцией ArrayResize(), иначе компилятор будет ругаться. Мои выводы верны? Если нет, то подскажите, пожалуйста, правильную трактовку.
В общем-то, да. И ругаться будет хоть тихо, но конкретно. :)
Уточню лишь следующие моменты:
1. При объявлении обычных переменных и массивов, думаю, нужно исходить из того, что будет выполнять этот скрипт(или советник/индикатор) и для чего предназначены эти переменные/ массивы.
Вами прилагаемая схема работы скрипта вполне, полагаю, допускает объявление переменных не на глобальном уровне программы, а так локально. Т.е., объявление массива происходит разово. И не происходит не требуемых повторных(зацикленных) объявлений в теле Start() в коде, о котором говорим, к примеру, на участке до начала цикла for(), и, например, при надобности объявления каких-то переменных далее, на участке после выхода из for() {}:
Соответственно, то, что массив разово объявляется не на уровне глобальных переменных программы, а в теле OnStart(), но до оператора цикла for() - это вполне приемлимо в такой схеме работы программы.
С моей точки зрения, если нет необходимости что-то объявлять на уровне глобальных переменных программы, то оптимальнее этой возможностью воспользоваться и объявлять, то что можно, локально.
2. По коду же уточню следующее:
То бишь:
Вот в таком варианте 5 будет подходить для for:
P./S.: Ещё одно уточнение, на всякий случай, применение ArrayResize() - для динамических массивов. В Документации к этой функции есть инфа, когда нельзя изменять размер для динамических массивов этой функцией.
Почему я не могу добавлять друзей?
Добрый день! Как можно сделать так что бы новая цена показывалась первой а предыдущая цена опустилась в низ и так дали? Что бы било понятно сделал пример.
Добрый день! Как можно сделать так что бы новая цена показывалась первой а предыдущая цена опустилась в низ и так дали? Что бы било понятно сделал пример.
Сделал пример, а с условиями больше-меньше сами разберётесь:
Сделал пример, а с условиями больше-меньше сами разберётесь:
Добрый день! Как можно сделать так что бы новая цена показывалась первой а предыдущая цена опустилась в низ и так дали? Что бы било понятно сделал пример.
Вот сделал совершенно примитивный код.
Вот сделал совершенно примитивный код.
Всем привет. Пробовал открыть торговый ордер в тестере стратегий с помощью элементарного скрипта, не получилось.
int start()
{
//----
int res;
double ask=Close[0]+MarketInfo(_Symbol,MODE_SPREAD)*Point;
res=OrderSend(Symbol(),OP_BUY,0.1,ask,3,0,0,"",0,0,Blue);
if(res>-1)Alert("Открыт ордер BUY с тикетом ",res);
//----
return(0);
}
Бросаю скрипт на график тестера в режиме визуализации, но торговый ордер открывается в терминале MT4.
Так же не получается получать информацию об открытых ордерах с помощью SimpleFXTester_v2.ex4 в тестере стратегий.
Огромная просьба помочь разобраться .
Всем привет. Пробовал открыть торговый ордер в тестере стратегий с помощью элементарного скрипта, не получилось.
int start()
{
//----
int res;
double ask=Close[0]+MarketInfo(_Symbol,MODE_SPREAD)*Point;
res=OrderSend(Symbol(),OP_BUY,0.1,ask,3,0,0,"",0,0,Blue);
if(res>-1)Alert("Открыт ордер BUY с тикетом ",res);
//----
return(0);
}
Бросаю скрипт на график тестера в режиме визуализации, но торговый ордер открывается в терминале MT4.
Так же не получается получать информацию об открытых ордерах с помощью SimpleFXTester_v2.ex4 в тестере стратегий.
Огромная просьба помочь разобраться .