Скачать MetaTrader 5

Вопрос разработчикам

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114297
Forex Trader  
Прошу ответить на вопросы:
1. Есть эксперт, работает на 1мин. графике, ЕURUSD. принцип работы: изменяя значения строковой переменной, меняет значения валютных пар в индикаторе, проверяя условия установки ордера.
Есть ли возможность работая на графике EURUSD проверять условия и ставить ордера по другим парам?
Это не вопрос реализации, советник работает, по крайней мере условия проверяет по нужным парам.
Я думаю, что тестировать его можно только на демо, т.к.тестер с задачей не справиться.
2. Должны ли быть открыты графики используюмых валютных пар?
3.В связи с вопросом1( о тестировании), можно ли каким либо образом эмулировать поступление тиков?
Необходимо для отладки, а так приходиться каждый раз подключатся с серверу, а выходные просто смотреть на эксперта.
MetaQuotes Software Corp.
Модератор
188077
MetaQuotes Software Corp.  
1. да
2. нет (но в Market Watch должны присутствовать)
3. нет
Forex Trader
114297
Forex Trader  
Спасибо, все понятно. По выходным будем отдыхать.
Forex Trader
114297
Forex Trader  
Еще один вопрос. при поствновке ордера получаю ошибку:

2005.10.24 09:43:51 new_trand_scalping EURUSD,M1: invalid price 1.19290000 for OrderSend function

торговая функция стандартная:
OrderSend(vl,OP_SELL,Lots,Bid,5,Bid+50*Point,Ask-55*Point,"",23,0,LimeGreen);

Подскажие, в чем тут дело?
MetaQuotes Software Corp.
Модератор
188077
MetaQuotes Software Corp.  
Скорее всего в эксперте используете задержки (в виде торговых операций или вызовов Sleep), после чего используете устаревшую и зафиксированную ранее цену Bid в OrderSend.
Например:
int start()
{
// на входе в эксперта фуксируется snapshot рыночной ситуации (включая цены bid/ask)
....
ticket=OrderSend(....); // тут можно застрять на несколько секунд
.... // bid/ask неизменны, хотя прошло уже некоторое время
Sleep(...); // тут еще протормозили, рынок в это время движется
.... // решили еще одну операцию провести, используя устаревшие цены
ticket=OrderSend(....); // и получили invalid price, так как цена Bid безнадежко устарела
}

Чтобы решить эту проблему, необходимо ставить вызов RefreshRates() после длительных операций для того, чтобы обновить состояние рынка для эксперта.
Forex Trader
114297
Forex Trader  
Благодарю
Forex Trader
114297
Forex Trader  
Еще один вопрос.

при компиляции получаю ошибку:
'\end_of_program' - unbalanced left parenthesis C:\Program Files\MetaTrader 4\experts\4par.mq4 (213, 1)

8 раз проверил скобки (фигурные) в С++ редакторе, все на месте, может я что-то упустил?
Forex Trader
114297
Forex Trader  
Еще один вопрос.

при компиляции получаю ошибку:
'\end_of_program' - unbalanced left parenthesis C:\Program Files\MetaTrader 4\experts\4par.mq4 (213, 1)

8 раз проверил скобки (фигурные) в С++ редакторе, все на месте, может я что-то упустил?


Все, вопрос снят, дело было в круглых скобках
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий