Наличие лося — это факт (и функция) типа bool (true или false). При нахождении одного можно возвращать true и дальше не проверять.
Если неважно, в каком именно символе он обнаружен, можно перебирать сделки вообще без оглядки на символ.
bool IsThereAMoose () { for(int i = OrdersHistoryTotal() - 1; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && проверка_мэджика && проверка_времени) { if (проверка_на_лося) { // если один лось нашелся, другого можно уже не искать return(true); } } } // сюда мы попадем, если переберем сделки и лося не найдем return(false); }
Как-то так. (Я давно на четверке уже не пишу, поэетому только общую картину могу предъявить)
Потом
if(!IsThereAMoose()) { volume = StartLot; } else { volume = Get_Stavka() * 1.5; }
Haruto Rat #:
Спасибо, действительно верное решение Вы предложили. Спасибо. Наличие лося — это факт (и функция) типа bool (true или false). При нахождении одного можно возвращать true и дальше не проверять.
Если неважно, в каком именно символе он обнаружен, можно перебирать сделки вообще без оглядки на символ.
Как-то так. (Я давно на четверке уже не пишу, поэетому только общую картину могу предъявить)
Потом
Ничего страшного, что без кода, самое главное ход мыслей я поняла.
Только вот небольшая сложность, мне нужно проверить на наличие "лося" в 3 последних ордерах.
for(int i = OrdersHistoryTotal() - 1; i >= 0; i--) {здесь как-то нужно указать что нужно проверить только крайние 3 ордера?

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Прошу небольшой помощи в решении новой задачи.
Пишу советник для Бинарных опционов. Все функции типовые, но при усложнении не могу понять какая должна быть логика.
Задача такая: 1 советник одновременно следит за 3 парами.
И одновременно (по мере возможности) открывает сделки. Т.е. началась новая пятиминутка (новая свеча) и на 3 парах открылись сделки.
Ждем закрытия и проверяем результаты.
Если на всех 3 парах плюс, начинаем сначала т.е. ставка № 1 (из настроек)
Если есть хоть 1 минус выясняем сумму последней ставки (обычно для Бинарных опционов это лот) и эту сумму умножаем на 1.5
Я делаю так:
у меня 3 блока каждый из которых определяет результат последней сделки таким образом:
Далее я планировала получить размер последней ставки:
И после этого проверить результативность по 3 последним ордерам.
Или если был минус расчитать следующую ставку (лот):
Написала. Но мне кажется, я все слишком сложно делаю.
Подскажите как бы вы это реализовали?
Или может есть более простые решения.
Проверить результат по 3 парам, если минус последную ставку * 1.5