[¡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 1100

 
kolyango:

El Stop Loss y el Take Profit ya han sido fijados. Si el StopLoss establecido es menor que el precio de apertura de la orden, sólo es necesario mover el StopLoss por encima del precio de apertura en 50 pips (hasta la pérdida) si el precio actual es mayor o igual a 80 pips del precio de apertura de la orden. ¡Y no necesitamos reorganizar StopLoss y TakeProfit todo el tiempo!

Kolyana, te estás cansando de tu falta de voluntad para pensar.
 
DhP:

Kolya, estás cansando con tu falta de voluntad para pensar.

Acabo de empezar a estudiar MQL4, así que no sé mucho...
 

Tengo esta pregunta. Se hace así: en el gráfico H1 cada tick viene después de que se forme una nueva barra, es decir, una vez por hora. Las órdenes comerciales tienen este aspecto:

Para comprar:


OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",3,Green); // Открытие BUY
Alert (GetLastError()); // Выводит сообщение об ошибке

Para vender:


OrderSend(Symbol(),OP_SELL,LOT,Bid,slippage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",3,Red); // Открытие SELL
Alert (GetLastError()); // Выводит сообщение об ошибке

Y me he dado cuenta de que a veces sale el error 129 y luego no se ejecutan todas las órdenes comerciales. Creo que es el número de dígitos después del punto decimal. Creo que deberíamos añadir Dígitos. ¿Pero dónde exactamente? O bien, ¿cómo formar la orden comercial correcta para que se ejecute siempre, aunque el Asesor Experto se ejecute sólo una vez al día? ¿Es necesario añadir la función:
RefreshRates(); // Обновим данные

¿Antes de la orden de comercio? Aproximadamente así:

RefreshRates(); // Обновим данные

OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",3,Green); // Открытие BUY
Alert (GetLastError()); // Выводит сообщение об ошибке

¿Cómo hacerlo bien y ejecutarlo siempre de forma impecable en cualquier momento?

 

¿Cómo se escribe esta condición? Si el precio actual >= OrderOpenPrice() en 60 p. (Si el precio actual es mayor o igual al precio de la orden abierta en 60 p.)

¿Sería eso correcto?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))

 
kolyango:

¿Cómo se escribe esta condición? Si el precio actual >= OrderOpenPrice() en 60 p. (Si el precio actual es mayor o igual al precio de la orden abierta en 60 p.)

¿Sería eso correcto?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))



if ( Ask > (OrderOpenPrice()+(-0.5+ Dist)*Point) )



 
kolyango:

¿Cómo se escribe esta condición? Si el precio actual >= OrderOpenPrice() en 60 p. (Si el precio actual es mayor o igual al precio de la orden abierta en 60 p.)

¿Sería eso correcto?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))

double pa=MarketInfo(Symbol(),MODE_ASK);
int    pt=MarketInfo(Symbol(),MODE_POINT);
int    dg=MarketInfo(Symbol(),MODE_DIGITS);

if (NormalizeDouble(pa-OrderOpenPrice()+60*pt,dg)>=0) {    // если Ask больше либо равен цене открытия выбранного ордера + 60 пунктов
    // ... код, обрабатывающий истинностть выражения оператора if ...
   }
 
artmedia70:



Artem, hay preguntas que no vale la pena responder.

Alguien debería pensar antes de hacer una pregunta.

¡¡Feliz Navidad!!

 
Vinin:


Artem, hay preguntas que no vale la pena responder.

Alguien debería pensar antes de hacer una pregunta.

¡¡Feliz Navidad!!

¡¡¡Hola amigo!!! Gracias, a ti también. :))))
Que sea un milagro navideño para alguien... :)
 
Estimados expertos en MQL4
Por favor, ayúdenme a escribir un indicador sencillo.

1) Indicador Gap Up


Si el precio de apertura de ayer es menor que el precio de apertura de hoy, entonces el indicador llama al precio de apertura de hoy.
si la condición no se cumple, entonces el indicador deja el valor anterior.

2) Indicador Gap down

si el Precio Superior de hoy es menor que el Precio Superior de ayer, entonces el indicador llama al Precio de Apertura de hoy.
si la condición no se cumple, entonces el indicador deja el valor anterior.

3) Indicador local de alta y baja

si el día anterior al máximo de ayer es inferior al máximo de ayer y el máximo de ayer es superior al máximo de hoy, entonces el indicador llama al precio máximo de ayer si la condición no se cumple, entonces el indicador deja el valor anterior, es decir, mantiene el nivel de resistencia

En el meta-stock está claro Si((Ref(H,-1) >Ref(H,0)) AND (Ref(H,-2) < Ref(H,-1) ), Ref( H,-1),PREV); pero en MQL4 soy un principiante.

Gracias de antemano por la ayuda

 
Error 4109 el comercio no está permitido. ¿Cómo solucionarlo?