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

 

¡Ayuda! Por favor, ayuda - hay un indicador personalizado que, entre otras cosas, dibuja flechas de compra y venta. Cómo hacer un EA basado en it???? ¿Cómo hacer más fácil - para determinar si una flecha se dibuja a partir de un EA? O bien, el código del indicador se hace en función del Asesor Experto???? Estoy familiarizado con MQL. No he encontrado allí las respuestas a mis preguntas.

Me interesa mucho.

 
andrey14 >> :

¡Ayuda! Por favor, ayuda - hay un indicador personalizado que, entre otras cosas, dibuja flechas de compra y venta. Cómo hacer un EA basado en it???? ¿Cómo hacer más fácil - para determinar si una flecha se dibuja a partir de un EA? O bien, el código del indicador se hace en función del Asesor Experto???? Estoy familiarizado con MQL. No he encontrado allí las respuestas a mis preguntas.

Ayúdame.

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

 

Genial, ¡un asesor ya hecho! Lo investigaré, ¡gracias!

 
sergeev >> :
¿qué dice el registro del intento?

no dice nada

 
Mischek >> :

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

Resulta que es un poco más complicado que eso. Este Asesor Experto trabaja con indicadores en los que las flechas tienen asignadas dos matrices de indicadores (buffers de indicadores). En mi indicador, los objetos (flechas) se crean con el método ObjectCreate(). Según tengo entendido, el objeto (flecha) se crea según las coordenadas tiempo-precio. Creo que la forma más fácil de hacer un Asesor Experto, donde una fórmula de indicador se utiliza en una función, por así decirlo, y las posiciones abiertas en lugar de flechas en las mismas condiciones. ¿Cómo se puede ser? ¡Ayuda!

 
andrey14 >> :

Resulta que es un poco más complicado que eso. Este Asesor Experto trabaja con indicadores en los que las flechas tienen asignadas dos matrices de indicadores (buffers de indicadores). En mi indicador, los objetos (flechas) se crean con el método ObjectCreate(). ¿Qué hacer en este caso? ¡Ayuda!

Sólo tiene que transferir el código del indicador a su Asesor Experto. Allí, en lugar del comando ObjectCreate() para la flecha Buy abrir una operación Buy. Lo mismo ocurre con la venta.
 
Mirado a través de la lista de temas similares - parece que la búsqueda de un objeto es la única manera, si no cuenta - para transferir el código del indicador por completo a la EA. Es decir, rechazar desde el indicador como tal. Por favor, aconséjeme cómo hacerlo más fácil. ¿O hay otras formas?
 
LostTrader >> :
Puede simplemente mover el código del indicador al Asesor Experto. Allí, en lugar del comando ObjectCreate() para la flecha de compra, abra una operación de compra. Lo mismo para vender.

Gracias. Lo haré, creo que no hay nada difícil.

 

Hola

Ayúdame. El resultado final. El EA sólo vende y cierra, funciona con una orden. Cuando el estocástico está por encima de 80, podemos coger alguna pérdida, así que tengo una idea para cambiar la condición de vender si la posición se ha cerrado en el stop loss con la función isCloseLastPosByStop de KimA. Es decir, es verdadero cuando la última posición ha cerrado en Stop Loss, y falso cuando no lo ha hecho, y estas condiciones han sido introducidas en la condición de venta. Cuando se conecta, se abre una posición que se cierra con el stoploss o no se cierra. Por favor, díganme qué está mal en el código o cómo hacer que se vea así

i

int inicio()

{

int

cnt=0,

billete,

total;

doble

StochK_0, // Valor de la línea K

StochD_1, // valor de la línea D

SL=StopLoss;

bool

isCloseLastPosByStop(NULL,OP_SELL, MagicNamber); // function KimA

StochK_0=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 0); // K

StochD_1=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 2); //D

ticket= OrderTicket();

total=Total de pedidos();

si (total<1)

if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0)

{

if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // la primera ist venta

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // vender

OrderSelect(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )

Print("SELECT_BY_POS");

si no

Print("error de selección : ",GetLastError());

if((StochK_0<30)&& (StochD_1 < 30))

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

}

si no

if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)

{

if ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) ) 2º asses venta

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*0,0, "My EXP", MagicNamber,0,Green); //

OrderSelect(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )

Print("SELECT_BY_POS");

si no

Print("error de selección2 : ",GetLastError());

if((StochK_0<30)&& (StochD_1 < 30)) // condición de cierre

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

}

return(0);

}

//___ fu ______ isCloseLastPosByStop(NULL,OP_SELL, MagicNamber)______

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {

...............itd..............................

 
cómo hacer un simple asesor de un indicador para operar en arrows??????