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

 
deyron:
Gracias señor, he hecho esto y más - muchas veces en diferentes variaciones. Cuando intento usar el indicador iCustom, funciona bien de la misma manera, cuando cambio el TF se dibuja ... Si lo quito del portapapeles, se dibujará en una carpeta diferente en iCustom ... Si intento poner un comentario en iCustom, se dibujará en una carpeta diferente en iCustom. Intentaré cambiarlo de la misma manera que está dibujado en el código. Estaré encantado de escuchar cualquier otra sugerencia)).

Opción)))... Plantilla guardada con el mismo nombre que el EA con este indicador... entonces, ¿no?

.... Tratamiento))) Quitar la plantilla .

 

Gracias. Se ha aclarado un poco. Con el buffer.

Y aquí...

IndicadorContado( )
La función devuelve el número de barras sin cambios desde la última llamada al indicador. ¿Cómo? Lo he adjuntado al gráfico una vez, y el número de barras será el mismo? No puede ser, puede estar contando el número después de cada tic. ¿Barras dónde? Probablemente, en la parte visible del gráfico. Realmente está escrito de tal manera que uno sólo puede adivinar. Perdón por el diseño ucraniano, mi hermano cambió el Windows, ¡no puedo cambiarlo!
 if(counted_bars>0) counted_bars--; limit=Bars-counted_bars;
¿Por qué es tan difícil escribir? Y de todos modos, ¿barra más, barra menos? Vale, seguiré leyendo el código, quizá lo descubra.

 

¿Es posible ser tan complicado? Y de todos modos, ¿barra más, barra menos? Vale, seguiré leyendo el código a ver si lo descubro.

Si el cálculo es bastante complicado, el recálculo innecesario de miles de barras sin modificar es una gran pérdida de tiempo. Necesito llegar antes del siguiente tick, y puede tardar 250 milisegundos (en mi servidor)
 
Heroix:
Korinf, lee sobre OrderCloseBy().

Por lo que entendí cierra dos órdenes. Es decir, +1 en la primera orden y -2 en la segunda, cerrará ambas con -1 de beneficio total. Necesito que cierre +1 y -1 y el saldo es el número de lotes que da -1. Es decir, todo lo primero + parte de lo segundo para dejar un saldo.

¿Puedes darme una pista?
Todo el día no puedo encontrar la función de puntos de arrastre. Es decir, he encontrado un montón de pistas, pero son o bien por velas o por fractales.
Si mi beneficio fuera de +1, debería arrastrarme varios puntos. Por ejemplo, establezco un trailing edge de 10 pips. El precio se ha movido 10 puntos en mi dirección - el SL se ha acercado en n puntos. Se movió 10 puntos más y el SL se acercó.
Creo que esto debería haberse implementado hace mucho tiempo.
 
¿Existe una función que calcule en qué punto de la pila de pedidos se alcanzará el punto de equilibrio?

Por ejemplo, tengo dos órdenes de venta y una de compra (aunque sean iguales). Quiero dibujar una línea en la que se encuentre el nivel de equilibrio de estas posiciones si el precio baja.
 

korinf:
Есть ли функция которая считает где будет безубыток у кучи ордеров?

У меня есть к примеру два ордера sell и один buy(пусть одинаковые). Хочу чтобы рисовалась линия где будет уровень безубытка по этим позициям если цена идет вниз.

https://www.mql5.com/ru/code/9703

https://www.mql5.com/ru/code/9375

https://www.mql5.com/ru/code/10007

 
korinf:

Por lo que entendí cierra dos órdenes. Es decir, el primer +1 en el segundo -2 cerrará ambos con un beneficio total de -1. Y necesito que cierre +1 y -1 y dejó que kolichuvto lotes, lo que da -1. Es decir, toda la primera + parte de la segunda para dejar un saldo.



Y así será. Sólo se cerrará la parte superpuesta de los pedidos, pero el resto obtendrá su Ticket. Parecerá una nueva orden, pero se abrirá al precio de la orden cuyo volumen era mayor.
 

¡OK!) ¡Todos los solapamientos se han solucionado!

¿Puedes darme una pista?
Llevo todo el día intentando encontrar la función de trallar artículo por artículo. Es decir, he encontrado muchos tralls, pero todos utilizan candelabros o fractales.
Si mi beneficio fuera de +1, debería arrastrarme varios puntos. Por ejemplo, establezco un trailing edge de 10 pips. El precio se ha movido 10 puntos en mi dirección - el SL se ha acercado en n puntos. Se ha movido 10 puntos más y el SL se ha acercado.
Creo que esto debería haberse implementado hace mucho tiempo.

 

Ayuda) Cuál es el error en el código) en el tester todo está bien) y en la demo todo está silencioso) lleva así varios días) Aquí está el código)

extern inttern Tenkan=5;
extern int dd=9;
extern int ralentización=3;
extern int kk=9;
extern inttern UrovenUp=56;
extern double TakeProfit=100;
extern double Lots=3;
extern double StopLoss=100;

int inicio()
{doble MY,precioCompra,precioCompra2,Ich,D,K,K1;
doble Cc1,C2,C3,C4;
int ticket;


MY=(Open[0] + Close[0] )/2;
Ich=((Open[iHighest(NULL, 0, MODE_OPEN, Tenkan)]) +
(Close[iLowest(NULL, 0, MODE_CLOSE, Tenkan)]))/2;

D=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_SIGNAL,0));
K=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,0))
K1=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,1))
Cc1=Cierre[2] < Cierre[1];
C2=Cierre[0] > Cierre[1];
C3=K>K1;
C4=D<UrovenUp;


//Condición de precio de compra y venta//
precioCompra=MarketInfo(Symbol(),MODE_ASK);
precioCompra2=MarketInfo(Symbol(),MODE_BID);


//condición de compra//


{si (MY > Ich && Cc1 && C2 && C3 && C4)

//ticket=OrderS³; //ticket=OrderS³; //condición de compra y venta//
{ticket=OrderSend(Symbol(),OP_BUY,Lots,priceBuy,3,priceBuy2-StopLoss*Point,priceBuy2+TakeProfit*Point,
"Mi bebé",123453,0,Verde);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("Orden de compra abierta : ",OrderOpenPrice());
}
else Print("Error al abrir la orden BUY : ",GetLastError());
return(0);
}

}

}



 
Dimka-novitsek:
Pero IndicatorCounted( ) ...?

Aconsejaría no molestarse todavía con esta función, sino tomar prestados trozos de código de programadores de confianza. Yo, por ejemplo, robo código de Winin :))
Y más tarde podrás resolverlo por tu cuenta.