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

 
artsnz >> :

¿Es esto posible? Oferta de DoC para cerrar un pedido a mejor precio???? Es la primera vez que oigo que una empresa de corretaje se vuelva tan descuidada.

El robot no era estúpido, por definición no puede serlo.

Es necesario simplemente corregir el código, si quieres puedes exponerlo aquí y puedes ayudar aquí, puedes escribir en tu mensaje personal y seguro que también ayudarás.

1. Sí, sucedió - está claro en el registro.

2. Utilicé la palabra "estúpido" en un sentido figurado que significa que algo estaba mal en el código.

3. Aquí está el código de cierre de la pose:

for ( cop=0; cop< t_o; cop++)
 {
  OrderSelect( cop, SELECT_BY_POS, MODE_TRADES);//Выбор ордера по позиции среди открытых
  if(OrderMagicNumber()== MN) 
  {
   ot=OrderTicket();
   if(!OrderClose(OrderTicket(),OrderLots(), price,3, Color))
    Print("Ошибка при закрытии ордера! ED:", ErrorDescription(GetLastError()));
   
  }
 }

Pero la pose no siempre se cierra, y no es un error, se considera normal, un mensaje como este viene del servidor:

2009.09.08 00:44:42 '64766': recotizar 1.51893 / 1.51933 para la orden #11573500 vender 1.80 EURCHF cerrando a 1.51914

Como sabe, esto significa que el precio ha cambiado a corto plazo mientras la solicitud de cierre iba al servidor.

Y el servidor sugiere un nuevo precio de cierre. El servidor tiene tiempo para responder - 3 segundos. Y aquí está el problema: ¡el servidor se niega a cerrar el pedido con el nuevo precio!

No está claro cómo ocurre esto... Ayúdame a entender, por favor.

 

Chicos, por favor, explicad el significado del signo de exclamación(!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

 
001 >> :

Chicos, por favor, explicad el significado del signo de exclamación(!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

La traducción literal de esta línea será

si cnt es MÁS que 0 y la función ExistPosition(OP_BUY) devuelve FALSE y Ask es MENOR o igual que el precio - PipsForOpenMore * Point, entonces....

El "!" es una negación. Si no fuera así, la condición if asumiría que la función ExistPosition(OP_BUY) debería devolver TRUE.

 
Hola, ¿podríais aconsejar cómo capturar y procesar un evento de stop loss o take profit en un EA? Me gustaría preguntarles cómo procesar un evento de cierre para un Stop Loss o Take Profit.
 
cdover >> :
Hola, Podrían por favor aconsejar como atrapar y manejar en un EA el caso de cerrar una operación en stoploss o takeprofit. >> Gracias.

¿Quiere que se ejecute algo antes de cerrar en el stop/ganancia?

 
MrSoros писал(а) >>

¿Quiere que se ejecute algo antes de cerrar en el stop/ganancia?

No, justo después del cierre.

 

OrdersTotal() - devolverá 0 en cuanto se haya cerrado el pedido.

En consecuencia, si OrdersTotal() devuelve 0, entonces se hace el procesamiento...

Este es el caso cuando sólo hay una orden abierta.

Si describes tu situación con más detalle, lo que quieres hacer después de cerrar el pedido, entonces podré darte una mejor respuesta :)

 
Alex5757000 >> :
Colegas, tengo una pregunta sobre la promediación. puramente matemática. supongamos que hemos promediado 3 veces: posiciones con el mismo volumen de 1 lote. a un precio de 1,8 y 1,6 y 1,4. El precio real de apertura aquí será de 1,6. Con esto queda claro. Pero no entiendo cómo puedo calcular el precio de apertura real, si abrimos con diferentes lotes, por ejemplo con un factor de promediación de N. // Por ejemplo: lote 0,1 y 0,2 y 0,4 - aquí N==2 a 1,8 y 1,6 y 1,4 . ¿Cuál será el precio real de apertura?

No entiendo la lógica.

¿Puede explicarlo con más precisión, a partir de un ejemplo?

 
MrSoros писал(а) >>

3. Aquí está el código para cerrar la posición:

Aumentar el valor de deslizamiento a 50, tiene 5 dígitos, por lo que 0,3 pips no funciona.

 
cdover писал(а) >>
Hola, podríais decirme cómo capturar y manejar en mi EA el caso de cerrar una operación en Stop Loss o Take Profit. >> Gracias.

Mire el último pedido en el historial, determine el tipo de pedido.

Por ejemplo, para una posición larga:

Si la orden cerró a un precio igual o inferior al stop loss, entonces fue un stop loss.

Si al precio igual o superior al TakeProfit - TakeProfit.