Здравствуйте не подскажете как в MT3 задать такой цикл чтобы можно было проверять значение последнего сработавшего ордера,и по этим данным вызывать какое-нибудь условие(покупка,продажа),потомучто если я правильно понимаю при записи цикла
сработает ета проверка?
и как сделать чтобы проверка выдавало значение ПРОШЛОГО ЗАКРЫТОГО ордера?
for cnt=1 to totaltrades
begin
if OrderValue(cnt,VAL_TYPE)<=OP_SELL and....
then
{...
};
end.
begin
if OrderValue(cnt,VAL_TYPE)<=OP_SELL and....
then
{...
};
end.
сработает ета проверка?
и как сделать чтобы проверка выдавало значение ПРОШЛОГО ЗАКРЫТОГО ордера?
К сожалению, в MT3 нет возможности штатным образом получить доступ к закрытых сделкам. Можно только обходными путями постоянно мониторить список открытых позиций, писать их в глобальные переменные или в файл с отслеживанием их "пропадания из списка".
В МТ4 этот вопрос решен кардинально - можно легко обращаться к базе закрытых сделок через OrderSelect().
a не подскажете какой-либо способ решения этой проблемы?программист из меня не важный,так что если не сложно можно привести пример решения:
я предлагаю одну идею(если можно то воплатите ее в коде):я например предполагаю что можно загонять значения ордеров в массив(например покупка=1,продажа=0)??pfntv при сравнении просто извлекать из него значения этих переменных,но вот еще вопрос для меня слабо понятен процесс вставки и извлечения данных.
я считаю,что это один из способов решения этой проблемы,а если есть чтото более удобное то предолжите!
заранее спасибо!!
я предлагаю одну идею(если можно то воплатите ее в коде):я например предполагаю что можно загонять значения ордеров в массив(например покупка=1,продажа=0)??pfntv при сравнении просто извлекать из него значения этих переменных,но вот еще вопрос для меня слабо понятен процесс вставки и извлечения данных.
я считаю,что это один из способов решения этой проблемы,а если есть чтото более удобное то предолжите!
заранее спасибо!!
К сожалению, в МТ3 нет гарантированного способа.
К сожалению, в МТ3 нет гарантированного способа.
ну хоть какойнибудь примерчик?
просто не вериться что в стратегиях люди не проверяют значеня прошлого закрытого уже ордера!я думаю многие с этим сталкивались.......
Скачай здесь http://forexsystems.ru/phpBB/viewtopic.php?t=472&postdays=0&postorder=asc&start=45 советника WilliamsAOP9. Там вычисляется как закрылся последний/последние ордер (профит или лосс). При окончании работы советника (на истории), там где было закрытие с профитом - зеленый кружочек, где с убытком -черный кружочек. Разобраться в коде можно.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
begin
if OrderValue(cnt,VAL_TYPE)<=OP_SELL and....
then
{...
};
end.
сработает ета проверка?
и как сделать чтобы проверка выдавало значение ПРОШЛОГО ЗАКРЫТОГО ордера?