¡Pide! - página 69

 

Hola,

¿Puede alguien decirme qué pasa con este código?

¿No abre ninguna orden en absoluto?

Lo he probado en 2007.01.03

Saludos

extern string StrGetPosition = "19:55";

extern string StrStartOrderTime = "20:00";

extern string StrEndOrderTime = "23:59";

extern double MyBidPrice = 1.3271;

int CountOrder = 0, BuyMagicNumber, SellMagicNumber;

extern double Lots = 1;

extern int StopLoss = 35;

extern int TakeProfit = 8;

extern bool FlagBuy = false;

int x, b, FindMagicSell, TicketSell, FindMagicBuy, TicketBuy;

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

//| expert initialization function |

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

int init()

{

//----

MyBidPrice = 1.3271;

//----

return(0);

}

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

//| expert deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| expert start function |

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

int start()

{

//----

int GetPosition, StartOrderTime, EndOrderTime, o;

GetPosition = StrToTime(StrGetPosition);

StartOrderTime = StrToTime(StrStartOrderTime);

EndOrderTime = StrToTime(StrEndOrderTime);

if (TimeCurrent() >= StartOrderTime && TimeCurrent() <= EndOrderTime)

{

FlagBuy = true;

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

//| Posisi BUY

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

if (FlagBuy == true)

{

if ((MyBidPrice == Bid) && (CountOrder < 6))

{

CountOrder++;

BuyMagicNumber = StrToInteger("1" + CountOrder + Day() + Month() + Year());

o = OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Test",BuyMagicNumber,0,Green);

if (o < 1) MessageBox("ERROR!!");

if (CountOrder > 1) ModifyBuy();

if (CountOrder == 5) FlagBuy = false;

MyBidPrice = Bid - (2*Point);

}

ShowComment();

}

}

//----

return(0);

}

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

void ModifyBuy()

{

for (x = 1; x < CountOrder; x++)

{

FindMagicBuy = StrToInteger("1" + x + Day() + Month() + Year());

for (b = 0; b < OrdersTotal(); b++)

{

OrderSelect(b,SELECT_BY_POS, MODE_TRADES);

if (OrderMagicNumber() == FindMagicBuy)

{

TicketBuy = OrderTicket();

OrderSelect(TicketBuy,SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-(2*Point),0);

break;

}

}

}

}

void ShowComment()

{

Comment("DayOfWeek = ",DayOfWeek(),"\nFLAG BUY : ",FlagBuy,"\nCount Order ",CountOrder,"\nNext order = ",MyBidPrice,"\nBID = ",Bid,"\nTime : ",TimeToStr(TimeCurrent(),TIME_MINUTES));

}
 

No puedo encontrar el archivo MQ4 para el indicador

Espero que alguien pueda ayudarme con algo que inicialmente pensé que sería bastante sencillo. Quería poner una alerta sonora en un indicador que en realidad viene con Metatrader para que cuando llegue a un nivel determinado me avise. El indicador es Force Index, pero no encuentro un archivo MQ4 para él en la carpeta Experts/Indicators. ¿Alguien tiene una idea de dónde podría localizar el archivo?

Si puedo encontrar el archivo mq4 ¿estaría en lo cierto al suponer que puedo usar el código dado por Codersguru al principio de este hilo para añadirle una alerta?

gracias

 

ref Previous Post

He conseguido solucionar mi problema del post anterior.

Gracias a todos por el interés.

 
Hartadi:
Hola,

¿Puede alguien decirme qué pasa con este código?

¿No abre ninguna orden en absoluto?

Lo he probado en 2007.01.03

Saludos

o = OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Test",BuyMagicNumber,0,Green);

No se puede comprar a precio de oferta.

 

@Michel :

Oh, Dios mío... qué estúpido soy...

Gracias...

 

Ayuda con la cobertura

¡Hola a todos!

He utilizado el Expert Advisor Builder en sufx.com para crear un EA. Tiene dos limitaciones que estoy tratando de deshacerse de:

1. Sólo abre 1 operación a la vez. Puedo conseguir que tenga dos operaciones abiertas a la vez, pero no puedo conseguir que abra una orden de compra y una orden de venta simultáneamente.

2. parece tomar las órdenes de venta como preferencia sobre las órdenes de compra. Esto no sería un problema si el problema número 1 estuviera resuelto.

Aquí está el trozo de código que parece que me está retrasando:

//Check position

bool IsTrade = False;

for (int i = 0; i < Total; i ++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

IsTrade = True;

if (OrderType() == OP_BUY) {

//Close

¿Alguna sugerencia? Me gustaría que abriera tantas operaciones como fuera posible, y poder abrir órdenes de compra y venta simultáneamente si los indicadores lo dicen.

Gracias por la ayuda,

Benjimang

 

Beneficio/Pérdida de divisas

Dave,

Creo que necesitas ser más específico en lo que estás pidiendo. Y, por cierto, ¿por qué no responder a los PMs? ¿Dónde te escondes estos días? lol

P en KC

 
FX4$$$:
Dave

Creo que tienes que ser más específico en lo que estás pidiendo. Y por cierto, ¿por qué no respondes a los mensajes privados? ¿Dónde te escondes estos días? lol

P en KC

No he recibido ningún nuevo PM's???? Desafortunadamente durante este tiempo tuve una emergencia familiar que sucedió - Todo está bien con la emergencia. Todavía podría utilizar la ayuda en mi codificación, especialmente la codificación de los sobres.

Dave

 

¿Cómo puedo publicar el beneficio de la moneda en la parte superior derecha del gráfico?

Me gustaría publicar el beneficio/pérdida de la divisa en la parte superior derecha del gráfico de divisas de la plataforma comercial (EURUSD). Si el beneficio de la operación actual es positivo, se mostraría en verde; si es 0,00, se mostraría en blanco; si es una pérdida, se mostraría en rojo.

Sé que ObjectCreate es el camino a seguir, pero más allá de eso no sé cómo capturar el beneficio de la plataforma de comercio? ¿Puede alguien echarme una mano con esta utilidad? Quiero incluir esto en mi ea.

¡¡¡Gracias!!!

Dave

<<<
 

estadísticas de comercio

utilice este código:

// ***************************************************************************

int estadísticas()

{

int i, vOrdenes;

// beneficio actual del CP

vOrders = OrdersTotal();

Beneficio = 0;

PipsProfit = 0;

for(i=vOrders-1;i>=0;i--)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if(OrderSymbol() == Symbol())

{

Beneficio += OrderProfit();

si (OrderType() == OP_BUY) PipsProfit += ((Bid - OrderOpenPrice())/Punto);

else if (OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Ask)/Point);

}

}

}

// riesgo potencial

// posiciones máximas

}

Profit & PipsProfit tendrá que ser declarado fuera del programa, a continuación, mostrar en la pantalla con su método favorito. Comentarios si nada más.

Marca

Razón de la queja: