[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 394
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Все правильно!!!! Если нужніх ордеров нет, с нужным магикнумером X остается равным нолю, и тогда далее они открываюця. Если есть,X равно 2 и более ордера не открываюца.
Так в чем же еще дело?
- в самый первый момент вы выбираете ордер которого нету функцией OrderSelect Ну и что,нету и нету, значит на первом тике в этом цикле X остается равным нолю останеца.
в первом же цикле for(int Uy=OrdersTotal();Uy<=-1;Uy--) Ну и что,ну цикл больше побегает для надеги, потом я менял,на 0, изменений в работе нет, это все не ошибки, они не меняют,извиняюсь.
Во,какая ерунда. А сначала всякий раз дата еррор пишет,примерно 49 раз.Да!!!! X всегда остается 0, и пишется нормально. Через 2 ордера.
Все правильно!!!! Если нужніх ордеров нет, с нужным магикнумером X остается равным нолю, и тогда далее они открываюця. Если есть,X равно 2 и более ордера не открываюца.
Так в чем же еще дело?
- в самый первый момент вы выбираете ордер которого нету функцией OrderSelect Ну и что,нету и нету, значит на первом тике в этом цикле X остается равным нолю останеца.
в первом же цикле for(int Uy=OrdersTotal();Uy<=-1;Uy--) Ну и что,ну цикл больше побегает для надеги, потом я менял,на 0, изменений в работе нет, это все не ошибки, они не меняют,извиняюсь.
каким образом он может больше пробежать то?
сколько бы ордеров открыто не было, условие Uy<=-1 не выполняется сразу же, потому что количество ордеров больше или равно нулю сразу же
Помогите найти ошибку,
Спасибо
Если тики идут, пиктограмма советника "улыбается", советник должен совершать сделки (т.е. условия для этого возникают), но он их не совершает то надо отлаживать.
Расставьте по коду советника комаду Prinе(), особенно в тех местах, где производится сравнение и посмотрите что именно у Вас сравнивается. Возможно у Вас есть сравнение на равенствво переменных с типом double, и результат сравнения всегда ложь, в то время как Вы предполагаете, что переменные равны.
Спасибо огромное за советы!!! Разобрался со своим вопросом. Оказалось, что у нужного мне брокера при выставлении рыночного ордера, т.е. по условиям, нет возможности выставить одновременно стоп-уровни. Теперь выставляются ордера без стоп-уровней, а стоп-уровни я задаю выставить сразу после каждого ордера. Возникла проблема: модифицируется самая маленькая часть ордеров, а по большинству выдается в разделе "эксперты" следующее:
2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: open #30906670 sell 0.01 CLM1 at 99.79 ok2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: invalid ticket for OrderModify function
2011.05.19 09:55:40 Spacenewcomer-Svecha ESM1,M5: open #30906787 buy 0.01 ESM1 at 1337.50 ok
2011.05.19 10:00:03 Spacenewcomer-Svecha EURUSD,M15: invalid ticket for OrderModify function
Привожу текст кода:
{res=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,0,0,"основной",_MagicNumber,0,Red);
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+StopLoss*Point,Ask-TakeProfit*Point,0,Red);
return(0);
}
И при чем модифицируются именно те, которые открываются первыми после запуска советника!
Естественно, что в коде неправильно задана мной модификация ордеров... Подскажите!
Подскажите код для определения прибыли/убытка по имеющемуся открытому последнему ордеру .
Меряйте пипсами, самое надежное.