¡Pide! - página 74

 
WNW:
Quiero ejecutar mis EAs de un VPS.

Por razones de seguridad quiero codificar mi número de cuenta de corretaje y subir la versión compilada.

¿Puede alguien describir el código a añadir?

Gracias.

El código está aquí (en la primera página de este hilo https://www.mql5.com/en/forum/174194 ).

Además hay EA en la sección de élite con la protección de la cuenta codificada.

1. MA_ExpertProfit.mq4: es el mismo EA pero cerrará las órdenes en s/l o t/p solamente.

2. MA_ExpertProfit_all.mq4: cerrará la orden en s/l o t/p, o en la otra señal de cruce. Este EA debe trabajar sólo en una cuenta particular. Simplemente cambie la línea "int Account = 111111;" por su número de cuenta dentro del código. Por ejemplo, su cuenta es 1235463. Así que esta línea debe ser así:

int Cuenta = 1235463;

3. MA_ExpertProfit_noacc.mq4: es el mismo con el punto # 2. Pero sin ninguna cuenta y puede funcionar en cualquier cuenta (me refiero a la cuenta en Metatrader).

Si usted no es miembro de la élite para que pueda publicar los códigos aquí, pero es muy conocido tema descrito aquí en público: https://www.mql5.com/en/forum/174194

Más difícil es crear el número de licencia, establecer el corredor,

UserVerification(Confirmed)

y así sucesivamente.

Como sé que algunos codificadores son muy profesionales con este priotecting cuestiones para que pueda verlos de este hilo https://www.mql5.com/en/forum/174194

 

Número mágico

int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

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

return(0);

}

¿Cómo se hace referencia al número mágico en el cierre anterior. Igualmente, en una orden de compra? ¡Gracias de antemano por responder!

Dave

<<<

 
int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

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

return(0);

}
 

¡¡Gracias por responder!!

Dave

 

Pregunta sobre el flujo lógico

¿Cómo puedo pasar de una sentencia lógica a otra si resulta que tengo que volver a una sentencia lógica anterior hasta que se cumpla una condición, y si se cumple entonces tendré que pasar a otra sentencia lógica incluso anterior?

Sé que en simple basic usaría una sentencia goto.

Dave <<<<
 

Cambio de color en la declaración ObjectCreate

Estoy tratando de cambiar el color de la pantalla de ganancias de Lima a Rojo basado en la ganancia de los tickets. Me he encontrado con las palabras reservadas Lime y Red y no puedo averiguar cómo cambiar estos colores en la sentencia ObjectSetText.

string Lime;

string Red;

string PlusMinusColor = "";[/PHP]

if (BuyProfit+SellProfit>=0) PlusMinusColor=Lime;

if (BuyProfit+SellProfit<0) PlusMinusColor=Red;[/PHP]

[PHP]

Profit1=BuyProfit+SellProfit;
[PHP] ObjectSetText("Profit1", DoubleToStr(Profit1,2), 16, "Arial",PlusMinusColor );

Puede alguien ayudarme en esto?

Dave <<<<

Gracias por toda la ayuda - ¡lo digo en serio!

 

Mostrar ganancias o pérdidas en letras grandes en el gráfico

¡Lo he resuelto!

 
double BP(j)=0,BP=0,SP=0;[/PHP]

[PHP]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

He intentado codificar esto, pero como se puede ver no lo tengo del todo bien.

¿Puede alguno de ustedes, buenos codificadores, echarme una mano para arreglar esto? ????

Dave <<<<
 
1Dave7:
double BP(j)=0,BP=0,SP=0;[/php][php]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

He intentado codificar esto, pero como se puede ver no lo tengo del todo bien.

¿Puede alguno de ustedes, buenos codificadores, echarme una mano para arreglar esto? ????

Dave <<<<

Si querías que "BP" fuera un array, entonces tienes que usar corchetes "[ ]" no paréntesis "( )" como en:

BP[j]

... no ...

BP(j)

... que parece una llamada a una función.

 

Problema de ganancias.

Algo sencillo en lo que necesito ayuda.

double PuntoDeEntrada = 1.000;

int MiniLots = 1;

La moneda cerró en 0,880

He probado lo siguiente para obtener un valor de beneficio sin éxito:

Profit=EntryPoint*MiniLots - ( he probado restando Ask, Bid, Close[0]) *100;

Todo lo que obtengo es Profit=0.00 cuando debería obtener Profit=12.00. ¿Estoy confundido?

No me extrañaría que la respuesta sea porque el Mercado está Cerrado?

¿Qué dicen ustedes en cuanto a cuál es mi problema con esto?

Dave <<<<
Razón de la queja: