[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 339
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я ж не говорил о внешних переменных. Я говорил вот о чём.
Представим ситуацию. Необходимо принять решение в соответствии с данными последней открытой позиции.
Для тестера:
Создаём переменные, в которых будем хранить необходимые данные последней открытой позиции.
Как только новая позиция открывается, тут же складываем нужные нам данные в эти переменные.
Когда приходит сигнал на открытие следующей позиции (например через 20 тестерных минут), нам нужно проверить некие критерии, по которым принимаем решение о данных открываемой позиции. Эти критерии, по условию, зависят от предыдущей открытой позиции. Мы их считываем с переменных (мы ж их сохранили при прошлом открытии) и используем в качестве дополнительных данных для новой позиции.
Когда открываем позицию, сохраняем в переменных новые данные о вновь открытой позиции.
Для реала:
Представим ту же ситуацию, но ... ещё представим, что после открытия прошлой позиции и сохранения её данных в переменных, прошло 10 минут (до открытия следующей ещё 10 минут должно пройти (ну мы так предположили в тестерной ситуации)). И вот в этом промежутке времени советник был перезагружен по каким-либо причинам.
Что после рестарта советника произойдёт с данными о последней открытой позиции, которые хранились в переменных? Их не будет.
Значит где их нужно брать? Правильно - искать. Для того и нужны функции поиска необходимых данных. Поэтому для реала лучше сразу всё находить тогда, когда это нам потребуется, а не хранить в переменных, что действительно гораздо проще и быстрее.
Извиняюсь за поздние пояснения - только в свет вышел ... :))
помогите разобраться с логикой, чето я как-то никак не могу простую логику переложить в программу (может литературу какую порекомендуете)
Задача: Рассчитать максимальное (минимальное) RSI при значениях выше 70 (ниже 30) и нарисовать стрелку вниз (вверх) над баром
при этих значениях.
Реализация (первая часть, вторая аналогичная):
1. рассчитываем значение RSI для каждого бара
2. пока RSI больше 70 наполняем буфер RSI его значениями
3. определяем позицию максимального значения в массиве
4. ищем бар со значением RSI равным максимальному значению RSI в массиве
5. рисуем стрелку над этим баром.
ну вот как-то так, только при написании кода куча вопросов, ошибок и полная каша(((
Ну и вот реализация в коде.
Господа подскажите пожалуйста как при помощи цикла закодировать такой алгоритм.
if (iLow (Symbol (),0,1) > iLow (Symbol (),0,10)) // если МИНИМУМ первой свечи > МИНИМУМА десятой свечи
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point,"jfh",123 ); //открыть ордер.
А МНЕ НУЖНО
Если Low 1 и одновременно Low 2 и одновременно Low 3...... .. .и одновременно Low 9 свечи > Low 10 свечи (т.е Low свечей с 1 по 9)
//открыть ордер.
Спасибо.
Господа подскажите пожалуйста как при помощи цикла закодировать такой алгоритм.
if (iLow (Symbol (),0,1) > iLow (Symbol (),0,10)) // если МИНИМУМ первой свечи > МИНИМУМА десятой свечи
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point,"jfh",123 ); //открыть ордер.
А МНЕ НУЖНО
Если Low 1 и одновременно Low 2 и одновременно Low 3...... .. .и одновременно Low 9 свечи > Low 10 свечи (т.е Low свечей с 1 по 9)
//открыть ордер.
Спасибо.
Создаем флаг успешности условия, устанавливаем его в тру, проходим в цикле нужное количество свечей, если на любой из них условие не соблюдается, устанавливаем флаг в фальсе и выходим из цикла.
Создаем флаг успешности условия, устанавливаем его в тру, проходим в цикле нужное количество свечей, если на любой из них условие не соблюдается, устанавливаем флаг в фальсе и выходим из цикла.
Большое спасибо.Извините ради бога....я еще немного торможу с пониманием того что Вы написали.
Буду Вам очень признателен если напишете код..... и тогда я все пойму.
bool have = true;
for(int i=0;i<10;i++){
if(Low[i]<=Low[i+1]){have=false; break;}
}
if(have){
// действия если условие соблюдено
}else{
// действия если условие не соблюдено
}bool have = true;
for(int i=0;i<10;i++){
if(Low[i]<=Low[i+1]){have=false; break;}
}
if(have){
// действия если условие соблюдено
}else{
// действия если условие не соблюдено
}люди подскажите как можно закрыть отложенный ордер через н, количество пунктовесли он не сработал?