[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 212

 
olis:
Entonces, ¿puede decirme qué función devuelve el precio actual?
¿Pazlo?
 

¡Eso es algo! No soy tan listo, y tampoco lo habría adivinado en ruso.
 
YOUNGA:

Quiero escribir los resultados de las pruebas (transacciones) en un archivo después de las pruebas

Puse la función tofile () en el bloque deinit() (escribe después de terminar el trabajo)

pero la propia función

no funciona, sólo escribe la cabecera

int total=OrdersTotal();             //заменить на int total=OrdersHistoryTotal(); как-то так 
  // записываем в файл только закрытые ордера
 

Es sólo una "Oferta" para una orden abierta. ¿Verdad? Me muestra el precio real. ¿O esto va a ser un problema más adelante?
 
olis:

Se trata simplemente de una "oferta" para una orden abierta. ¿Verdad? Me muestra el precio actual. ¿O hay algún problema con él después?

No es la oferta de la "orden abierta", sino la oferta del gráfico en el que se está ejecutando el EA.

¿Qué diferencia hay entre el precio actual y el precio "real"?

Puede utilizar MarketInfo() para obtener el precio actual de cualquier símbolo. Se trata de pedir o de ofertar.

 
artmedia70:

No es el Bid de la "orden abierta", es el Bid del gráfico en el que se está ejecutando el EA.

¿Y qué diferencia hay entre el precio actual y el precio "real"?

Te he confundido, lo siento, no quería decir eso.

Puede utilizar MarketInfo() para obtener el precio actual de cualquier símbolo. ¿Qué es Ask, qué es Bid?

Gracias, ya veré cuando sea mayor ))

 
r772ra:


Gracias - Voy a seguir masticando el código
 

Hola chicos, hace mucho tiempo que no estoy aquí (1,5 años) por favor refresquen un poco mi memoria.

El caso es que con los EAs las órdenes se colocaban con t/p y s/l, ahora quiero prescindir de ellos, solo bajo algunas condiciones cerrar las necesarias

órdenes.

aquí está el código


int clos(int mn)
{ int k=OrdersTotal();
for(int a=0;a<=k;a++)
{ if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
{ if(OrderMagicNumber()==mn)
{ if(OrderType()==OP_BUY || OrderType()==OP_SELL)


int n=OrderTicket();

double l=LotesdeOrden();

OrderClose(n,l,Ask,5,0);

}}}

return(0);

}


No cierro ninguna orden, las he pasado todas, ¿qué pasa?

 
gheka:

Hola amigos, hace tiempo que no vengo por aquí (1,5 años) ¿podríais refrescarme un poco la memoria?

Mi punto es que con la ayuda de Expert Advisors las órdenes fueron colocadas con t/p y s/l. Ahora quiero cerrar las órdenes necesarias sin ellos.

Órdenes judiciales.

aquí está el código


int clos(int mn)
{ int k=Total de pedidos();
for(int a=0;a<=k;a++)
{ if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
{ if(OrderMagicNumber()==mn)
{ if(OrderType()==OP_BUY || OrderType()==OP_SELL)


int n=OrderTicket();

double l=LotesdeOrden();

OrderClose(n,l,Ask,5,0);

}}}

return(0);

}


No cierro ninguna orden, las he pasado todas, ¿qué pasa?

Elige las fi rmas de la segunda página, conéctalas a tus búhos - la bicicleta se inventó hace mucho tiempo. :-)
 

Buenas tardes.

Pueden ayudarme a completar este código, necesito memorizar esta barra cuando Spread es igual a cero.

y luego controlar el Spread. si es mayor que un determinado valor abrir un trato.

int razdvizka =20;

int Precio1, Precio2, Diferencia;

for (int m=1;m<Bars;m++)
{

Precio1 =(iClose(Symbol_1,0,0) - iClose(Symbol_1,0,m)) / MarketInfo(Symbol_1, MODE_POINT);
Precio2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,m)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Precio1 - Precio2;
if (Spread==0) {......... }
}

Precio1 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,m)) / MarketInfo(Symbol_1, MODE_POINT);
Precio2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,m)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Precio1 - Precio2;

si (Spread> razdvizka ) { abre la operación }