Там пока нет ордеров цикл не запустится. А в чём смысл цикла вообще?
Спасибо! Я так и подумал! Значит, если, например, хочу открыть по первой паре, достачно без цикла, но с if(OrdersTotal == 0). А когда открыть другой ордер по этой же или по другой паре, нужен цикл, и будет работать! Сейчас попробую!
Видно, придётся многое поменять в открытии, но в принципе понял, как надо! Спасибо!
Вообще-то какая-то пагубная логика. Я сначала посмотрел не внимательно... Зачем OrdersTotal() при открытии ордеров???
Ну если надо открыть несколько ордеров в цикле, то и цикл надо организовывать по количеству нужных ордеров. А если надо поддерживать это количество постоянно то потом действуют другие правила.
Например надо открыть 7 ордеров
for(int i = 0; i < 7; i++)
{
while(!IsTradeContextBusy()) Sleep(100); // Ожидание освобождения торгового потока
int ticket = OrderSend(Symbol(), ..............); // Открытие ордера
if(ticket > 0) Print("Открылся ордер № ", i, " ticket - ", ticket); // Проверка пропусков при открытии.
}
Но это короткий вариант. По хорошему надо-бы вставить обработку ошибок при открытии ордеров
Вообще-то какая-то пагубная логика. Я сначала посмотрел не внимательно... Зачем OrdersTotal() при открытии ордеров???
Ну если надо открыть несколько ордеров в цикле, то и цикл надо организовывать по количеству нужных ордеров. А если надо поддерживать это количество постоянно то потом действуют другие правила.
Например надо открыть 7 ордеров
Но это короткий вариант. По хорошему надо-бы вставить обработку ошибок при открытии ордеров
Спасибо! Но мне нужен цикл чтобы сов не видел других пар! С ошибками потом разберусь! Я даже обрадовался, когда в журнале появилась ошибка 130, значит заработало! Ошибки у меня обрабатываются во внешних функциях! Ещё раз спасибо!
Спасибо! Но мне нужен цикл чтобы сов не видел других пар! С ошибками потом разберусь! Я даже обрадовался, когда в журнале появилась ошибка 130, значит заработало! Ошибки у меня обрабатываются во внешних функциях! Ещё раз спасибо!
Вот в этом и есть пагубность логики. Сов не может не видеть других пар. Его можно и нужно заставить не обрабатывать УЖЕ ОТКРЫТЫЕ ордера других символов. А в функцию OrderSend(............) пишется конкретный Symbol() или в текстовом формате, например "EURUSD"... что впишешь то и будет открываться. Или пытаться открыть...
Вообще-то какая-то пагубная логика. Я сначала посмотрел не внимательно... Зачем OrdersTotal() при открытии ордеров???
Ну если надо открыть несколько ордеров в цикле, то и цикл надо организовывать по количеству нужных ордеров. А если надо поддерживать это количество постоянно то потом действуют другие правила.
Например надо открыть 7 ордеров
Но это короткий вариант. По хорошему надо-бы вставить обработку ошибок при открытии ордеров
Хороший способ проверки возможности открыть до восьми ордеров за один тик. Нам их обещали, но пока никто не проверил
Сейчас практически невозможно добиться занятости торгового потока. Число потоков увеличено. Вот Витя и сказал, что открыть в цикле на одном тике горсточку ордеров будет неплохой проверкой выполненного обещания от Метаквотов.
AlexeyVik: Вот в этом и есть пагубность логики. Сов не может не видеть других пар. Его можно и нужно заставить не обрабатывать УЖЕ ОТКРЫТЫЕ ордера других символов. А в функцию OrderSend(............) пишется конкретный Symbol() или в текстовом формате, например "EURUSD"... что впишешь то и будет открываться. Или пытаться открыть...
Благодарю, но сейчас нет времени объяснять, что мне нужно, и почему не годятся стандартные решения!
Впервые попробовал написать открытие позиций в цикле, т.к. не исключаю открытия и по другим парам.
Но почему-то в цикле не открывает ничего! Неужели для открытия нужен особый цикл?! Правда, проверял только в тестере!
Я написал обычный:
Что не так для открытия ордеров, позиций? Благодарю за помощь!
Там пока нет ордеров цикл не запустится. А в чём смысл цикла вообще?
Впервые попробовал написать открытие позиций в цикле, т.к. не исключаю открытия и по другим парам.
Но почему-то в цикле не открывает ничего! Неужели для открытия нужен особый цикл?!
Я написал обычный:
Что не так для открытия ордеров, позиций? Благодарю за помощь!
Там пока нет ордеров цикл не запустится. А в чём смысл цикла вообще?
Спасибо! Я так и подумал! Значит, если, например, хочу открыть по первой паре, достачно без цикла, но с if(OrdersTotal == 0). А когда открыть другой ордер по этой же или по другой паре, нужен цикл, и будет работать! Сейчас попробую!
Видно, придётся многое поменять в открытии, но в принципе понял, как надо! Спасибо!
Вообще-то какая-то пагубная логика. Я сначала посмотрел не внимательно... Зачем OrdersTotal() при открытии ордеров???
Ну если надо открыть несколько ордеров в цикле, то и цикл надо организовывать по количеству нужных ордеров. А если надо поддерживать это количество постоянно то потом действуют другие правила.
Например надо открыть 7 ордеров
Но это короткий вариант. По хорошему надо-бы вставить обработку ошибок при открытии ордеровВообще-то какая-то пагубная логика. Я сначала посмотрел не внимательно... Зачем OrdersTotal() при открытии ордеров???
Ну если надо открыть несколько ордеров в цикле, то и цикл надо организовывать по количеству нужных ордеров. А если надо поддерживать это количество постоянно то потом действуют другие правила.
Например надо открыть 7 ордеров
Но это короткий вариант. По хорошему надо-бы вставить обработку ошибок при открытии ордеровСпасибо! Но мне нужен цикл чтобы сов не видел других пар! С ошибками потом разберусь! Я даже обрадовался, когда в журнале появилась ошибка 130, значит заработало! Ошибки у меня обрабатываются во внешних функциях! Ещё раз спасибо!
Спасибо! Но мне нужен цикл чтобы сов не видел других пар! С ошибками потом разберусь! Я даже обрадовался, когда в журнале появилась ошибка 130, значит заработало! Ошибки у меня обрабатываются во внешних функциях! Ещё раз спасибо!
Вообще-то какая-то пагубная логика. Я сначала посмотрел не внимательно... Зачем OrdersTotal() при открытии ордеров???
Ну если надо открыть несколько ордеров в цикле, то и цикл надо организовывать по количеству нужных ордеров. А если надо поддерживать это количество постоянно то потом действуют другие правила.
Например надо открыть 7 ордеров
Но это короткий вариант. По хорошему надо-бы вставить обработку ошибок при открытии ордеровХороший способ проверки возможности открыть до восьми ордеров за один тик. Нам их обещали, но пока никто не проверил
Хороший способ проверки возможности открыть до восьми ордеров за один тик. Нам их обещали, но пока никто не проверил
Ничё не понял...
Ничё не понял...
Вот в этом и есть пагубность логики. Сов не может не видеть других пар. Его можно и нужно заставить не обрабатывать УЖЕ ОТКРЫТЫЕ ордера других символов. А в функцию OrderSend(............) пишется конкретный Symbol() или в текстовом формате, например "EURUSD"... что впишешь то и будет открываться. Или пытаться открыть...
Благодарю, но сейчас нет времени объяснять, что мне нужно, и почему не годятся стандартные решения!