[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 719
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
но почемуто в итоге получаю ошибку EURUSD,: zero divide - эта ошибка видимо говорит что гдето в переменной 0, наверное при операции типа деления. Я вообще правильно пытаюсь реализовать ?
В тестере или на демо?
В тестере point по другим инструментам будет равен 0
Уважаемые, помогите решить такой вопрос, если это возможно решить при таких условиях!
Есть к примеру такой советник (его ШАБЛОН, точнее) так как сам принцип интересен.
Так, вот:
extern double Lot = 0.1;
extern int TP = 100;
extern int SL = 100;
extern int ХХХ = 100; //типа разные переменные
extern int ХХХ = 100; //типа разные переменные
extern int ХХХ = 100; //типа разные переменные
// какие ордера разрешены ? :
extern int LET = 3; // 1 - только сэлл, 2 - только бай, 3 - оба вида ордеров
int start()
// расчет индикаторов :
int KUDA;
ВСТАВЛЕН ИНДИКАТОР И УСЛОВИЯ ЕГО РАБОТЫ
// проверка условий для определения направленности ордеров согласно данных индикатора:
if ( ХХХХХХХХХХХХХХХХХХХХХХХХХ ) // условие по индикатору для сэлл
KUDA = 1; // значит будем сэллить
if ( ХХХХХХХХХХХХХХХХХХХХХХХХХХ ) // условие по индикатору для бай
KUDA = 2; // значит будем баить
// выставление ордеров :
if(OrdersTotal()>0) return (0); // разрешает работу советника только с одним выставленным ордером
КАКОЙ КОД СЮДА ВСТАВИТЬ, ЧТО БЫ ПОСЛЕ ЗАКРЫТИЯ ЛОСЕМ СЕЛЛА РАЗРЕШАЛОСЬ ВЫСТАВЛЯТЬ ТОЛЬКО БАЙ,
а ПРИ ЗАКРЫТИИ ЛОСЕМ БАЯ РАЗРЕШАЛОСЬ ВЫСТАВЛЕНИЕ ТОЛЬКО СЕЛЛА?
И ТАК ДАЛЕЕ ПО КРУГУ!!!
{
if (LET == 1 || LET == 3) // согласно переменной работает только при селл (бай игнорирует) или оба вида ордеров
if (KUDA == 1 && ticketsell < 1) // выставим сэлл
{
ЗДЕСЬ КОД НА ВЫСТАВЛЕНИЕ ОРДЕРОВ СЕЛЛ
}
if (LET == 2 || LET == 3) // согласно переменной работает только при бай (селл игнорирует) или оба вида ордеров
if (KUDA == 2 && ticketbuy < 1) // выставим бай
{
ЗДЕСЬ КОД НА ВЫСТАВЛЕНИЕ ОРДЕРОВ БАЙ
}
}
return(0);
}
Спасибо!
Итак, по порядку.
Если нужны только последние данные, зачем тогда сохранять предыдущие? ("до запись" происходит при комбинации режимов FILE_READ|FILE_WRITE).
Поэтому логичнее использовать режим FILE_CSV|FILE_WRITE в нем предыдущие записи удаляются перед записью новых данных.
Начинаем запись 4-х переменных в файл.
Главное запомнить порядок записи переменных, так как в этом же порядке мы будем их считывать.
Начинаем считывать данные в переменные из файла.
С помощью функции FileReadNumber() считываем последовательно цифру за цифрой, в том порядке, в котором записали.
Собственно вот и все, ничего сложного :)
Помогите решить программно вот такую проблему:
1. сначала находим первый фрактал вверх - это просто и понятно;
2. а далее нужно найти фрактал, который бы был выше первого найденного - вот с этим уже проблема :(
Хорошо, если таковым окажется предыдущий фактрал. А если - пред предыдущий? Или три-четыре фрактала назад?
Как оформить поиск таких фракталов в виде функции?
На всякий случай прикладываю картинку...
пробую еще раз
Помогите решить программно вот такую проблему:
1. сначала находим первый фрактал вверх - это просто и понятно;
2. а далее нужно найти фрактал, который бы был выше первого найденного - вот с этим уже проблема :(
Хорошо, если таковым окажется предыдущий фактрал. А если - пред предыдущий? Или три-четыре фрактала назад?
Как оформить поиск таких фракталов в виде функции?
На всякий случай прикладываю картинку...
А если такого фрактала вообще нету
А если такого фрактала вообще нету
Помогите решить программно вот такую проблему:
1. сначала находим первый фрактал вверх - это просто и понятно;
2. а далее нужно найти фрактал, который бы был выше первого найденного - вот с этим уже проблема :(
Хорошо, если таковым окажется предыдущий фактрал. А если - пред предыдущий? Или три-четыре фрактала назад?
Как оформить поиск таких фракталов в виде функции?
На всякий случай прикладываю картинку...
Если же в цикле его не удалось найти - то необходимо ждать появления нового фрактала (вместо первого запомненного). Как только образуется новый нужный фрактал - опять в цикле ищем нужный второй фрактал (и скорее всего это будет ваш первый, запомненный в самом начале). Таким образом найдём два нужных фрактала и избежим ситуации, о которой справедливо намекнул Виктор постом выше. Хотя теоретически возможна ситуация, при которой второй фрактал так никогда и не образуется... Апокалипсис например... :)
ну, значит, если, к примеру, на 300 баров назад такового не нашлось - ждем появления свежего фрактала и только после этого возобновляем поиск