Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 813

 
Hola. Por favor, ayuda. Realiza pedidos y no hace nada más. No hay errores.
Archivos adjuntos:
test3_3.mq4  15 kb
 
Buenos días! Pido disculpas si me salgo del tema, pero estoy agotado, es un grito del alma! Intenté usarlo en MQL4 y traté de resolverlo yo mismo, pero no funcionó. He escarbado en Internet y he intentado utilizar el MQL4, pero nada funciona. Este indicador debería mostrar la diferencia de pips entre dos CFD en forma de línea. Es decir, (bid+ask)/2 del primer instrumento menos (bid+ask)/2 del segundo, respectivamente, por velas. Los nombres de los instrumentos deben establecerse en los ajustes del indicador, que deben ser dos. La parte final de la línea debe cambiar con cada nueva marca. Y las cotizaciones deberían estar sincronizadas por tiempo, no por vela (diferente número de velas por día BRN y CL). Por favor, ¡ayuda, buena gente! Se lo agradezco de antemano.
 
CJIeCaPb:
Hola. Por favor, ayuda. Realiza pedidos y no hace nada más. No hay errores.

Por qué será:

for(i=1;i<=OrdersTotal();i++) //может с OrdersTotal()-1 и до 0 разумнее было бы?
{
 if(OrderSelect(i-1,SELECT_BY_POS)==true)
 {
  if(OrderSymbol()!=Symb)continue;
  if(OrderType()==4) //тип байстоп - 4
   OrderTicketBuy=OrderTicket();
   if(OrderType()==6) //тип селлстоп - 5
   OrderTicketSell=OrderTicket();
   
  }
}

Lea sobre los tipos de órdenes, y el resto del manual no debe estar en un auto-torno, primero leer al menos 10 veces.

 
fantom700:
Buenos días! Me disculpo si me salgo del tema, pero estoy agotado, es un grito del corazón! Intenté usarlo en MQL4 y traté de resolverlo yo mismo, pero no funcionó. He escarbado en Internet y he intentado utilizar el MQL4, pero nada funciona. Este indicador debería mostrar la diferencia de pips entre dos CFD en forma de línea. Es decir, (bid+ask)/2 del primer instrumento menos (bid+ask)/2 del segundo, respectivamente, por velas. Los nombres de los instrumentos deben establecerse en los ajustes del indicador, que deben ser dos. La parte final de la línea debe cambiar con cada nueva marca. Y las cotizaciones deberían estar sincronizadas por tiempo, no por vela (diferente número de velas por día BRN y CL). Por favor, ¡ayuda, buena gente! Gracias de antemano.
No hay Bid y Ask en la historia, hay precios descritos por MqlRates y los indicadores son dibujados por la historia.
 
evillive:

Por qué será:

Lee sobre los tipos de órdenes, y el resto del manual, no intentes atornillarte, primero lee al menos 10 veces.

Se establecen BUYSTOP y SELLSTOP, y tienen los tipos 4 y 6 respectivamente.

No entiendo lo de OrdersTotal():" de -1 a 0"?

 
CJIeCaPb:

Se establecen BUYSTOP y SELLSTOP, y tienen los tipos 4 y 6 correspondientes.

*No entiendo qué significa OrdersTotal():" de -1 a 0"?

El tipo de bystop es el 4, el de sellstop el 5 y los tipos se numeran empezando por el cero. Con el tipo 6, parece que sólo se puede depositar/retirar, e incluso eso no está documentado en ninguna parte.

*No "de -1 a 0", sino "bucle de OrdersTotal()-1 a 0".

Además, hay que comprobar la ejecución de OrderSelect, no seas perezoso, entenderías por el error de ejecución que las entradas son incorrectas.

En general, todas las funciones comerciales DEBEN ser comprobadas para que no haya errores en su ejecución, así que no sea perezoso para comprobarlo. Y los resultados devueltos por otras funciones pueden y deben ser comprobados.

 
evillive:
No hay oferta y demanda en el historial, hay precios descritos por MqlRates, y los indicadores se dibujan en el historial.

Entonces, sólo tres cifras: primera cifra: precio del primer instrumento(bid+ask)/2; segunda cifra: precio del segundo instrumento(bid+ask)/2; tercera cifra:(bid+ask)/2 del primer instrumento menos (bid+ask)/2 del segundo instrumento. Sin ningún tipo de historia, sólo sobre los ticks en un momento dado del tiempo.

En realidad quería hacer algo así: http://www.mister-forex.ru/indikator-ma-arbitrage/

Sólo que sin ningún por, vender. Sólo un indicador en forma de línea.

 
evillive:

El tipo de buystop es el 3, el sellstop es el 5; el tipo de orden se numera a partir de cero. Con el tipo 6, sólo el depósito/retirada parece ser diferente, e incluso eso no está documentado en ninguna parte.

*No "de -1 a 0", sino "bucle de OrdersTotal()-1 a 0".

Además, se debería haber comprobado la ejecución de OrderSelect, no seas perezoso, habría quedado claro en el error de ejecución que las entradas estaban mal.

En general, todas las funciones comerciales DEBEN ser comprobadas para que se realicen sin errores, así que no seas perezoso para comprobarlo. Y los resultados devueltos por las otras funciones pueden y deben ser comprobados.

Te confunden los números.

El tipo de operación para la funciónOrderSend(). Puede ser cualquiera de los siguientes valores:

Constante

Valor

Descripción

OP_BUY

0

Comprar

OP_VENDER

1

Vender

OP_BUYLIMIT

2

Orden pendiente de Límite de Compra

OP_SELLLIMIT

3

Orden pendiente de VENTA LIMITADA

OP_BUYSTOP

4

Orden pendiente de COMPRA STOP

OP_SELLSTOP

5

Orden pendiente de venta de STOP

 
borilunad:

Te confunden los números.

El tipo de operación paraOrderSend(). Puede ser cualquiera de los siguientes valores:

Mi error, me corrijo
 
evillive:

El tipo 3 es un bystop, el sellstop es el 5; la numeración de los tipos empieza por cero. Con el tipo 6, sólo el depósito/retiro parece estar limitado y ni siquiera eso está documentado en ningún sitio.

*No "de -1 a 0", sino "bucle de OrdersTotal()-1 a 0".

Además, se debería haber comprobado la ejecución de OrderSelect, no seas perezoso, habría quedado claro por el error de ejecución que las entradas estaban mal.

En general, todas las funciones comerciales DEBEN ser comprobadas para que se realicen sin errores, así que no seas perezoso para comprobarlo. Y los resultados devueltos por las otras funciones pueden y deben ser comprobados.

Ahh, lo señalé mal, sí).

Revisado uno por uno. Sólo el boleto de venta estaba equivocado. También he comprobado el resto: pedidos, comparaciones, modificaciones. Pero, todavía un estupor después de hacer los pedidos. Todo funcionaba por separado.

¿La condición para introducir if(MA=MA1) no es correcta? Porque =, no es un signo de condición, el signo correcto es "==", sin embargo si lo escribiera así el Asesor Experto no hace nada en absoluto. Las otras variantes: ">=", "<=", "<", ">" que y "=" conducen a la realización de pedidos y a un mayor estupor.

Archivos adjuntos:
test3_4.mq4  15 kb
Razón de la queja: