[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 555
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Лот и магик никто не имеет права трогать, а к комментарию на хвост будет дописка брокера. Но свой комментарий всегда можно найти поиском подстроки.
He leído en algún lugar del foro que, en principio, un comentario puede ser sustituido completamente por un corredor. Es decir, como resultado el EA funcionará correctamente con un broker y completamente mal con otro. Todos los parámetros "inmutables" son necesarios para la generación de un magik. Por eso quiero usar sólo los que quedarán intactos con seguridad.
Вы говорите, что у Вас сигнал тянется аж до самого разворота. Но и это можно обойти. Ордеров в рынке нет - проверяем наличие сигнала. Сигнал появился - открыли позу, сняли сигнальный флаг (обнулили переменную) и больше не проверяем наличие сигнала (например лонгового) до тех пор, пока ни возникнет противоположный сигнал (шортовый). Таким образом флаг наличия сигнала заданного типа будет вообще жить считанные секунды - флаг встал, ордер встал, флаг снят - ждём противоположного сигнала. Противоположный возник, флаг противоположного сигнала устанавливаем и устанавливаем флаг, дающий добро отслеживать сигналы, которые до этого отслеживать было запрещено.
Старт работы советника (не функция start(), а лишь начало работы):
- даём добро отслеживать и лонговые и шортовые сигналы.
Появился лонговый сигнал:
- даём добро отслеживать шортовые сигналы
- Ставим лонговый ордер и если этот ордер встал, то
- Снимаем флаг, дающий добро отслеживать лонговые сигналы.
Появился шортовый сигнал
- Если есть добро разворачивать ордера, то закрываем лонговый ордер и устанавливаем шортовый
- Устанавливаем флаг, дающий добро отслеживать лонговые сигналы и снимаем флаг, дающий добро отслеживать шортовые сигналы.
Вобщем, флаги - это выключатели. Можно так же сконструировать не выключатели, а переключатели. В этом случае советник начинает работать по принципам кибернетического автомата, который обладает памятью о том, в каком состоянии он находится. Этого можно достигнуть, например, объявив целочисленную переменную и присваивая ей номера состояний. Например в блоке инициализации пишем
Sostojanie=0;
А вот уже в старте советник знает, что в нулевом состоянии (if(Sostojanie==0){}) советнику разрешено делать только операции А, В и С. И в зависимости от того, каков будет результат одной или нескольких этих операций, советник выбирает в какое состояние нужно перейти (Sostojanie=1;// или 2, или 3 и так далее), или наоборот, остаться ли в текущем состоянии.
В каждом состоянии советник знает, что ему делать можно, а что нельзя, и при наступлении каких условий он должен перейти в иное состояние.
Buena suerte.
Si en un probador, no funcionará, pero si en combate, pon Sleep() dentro del bucle.
Tienes que mirar el código, de lo contrario sólo estás adivinando, no soy un psíquico.
para un probador se puede hacer esto
мне нужен именно цикл
No tienes que usar break; sólo lo he señalado para que no te olvides de la posibilidad de interrumpir forzosamente el hilo de iteración del bucle.