¿Cómo codificar? - página 165

 

Gracias

a veces la solución es tan simple.....

 

¿Cómo se añade un comentario para mostrar cuántas posiciones de compra y venta están abiertas en cualquier momento, par por par?

double Buy.cm = MarketInfo(Symbol(),MODE_TRADES); ??? buy

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ??? vender

Saludos

Beno

 

Si tiene una función que cuenta las órdenes, sólo tiene que adaptarla para que tenga una variable contadora para las compras y las ventas. Luego escribe un comentario como es normal.

Lux

 
luxinterior:
Si tienes una función que cuenta las órdenes sólo tienes que adaptarla para que tenga una variable contadora para las compras y las ventas. Luego escribe un comentario como es normal. lux

ok gracias lux

 
Beno:
Cómo se añade un comentario para mostrar cuántas posiciones de compra y venta están abiertas en cada momento, par por par.

double Comprar.cm = MarketInfo(Symbol(),MODE_TRADES); ??? comprar

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ??? vender

Saludos

Beno

Podrías hacer algo así:

int Open_Trades = OrdersTotal();

int Pos=0;

int Buy_Total=0;

int Sell_Total=0;

while (Open_Trades > Pos)

{

if (OrderSelect(Pos,SELECT_BY_POS,MODE_TRADES))

{

int Order_Type = OrderType();

if (Order_Type == OP_BUY)

{

Buy_Total++;

}

if (Order_Type == OP_SELL)

{

Sell_Total++;

}

}

Pos++;

}

Comment("\nBuy Orders Total = ",Buy_Total,

"\nSell Orders Total = ",Sell_Total);

O alguna variación.

Archivos adjuntos:
 

El indicador necesita hacer referencia a las bandas de Bollinger

Tengo este indicador, sin embargo, necesito que haga referencia a las Bandas de Bollinger. Necesito que incluya una referencia a las bandas de Bollinger o cerca de ellas y dentro de la vela. Me gustaría hacer referencia a Stochastics también. Alguna idea.

///------------------------------------------------------------------+

//| MS IPP2 v2 3/6/09 |||||||

/ /| BillTainter@gmail.com

// +------------------------------------------------------------------+

#property copyright " MarketSlayer "

#property link "BillTainter@gmail.com"

#property indicator_chart_window

//---- parámetros de entrada

extern int barsToProcess=1000;

// +------------------------------------------------------------------+

//| Función de inicialización del indicador personalizada ||.

// +------------------------------------------------------------------+

int init ()

{

//---- indicadores

//----

return (0);

}

// +------------------------------------------------------------------+

//| Función de desinicialización de los indicadores personalizada ||.

// +------------------------------------------------------------------+

int deinit ()

{

//----

int i;

for (i=0; i< Bares; i++)

{

ObjectDelete ("IPP2 bajista" +DoubleToStr (i, 0));

ObjectDelete ("IPP2 alcista" +DoubleToStr (i, 0));

}

//----

return (0);

}

// +------------------------------------------------------------------+

//| Función de iteración del indicador personalizada ||

// +------------------------------------------------------------------+

int inicio ()

{

int barras_contadas=IndicadorContado (),

//----

límite,

i=0;

si (barras_contadas> 0)

barras_contadas--;

limit=Barras_contadas;

si (límite> barrasParaProcesar)

limit=barrasParaProcesar;

while (i< límite)

{

// IPP#2 BAJISTA

// La vela[1] está en o cerca de la banda de Bollinger superior

// La vela[2] está dentro de la vela[1]

if ((Close [ i+2] > Open [ i+2]) && (Close [ i+1]> Open ) && (Open > Close [ i+1])

&& (Alto Bajo [ i+1]))

{

ObjectCreate ("IPP2 bajista" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , High + 50*Point);

ObjectSet ("IPP2 bajista" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("IPP2 bajista" +DoubleToStr (i, 0), OBJPROP_COLOR, Red );

Alert("IPP2 bajista -SHORT @", Low);

}

// IPP#2 alcista

if ((Close [ i+2] < Open [ i+2]) && (Close [ i+1]< Open ) && (Open < Close [ i+1])

&& (Alto Bajo [ i+1]))

{

ObjectCreate ("IPP2 alcista" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , Low - 50*Point);

ObjectSet ("IPP2 alcista" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("IPP2 alcista" +DoubleToStr (i, 0), OBJPROP_COLOR, Lime );

Alert("IPP2 alcista -LONG @", High,Time);

// PlaySound("alert.wav");

}

i++;

}

//----

return (0);

}

//+------------------------------------------------------------------+

 

¿hay alguna forma de comprobar si la última orden se cerró llegando a tp, sl o sin llegar a una de ellas?

Saludos

 

¿Podría alguien ayudarme a añadir una alerta sonora a este indicador?

Gracias.

Archivos adjuntos:
hilow3.mq4  2 kb
 
jan100:
¿hay alguna forma de comprobar si la última orden se cerró alcanzando tp, sl o sin llegar a una de ellas? Saludos

Si OrderClosePrice() es igual a OrderStopLoss() la orden se cerró llegando a sl.

 

Conversión de un indicador en un EA

Hola a todos,

Tengo un problema con el EA de RSI y MA...

Tengo el indicador funcionando correctamente... Lo único que quiero es convertirlo en EA...

He probado un par de cosas. IndicatorCounted() no está funcionando en la EA, así que traté de hard-code los valores del bucle for (bar=0; bar<15; bar++), estaba recibiendo RSI correcto, pero SMA no está dando valores correctos...

Adjunto el código de la SMA que cruza el RSI...

El problema es que no se puede hacer un seguimiento de la evolución de la situación.

***************************************************************************************************************************************

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 LawnGreen

#property indicador_color2 AzulOscuro

double ExtMapBuffer1[];

double ExtMapBuffer2[];

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);

SetIndexBuffer(1,ExtMapBuffer2);

return(0);

}

int deinit()

{

return(0);

}

int inicio()

{

int barra, límite;

int barras_contadas=IndicadorContado();

if(counted_bars<0) return(-1);

if(barras_contadas>0) barras_contadas--;

limit=Barras-IndicadorContadas();

for(bar=0; bar<limit; bar++)

ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar);

for(bar=0; bar<limit; bar++)

ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar);

return(0);

}

***************************************************************************************************************************************

Gracias y saludos,

Ganesh