[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 160

 
wolf05632:

Cómo detener la ejecución del indicador ...if proc_zahlest>100


int start()
{if(proc_zahlest>100)return(0);
...
return(0);}
 
wolf05632:

... Y otra pregunta: ¿cómo debe ser la coordenada temporal OBJ_TEXT para que el texto esté a la DERECHA de la vela cero?

datetime t=Time[0]+Shift*Period()*60;//Shift -- положительное целое число.
 
granit77:
Mover:

eurodollar1981 09.09.2011 10:37
Hola, ¿podríais decirme cómo prescribir en mt4, para comprar una orden con stoploss preestablecido y take profit pulsando una tecla?


Dos llaves... ¿es mucho? Si -- no, se escribe un script apropiado cuya ejecución se ajusta a la "tecla de acceso rápido".

Terminal --> Navegador --> Scripts --> Su script --> Clic derecho --> Establecer tecla de acceso rápido.

 

Roger:

Xaoss1990:

Roger:
Esta no es la parte del código donde podría haber un error.
Em.... y el resto del código es el cálculo de los valores ( POINT_BUY_M15, POINT_BUY_H, POINT_BUY_H4, POINT_SELL_M15, POINT_SELL_H, POINT_SELL_H4 ) para realizar las operaciones, funciona correctamente... lo he comprobado... es simple allí....
Si el error estuviera aquí, el registro diría "Stop not set", pero no es así.

El error está exactamente en ese código. Cierra la COMPRA, luego selecciona una orden que ya no existe y cierra la VENTA, que nunca existió en primer lugar. Creo que nos he mostrado el error. No será difícil de entender.

Empecé a estudiar el MQL en un libro de texto. Hay suficientes ejemplos en él y todos están construidos de forma inteligente. Algunas de las construcciones utilizadas en esos ejemplos las sigo utilizando en mis propios desarrollos.

 
MaxZ:

El error está exactamente en ese código. Cierra la COMPRA, luego selecciona una orden, que ya no existe, y cierra la VENTA, que nunca existió. Creo que he mostrado el error. No será difícil de entender.

Empecé a estudiar el MQL en un libro de texto. Hay suficientes ejemplos en él y todos están construidos de forma inteligente. Todavía utilizo algunos de esos ejemplos en mis desarrollos.


De acuerdo. Recomendado:
datetime OrderCloseTime( )
Devuelve la hora de cierre de la orden seleccionada. Sólo las órdenes cerradas tienen una hora de cierre que no es 0. Las órdenes abiertas o pendientes tienen un tiempo de cierre igual a 0.
El pedido debe ser preseleccionado mediante OrderSelect().
 
Roll:


Ugh... Gracias.
 

Chicos, ayudadme, me estoy perdiendo. Estoy haciendo un indicador que quiero que emita como objetos de texto la información de varios otros indicadores de diferentes marcos de tiempo. Por ejemplo, ADX. Hago tres iADX:

 f0 = iADX(NULL,PERIOD_M30,14,PRICE_CLOSE,MODE_PLUSDI,0) - iADX(NULL,PERIOD_M30,14,PRICE_CLOSE,MODE_MINUSDI,0);
 f1 = iADX(NULL,PERIOD_H1,14,PRICE_CLOSE,MODE_PLUSDI,0) - iADX(NULL,PERIOD_H1,14,PRICE_CLOSE,MODE_MINUSDI,0); 
 f2 = iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,MODE_PLUSDI,0) - iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,MODE_MINUSDI,0); 

Pruebo en H4, sólo un ADX, que está en H4, los otros dos dan un valor constante. Ayuda, por favor.

 
vitali_yv:

Chicos, ayudadme, me estoy perdiendo. Estoy haciendo un indicador que quiero que emita como objetos de texto la información de varios otros indicadores de diferentes marcos de tiempo. Por ejemplo, ADX. Hago tres iADX:

Pruebo en H4, sólo un ADX, que está en H4, los otros dos dan un valor constante. Ayuda, por favor.


Pruebe en M30 - si los períodos prescritos explícitamente en el código, todo debería funcionar.
 
vitali_yv:

Chicos, ayudadme, me estoy perdiendo. Estoy haciendo un indicador que quiero que emita como objetos de texto la información de varios otros indicadores de diferentes marcos de tiempo. Por ejemplo, ADX. Hago tres iADX:

Pruebo en H4, sólo un ADX, que está en H4, los otros dos dan un valor constante. Por favor, ayuda.

Tengo la sensación de que no voy a cambiar mis valores.

O está emitiendo de forma incorrecta, algo que sólo los Misters Telepaths pueden saber con seguridad...

 
MaxZ:

El error está exactamente en ese código. Cierra la COMPRA, luego selecciona una orden, que ya no existe, y cierra la VENTA, que nunca existió. Creo que he mostrado el error. Esto no puede ser difícil de entender.

Antes de cerrar una orden, el EA comprueba el número mágico de la orden y es diferente para las órdenes de compra y de venta. Por lo tanto, una misma orden no puede cerrarse como de compra y de venta.

Aquí está el código:

//+-----------------------------------------------------------------------------+
//+-------------------------СТАВИМ СПОП ЛОСС ДЛЯ BUY-------------+
//+-----------------------------------------------------------------------------+

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (OrdersTotal() == 1 && Magic == 111 && OrderType( ) == 0)
{
if (POINT_BUY_M15 < Strgh_UP_M15 || POINT_BUY_H1 < Strgh_UP_H1 || POINT_BUY_H4 < Strgh_UP_H4)
{
close = 1;
}
}
if (close == 1)
{
OrderClose(OrderTicket(), lots, Bid, 5, Yellow);
}

//+-----------------------------------------------------------------------------+
//+-------------------------СТАВИМ СПОП ЛОСС ДЛЯ SELL-------------+
//+-----------------------------------------------------------------------------+

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (OrdersTotal() == 1 && Magic == 222 && OrderType( ) == 1)
{
if (POINT_SELL_M15 < Strgh_DOWN_M15 || POINT_SELL_H1 < Strgh_DOWN_H1 || POINT_SELL_H4 < Strgh_DOWN_H4)
{
close = 1;
}
}
if (close == 1)
{
OrderClose(OrderTicket(), lots, Ask, 5, Red);
}