АвторСообщение





Пост N: 5
Зарегистрирован: 19.11.10
ссылка на сообщение  Отправлено: 05.11.11 15:38. Заголовок: Открытие ордеров.???


Вопрос состоит в следующем :
для обнаружения ордеров я использую цикл типа:
int total=OrdersTotal();
int b=0,s=0, n=0, bl=0,sl=0, bs=0,ss=0,b2=0,s2=0;
for (int i=total; i>=0; i--)
{if(OrderSelect(i, SELECT_BY_POS))
{if(OrderSymbol()==Symbol() )
{n++;
//-----------------------------------------------------------------------------------------------------
if (OrderType()==OP_BUY && OrderMagicNumber()==magic1){b++ ;}

}}}
и если нет ордеров заданного типа , то есть if ( b==0&&(дополнительное условие)) советник открывает ордер,
Вопрос : если b становится равным 1 то советник уже ордер не откроет. Как сделать что бы при каждом появлении условия открывался всего один ордер ????????

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 3 All [только новые]







Пост N: 16
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 09.11.11 20:18. Заголовок: Сделал все в цыкле к..


Сделал все в цыкле как вы рекомендовали !!! Теперь проблема в том что на тестере не идут котировки ... Как исправить ????

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 921
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 09.11.11 23:12. Заголовок: Нужно анализировать ..


Нужно анализировать режим работы: http://docs.mql4.com/ru/check
Если на демо или реале - оставить цикл. Если тест в режиме визуализации - цикл убрать.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 18
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 09.11.11 23:26. Заголовок: А как отключить цикл..


А как отключить цикл если весь советник внутри данного цикла ???

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 235
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 10.11.11 21:39. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
А как отключить цикл если весь советник внутри данного цикла ???



У каждого цикла должно быть условие его окончания. В данном случае этим условием выступает действие пользователя - удалить скрипт (функция IsStopped() в коде).
Если же имеете в виду "цикл убрать", то просто убрать конструкцию while с фигурными скобками, вызов IsStopped и Sleep, переделать скрипт в советник. Функция start будет запускаться в тестере от каждого тика. Поэтому зацикленность там не нужна.
Если же нужно, чтобы такой советник работал и в реале, и в тесте, то анализировать режим запуска при помощи функций IsOptimization, IsTesting, IsVisualMode, и работать в цикле, если советник запущен онлайн, или не работать в цикле, если советник запущен в тестере.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 11
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет