¿Cómo codificar? - página 181

 

Ayuda para modificar OrderHistory 2.0

Me preguntaba si alguien podría modificar este archivo MQ4 por mí. Quiero que la descripción que aparece cuando el cursor está sobre las flechas y las líneas de tendencia se parezca más a esto..:

VENDER

(nombre de la orden eliminado)

Hora de apertura: 2009.05.25 10.00

Hora de cierre: 2009.05.25 11.00

Precio de apertura: 94.98

Precio de cierre: 94.992

Pips: 25.0 |

SL: 50.0 | -> (hacer 5digit)

TP: 25.0 |

Max Fl. L: 16.9 ("Max Floating Loss/Profit" - Cool if this could be integrated)

Lotes: 0.38

Bruto: 100.28

...en lugar de esto:

Venta: 12345678 2009.05.25 10.00 @ 94.98

Pips: 250 SL: -750 TP: 250 Lotes: 0.38 Bruto: $ 100.28

94.992

He intentado cambiar esto yo mismo, pero sin éxito. No soy un programador (por supuesto), pero sería genial si alguien que es podría arreglar esto. Se agradecería.

Archivos adjuntos:
 

NFA anti-cobertura por favor ayuda

Hola, tengo un problema con la nueva regla NFA. Mi EA no puede hacer más órdenes pendientes . Es un EA simple: abrir 1 orden, eliminar 1 orden pendiente no utilizada y hacer 2 nuevas órdenes pendientes, límite de compra y límite de venta.

Este es el código :

if (TotalMikuOrders()==2 && TotalMikuOrders_Mode(OP_BUY)+TotalMikuOrders_Mode(OP_SELL)==1){

for (int j=0;j<TotalPedidos();j++){

OrderSelect(j,SELECT_BY_POS);

if (OrderType()==OP_BUY){

si (OrderMagicNumber()==Magic_Miku_B){

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S,Magic_Miku_B+1,XFactor*CoA,XFactor*CoB,com+"XA",com+"XB",sl1,sl2,r1,r1,sp,sp0,tp1,tp2);

return(0);

}

}

if (OrderType()==OP_SELL){

si (OrderMagicNumber()==Magic_Miku_S){

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S+1,Magic_Miku_B,XFactor*CoB,XFactor*CoA,com+"XB",com+"XA",sl2,sl1,r1,r1,sp0,sp,tp2,tp1);

return(0);

}

}

}

}

}

return(0);

}

void sendMikuPending(double price, int ms,int mb,double lots,double lotb,string coms,string comb,double sls,double slb,double rs,double rb,double sps,double spb,double tps,double tpb){

doble SL=0,TP=0;

int i;

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)-StopLoss*slb*Point,Digits);}else{SL=0;}

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)+TakeProfit*tpb*Point,Digits);}else{TP=0;}

if (OrderSend(Symbol(),OP_BUYLIMIT,lotb,NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits),Slippage,SL,TP,comb,mb,0,Blue)==-1) {

i=GetLastError();

if (i!=1 && i!=0) Print("Error de parada de compra : "+error(i)+" en "+Símbolo()+" "+Periodo());

}

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)+StopLoss*sls*Point,Digits);}else{SL=0;}

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)-TakeProfit*tps*Point,Digits);}else{TP=0;}

if (OrderSend(Symbol(),OP_SELLLIMIT,lots,NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits),Slippage,SL,TP,coms,ms,0,Red)==-1) {

i=GetLastError();

if (i!=1 && i!=0) Print("Error de parada de venta : "+error(i)+" en "+Símbolo()+" "+Periodo());

}

}

el código completo está en el archivo adjunto. Estoy pensando que quizás el EA debería leer la última orden cerrada, y hacer directamente 1 orden abierta. Pero no tengo ni idea.

Por favor, ayudar a cualquier persona . Gracias.

Archivos adjuntos:
miku_test.mq4  15 kb
 

Problema de codificación

Ok tengo un pedazo de código que parece causar el error OrderSend #130. He comprobado la configuración del Stop Loss y del Take Profit y deberían estar bien alejados de la distancia mínima requerida si se coloca uno en la orden. Incluso he normalizado los números para asegurarme de que se ajustan a los parámetros del sitio. Así que mi suposición es que debe haber un problema con el precio Ask o el precio Bid que recibe y por eso el servidor no lo acepta.

Este es el código de la sección donde se colocaría una orden de compra:

RefreshRates();

ticket = OrderSend(Symbol(),openType,lots,Ask,Slippage,SL,TP,comment,ExpertMagicNumber,0,Color);

¿Hay algo especial que debería hacer al Ask para asegurarse de que se ajusta a lo que el sitio está buscando cuando recibe la orden? Simplemente asumí que obtendría el precio exactamente como el sitio lo dio.

 

Hola hay un buen sistema que funciona, publicado por JoeSmoe

Sería de gran ayuda si alguien supiera cómo crear el EA más simple que sólo abra posición cuando haya una ruptura, esto sería de gran ayuda. Lo he intentado, pero no sé cómo.

mejor,

j

Archivos adjuntos:
 

¿Cómo incluir condicionalmente un archivo como parte de un EA?

Hola,

He publicado esto en otra sección del foro, pero luego descubrió esta sección. Por favor, disculpe la doble publicación...

¿Es posible incluir condicionalmente un archivo como parte de un EA? Aunque la sintaxis puede ser incorrecta, el concepto es...

switch(PERIODO_MASTER)

{

caso 30:

#include ;

break;

caso 240:

#include ;

break;

}

...siendo MASTER_PERIOD una variable Extern.

Agradezco y espero sus comentarios, sugerencias y ejemplos de cómo lograr esto.

Saludos,

DMMcCollum

 

¿Cómo leer/recuperar el precio en un momento determinado?

Mi amigo y yo estamos trabajando en un EA. En algún momento (el EA) necesita leer y recuperar el precio a una hora determinada, por ejemplo, 17:00 EST... etc.

¿Puede algún experto aconsejar cómo hacerlo, en lugar de contar las barras de precios hacia atrás? Tal vez ya hay una función escrita para ello. Por favor, ayúdenme. Gracias a todos y que Dios los bendiga.

B rgds/abundancia

 
 

Editar

Steven_1974:
Ok tengo un trozo de código que parece causar el error OrderSend #130. He comprobado la configuración del Stop Loss y del Take Profit y deberían estar bien alejados de la distancia mínima requerida si se coloca uno en la orden. Incluso he normalizado los números para asegurarme de que se ajustan a los parámetros del sitio. Así que mi suposición es que debe haber un problema con el precio Ask o el precio Bid que recibe y por eso el servidor no lo acepta.

Este es el código de la sección donde colocaría una orden de compra:

RefreshRates();

ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,Bid - SL*Point,Ask + TP*Point,comment,ExpertMagicNumber,0,Color);

ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,Ask + SL*Point,Bid - TP*Point,comment,ExpertMagicNumber,0,Color);

¿Hay algo especial que deba hacer con el Ask para asegurarme de que se ajusta a lo que el sitio está buscando cuando recibe la orden? Simplemente asumí que obtendría el precio exactamente como el sitio lo dio.

editar como arriba

OTR

 

Sistema JoseMoe EA

janekpietrzyk:
Sería de gran ayuda si alguien supiera cómo crear el EA más sencillo que sólo abriera posición cuando hubiera una ruptura, esto sería de gran ayuda. Lo he intentado, pero no sé cómo.

mejor,

j

encontrar RonaldRaygun EA en ese hilo. (100 300 pips diarios ...)

OTR

 

Error de datos no coincidentes

Hola Coders

Todavía estoy aprendiendo mis primeros pasos en MQL-Code.

Cual es la razón cuando tengo el siguiente mensaje en el diario:

Testgenerator:

unmatched data error ( volume limit 159 at 2009.05.06 19 15 exceeded )

¿dónde debo mirar en el código?

Gracias

Razón de la queja: