double OrderProfit( )
Возвращает полученную текущую прибыль для выбранного ордера.
Замечание: ордер должен быть предварительно выбран с помощью функции OrderSelect().
Пример
if(OrderSelect(10, SELECT_BY_POS)==true)
Print("Profit for the order 10 ", OrderProfit() );
else
Print("OrderSelect() вернул ошибку - ",GetLastError());
Возвращает полученную текущую прибыль для выбранного ордера.
Замечание: ордер должен быть предварительно выбран с помощью функции OrderSelect().
Пример
if(OrderSelect(10, SELECT_BY_POS)==true)
Print("Profit for the order 10 ", OrderProfit() );
else
Print("OrderSelect() вернул ошибку - ",GetLastError());
Так вот, тестер никак не воспринимает эту злосчасную команду
Скорее всего не сделали предварительный выбор ордера через OrderSelect() ?
Всё что описано выше я знаю. Вот так пока выглядит кусок следящий за увеличением прибыли.
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); // Выбор ордера if(OrderProfit()>0) // Если прибыль увеличиваться { pribil=OrderProfit(); x=pribil*0.3; // 0.3=30%/100% y=pribil-x; if(OrderProfit()<y) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // выход } } else // Если идут убытки { if(OrderProfit()<-10) { pribil=0; OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // выход }
Как сами видете есть выбор ордера, но команда не работает в тестере, на демо срабатывает. Проблема в том что у меня модемное соединение и оплата по часам, а это по карману бац-бац. Так бы я тестил на демо, но в виду вышесказанного пока нету возможности. Можете сами в стандартный советник MACD засунуть и проверить в тестере. По крайней мере у меня пахать не хотит. Версия ПО 4 билд 186. Поэтому я и задавал вопрос про альтернативу запроса прибыли орлера. В тестере срабатывает только вторая про убытки часть а первая игнорируется. Подскажите в чём ошибка?
Желательно приложить полный код эксперта. Маленького куска недостаточно.
Но есть пара вопросов:
1) Откуда такая вольность с ценой закрытия позиций?
В одном месте Бид, а в другом Аск. Где проверка на тип операции BUY/SELL ?
2) OrderSelect() всегда надо проверять.
Но есть пара вопросов:
1) Откуда такая вольность с ценой закрытия позиций?
В одном месте Бид, а в другом Аск. Где проверка на тип операции BUY/SELL ?
2) OrderSelect() всегда надо проверять.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вобшемто у меня вопрос разработчикам про комманду OrderProfit и тестер. Сам я только начинающий и пытаюсь написать помошника. Так вот, тестер никак не воспринимает эту злосчасную команду. Самое обидное что практически всё крутиться вокруг неё, а тестить советника через demo финансов не хватит (через паутину она срабатывает). В форуме ответа не нашёл (либо я слепой, либо одно из двух). Все пишут советников опираясь на показания индикаторов, а моя идея заключается на слежении за прибылью, т.е. максимизация прибыли и минимизация убытков. Хотелось бы чтоб ошибку исправили, а то процесс с мёртвой точки не сдвигается, а писать на показаниях индикаторов что-то не охота. Может кто знает другие методы вытаскивания показаний прибыли из ордера?