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

 

Quiero hacer un EA que abra un determinado número de órdenes de compra y venta a una determinada distancia.

int pendord()

{
int t = 0;
for(int i=TotalPedidos()-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if( OrderSymbol()!=Symbol() || OrderType() != OP_BUYSTOP ||
OrderType()!= OP_SELLSTOP)continue;
{
t++;
if(nOrders < t*2)

{
OrderSend(Symbol(),OP_SELLSTOP,lot,Ask - (opdist + mn)*Point,3,Ask - (opdist + mn)*Point + sl*Point,Ask - (opdist + mn)*Point - sl*Point,",mn,0,Red);
}
else if(nOrders < t*2)
OrderSend(Symbol(),OP_BUYSTOP,lot,Bid + (opdist + mn + 1)*Point,3,Bid + (opdist + mn + 1)*Point - sl*Point,Bid + (opdist + mn + 1)*Point + sl*Point,",mn + 1,0,Blue);
}
mn +1;
}}

return(o);
}
 
¿Es tan difícil pulsar Ctrl+Alt+M para insertar código? En cuanto a la pregunta - hay un montón de asesores de cuadrícula en el kodobase, busque algo como esto.
 
evillive:
¿Es tan difícil pulsar Ctrl+Alt+M para insertar código? En cuanto a la pregunta - hay un montón de EAs en kodobase - gridlockers, buscarlo así.
muchas gracias
 
Vinin:
Cambio dehora de las velas
Gracias, pero no entiendo bien la respuesta. ¿Se refiere a

TiempoCorriente

https://docs.mql4.com/ru/dateandtime/timecurrent


Ozero.

 
Ozero:
Gracias, pero no entiendo bien la respuesta. ¿Quiere decir que

TiempoCorriente

https://docs.mql4.com/ru/dateandtime/timecurrent


Ozero.

Significa el tiempo de una vela, Time[0] es el tiempo de apertura de la vela actual. Debe compararse con la hora de la vela guardada anteriormente en alguna variable, cada tick. Si el valor de la variable es inferior a la llegada del siguiente tick, significa que ha aparecido una nueva vela.

Por aquí:

static datetime prevtime=0;                  
void OnInit()
{
   prevtime=Time[0];
}
void OnTick() 
{
{код, исполняемый на каждом тике}

   if(Time[0] <= prevtime) return;
   else      prevtime=Time[0];

{код, исполняемый на открытии нового бара}

}
 
evillive:

Significa el tiempo de una vela, Tiempo[0] - el tiempo de apertura de la vela actual. Debe ser comparado con el tiempo de la vela guardado anteriormente en alguna variable, cada tick. Si el valor de la variable es inferior a la llegada del siguiente tick, significa que ha aparecido una nueva vela.

Se parece de alguna manera a esto:

¿Por qué se necesita estática a nivel de variables globales?


Tampoco entiendo por qué

if(Time[0] <= prevtime) return;

Porque si llega una nueva barra, prevtime será igual a Time[1], que siempre será inferior a Time[0].

 
evillive:

¿Cuál es el problema? Creo que la solución está en negrita...

No sé cómo convertir la función a Unicode, eso es lo que pregunto.
 
AlexeyVik:

¿Y por qué tenemos que mantenerlo a nivel de variables globales?


Tampoco entiendo por qué

Después de todo, si hay una nueva barra, prevtime será igual a Time[1], que siempre será menor que Time[0].

La estática fue escrita hace años y no por mí, y en general, la estructura ha funcionado durante varios años sin problemas en la misma forma, y lo que funciona - no lo toques, es una regla de hierro ))))

Y sobre la lógica de la segunda pregunta, piénsalo de nuevo, debes haber entendido algo mal.

 

Toma dos.

¿Es posible mostrar el gráfico de balance en una ventana separada, pero sin la unión de barras?

Es decir, dibujar una línea curva como la del probador de estrategias, para que todo quepa en una ventana.

 

Hola, tengo este indicador: potencia total. Trabajo con él. Soy un completo desconocido en el mundo de la programación, así que escribo aquí con la esperanza de que me ayuden y también con la esperanza de que mi pregunta sea sencilla y sin complicaciones para una persona con conocimientos.

¿Cómo puedo pintar estos tres valores numéricos en sus propios colores (en la captura de pantalla están marcados con una línea de puntos)? Que no sean de un solo color gris. También quería hacerlos un poco más grandes?

Razón de la queja: