Preguntas y respuestas a los programadores sobre MQL 4

 

Quien conozca el código o el enlace, que lo comparta, por favor.
El código es el siguiente: Se necesita un EA para establecer un número determinado de puntos de beneficio - Stop Loss cuando el precio alcanza un
Avid para poner un Stop Loss cuando el precio alcanza un número determinado de puntos de beneficio.

 
Trailing stop normal: cuando se alcanza un número X de pips de beneficio, el stop loss se fija en un nivel que está a un número determinado de pips del precio actual.
 
drknn >>:
Обычный трейлингстоп - по достижении икс пунктов прибыли стоп-лосс устанавливается на уровень, отстоящий от текущей цены на указанное количество пунктов.

Sí, entiendo - necesito el código del programa MQL4 - para entender claramente la secuencia y qué valores se utilizan.

Y no necesito un trailing stop, sino que necesito que se fije una vez en un nivel inalterable.

 

Busca "breakeven".

 
Roger >>:

Ищи по поиску "безубыток".

Acabo de terminar de revisar los temas de la consulta de búsqueda - Break-even.

El resultado es que no pude encontrar ningún código específico que estuviera buscando.

 
alex12 >>:

Только сейчас закончил просмотор тем по запросу в поиске - Безубыточность.

Результат - ни одного конкретного мне нужного кода я не нашел.

A continuación, haz una búsqueda de la palabra "breakeven" como te han aconsejado.

 
alex12 >>:

Да это понятно-мне нужен код прграммы MQL4 - чтобы наглядно понять последовательность и какие значения используются.

И нужен мне не следящий Трэйлингстоп,а единожды выставленный на неизменяемый уровень.


En este caso, es muy simple - incrustamos el arrastre habitual en el EA pero viene al final en la función start(). Antes de ella, debe haber una construcción con el siguiente algoritmo
- Declarar una variable booleana y asignarle el valor "False".
- Encuentra nuestro pedido. Comprueba si su Stop Loss es inferior a su posición abierta, entonces asignamos a nuestra variable booleana el valor "True", ya sabes, el arrastre está permitido. En caso contrario, ejecutamos el comando return(0);
También le pasamos a la red de arrastre el signo en el que debe ser arrastrada esta orden en particular, no otra, y nuestra variable como interruptor.

¿Qué ocurre en este caso? Mientras el precio no alcance el nivel de beneficio predefinido, la red de arrastre no funcionará por definición. En cuanto lo alcance, el tope se levantará. En el siguiente tick, el EA detectará que la orden requerida tiene un stop loss = su posición abierta y no dejará que el arrastre opere - la variable switch la pondrá en false.

Esta no es la forma más fácil, pero si ya tienes el código de arrastre listo, es más fácil hacer esto que reescribir el código, depurar, probar, verificar....

 
drknn писал(а) >>


En este caso, es muy sencillo - lo hacemos incrustando una red de arrastre estándar en el EA, pero va en último lugar en la función start(). Antes de ello, debe haber una construcción que utilice el siguiente algoritmo
- Declarar una variable booleana y asignarle el valor "False".
- Encuentra nuestro pedido. Comprueba si su Stop Loss es inferior a su posición abierta, entonces asignamos a nuestra variable booleana el valor "True", ya sabes, el arrastre está permitido. En caso contrario, ejecutamos el comando return(0);
También pasamos a la red de arrastre el signo en el que debe ser arrastrado este orden en particular, no otro, y nuestra variable como un interruptor.

¿Qué ocurre en este caso? Mientras el precio no alcance el nivel de beneficio predefinido, la red de arrastre no funcionará por definición. En cuanto lo alcance, el tope se levantará. En el siguiente tick, el Asesor Experto detectará que la orden requerida tiene un stop loss = su posición abierta y no dejará operar el arrastre - la variable de cambio la pondrá en falso.

Esta no es la forma más fácil, pero si ya tienes el código de arrastre listo, es más fácil hacer esto que reescribir el código, depurar, probar, verificar....


Muchas gracias por tu comentario, pero sólo estoy aprendiendo a programar, así que aún no he escrito ningún Asesor Experto sencillo.
En mi tiempo libre definitivamente usaré tu consejo - tengo el código de arrastre listo.
 
alex12 >>:


Большое Вам спасибо за комментарий.Но я еще только учусь программировать и пока что не написал ни одного простого советника.
На досуге обязательно воспользуюсь Вашей подсказкой - готовый код трала у меня есть.


Cree un nuevo EA en el editor. En la función start() escribe lo siguiente:
Alert("Bid = ",Bid);
Compilarlo, ponerlo en el gráfico. Como resultado, en cada tic vemos una ventana con el mensaje de la Oferta actual.
Se ha creado el Asesor Experto simple. Lo principal que nos muestra es que el código del EA se lanza de nuevo en cada tick.
La función OrderSend() se utiliza para abrir órdenes. Normalmente, antes de su uso, el programador ejecuta el código que analiza el flujo de las últimas velas e identifica dónde debe abrirse la orden.
Para poder encontrar rápidamente los parámetros de las funciones incrustadas en el idioma, ponga el cursor del ratón en algún lugar entre las letras del nombre de la función y pulse F1 o Ctrl+F1: la ayuda contextual de la función del idioma se abre en la parte inferior de la ventana de código.
 
drknn писал(а) >>

Cree un nuevo EA en el editor. En la función start() escribe lo siguiente:
Compilarlo, ponerlo en el gráfico. Como resultado, en cada tic vemos una ventana con el mensaje de la Oferta actual.
Se ha creado el Asesor Experto simple. Lo principal que nos muestra es que el código del EA se lanza de nuevo en cada tick.
La función OrderSend() se utiliza para abrir órdenes. Normalmente, antes de su uso, el programador ejecuta el código que analiza el flujo de las últimas velas e identifica dónde debe abrirse la orden.
Para poder encontrar rápidamente los parámetros de las funciones incrustadas en el lenguaje, hay que poner el cursor del ratón en algún lugar entre las letras del nombre de la función y pulsar F1 o Ctrl+F1 - la ayuda contextual para la función del lenguaje se abrirá en la parte inferior de la ventana de código.
Gracias - Hace mucho tiempo que quería escribir al menos algo simple, sin errores EAs que funcionen.
 

¡Hola !

Tengo una pregunta para todos los miembros del foro y los responsables del material contenido en este sitio.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

En este enlace https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/envelopes

en la parte inferior de la página hay una advertencia:

Aviso: Todos los derechos de este material están reservados por MetaQuotes Software corp.

Queda prohibida la reproducción total o parcial.

Pregunta:Necesito utilizar en mi EA este indicador - Envelopes pero después de leer la Advertencia

No sé exactamente qué hacer.

En el sitio web de Meta Quotes Software corp. para los contactos sólo hay un número de teléfono, no una dirección postal, por lo que contactar con ellos será un problema para mí.

- Por eso he hecho la pregunta aquí.

¿Para quién exactamente y bajo qué condiciones - se aplica la advertencia anterior?