Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1052

 
rapid_minus:

Примечание

Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды. Функция Sleep() в тестере стратегий не вызывает никаких задержек.

Какие все умные - прямо страшно. Только читать не умеют: я ведь и писал, что в тестере слип проигнорирован (что понятно), но позиции-то открыты все, сколько указал. А на демо слип не работает, и позиция открывается только одна, да и та сразу закрывается. Вот эту проблему я и не могу решить.

А где ваш код?

Может тут помогут?

 
rapid_minus:

Какие все умные - прямо страшно. Только читать не умеют: я ведь и писал, что в тестере слип проигнорирован (что понятно), но позиции-то открыты все, сколько указал. А на демо слип не работает, и позиция открывается только одна, да и та сразу закрывается. Вот эту проблему я и не могу решить.

Видимо ты уже не первый раз хамишь потому и не отвечает никто. Хотя тебе и на второй вопрос уже дали ответ.

Но ты смог ответить только так

rapid_minus:
Понятно, что бид состарился, но я надеялся, что данная конструкция позволит открыть несколько позиций на текущем баре с разными ценами открытия бид. И в тестере это отлично проходит, а на демо открывает одну позу и сразу закрывает. как избежать, не понятно.

А на что надеялся? Решение было предложено. Читай внимательно.

 
rapid_minus:
                   poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);                  
                   Sleep(10000);
                   poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Нужно после каждого Sleep(10000); RefreshRates(); Bid обновится и пряники будут наши
 
AlexeyVik:

Да, для определения количества знаков после запятой. Это надо для нормализации значения лота если лот определяется какой-либо формулой и результат может иметь больше знаков после запятой чем допустимо. В некоторых случаях можно тупо ставить двойку, но тогда можно нарваться на ошибку, поэтому лучше определить это программно.

Можно и по-другому. Здесь есть уже два варианта решения задачи, есть вариант перевести число в строку, определить длину строки, найти индекс символа "точка" и разница длинны строки и индекса точки будет значность дробной части числа. И на форуме mql5 выложено несколько вариантов, какой-то подлиньше, какой-то попроще.

Вот ещё один мой вариант.

Эта функция определяет количество знаков после запятой абсолютно любого числа.

Алгоритм до безобразия прост, считаем сколько раз остаток от деления на 1 будет больше нуля.

То, что мой способ лучше я не говорил. Каждый программист пишет так как ему видится решение задачи.

Число типа double, даже если оно не имеет значащих цифр в дробной части имеет вид, например 2.0 что не совсем корректно и для того чтобы получить нормальное целое число его приводят к типу int неявно.

Огромное спасибо.

А зачем (int) ставится перед выражением? 

 
Igemon:

Огромное спасибо.

А зачем (int) ставится перед выражением? 

Вот это прочти, очень полезно.
 
Спасибо, LRA! Как всегда на этой ветке, помощь приходит совсем не с той стороны, откуда ждешь. Большинство  местных "гуру" не помогают новичку, а только собой любуются, хотя на других ветках сами порой в простых вопросах плавают. Потому и обидчивые как первокурсницы.  И еще artmedia70 спасибо за ссылку. Повеселил. И красиво немножко фейсом об тэйбл.
 
На данный момент индикатор записывает тиковый график в Offline Chart далее открытие графика проходит мануальное.
Можно в эксперте вызвать открытие графика из Open Offline Chart по названию графика? Я смотрел ChartOpen() но там по названию не получится.
 
Igemon:       А зачем (int) ставится перед выражением? 
Попробуй с ним и попробуй без него. Один специалист по этому вопросу сказал: Опыт = критерий истины
 
Всем привет... Подскажите, есть ли готовая функция mql4 чтобы выполнялось условие: открылся ордер допустим buy по сигналу индикатора... далее если появляется обратный сигнал buy закрывается и открывается sell...и т.д. Или подскажите как прописать это в советнике... Заранее благодарен
 
доброго времени суток! подскажите пожалуйста малограмотному, как выразить свечу в процентах?
Причина обращения: