necesito ayuda con la codificación, por favor

 
Necesito ayuda por favor. Soy un novato en la codificación, pero han sido el comercio de divisas para un tiempo loooooong.

Con la ayuda del "Expert Advisor Builder" he construido el EA adjunto, que funciona en las pruebas. El problema es que no funciona cuando se coloca en varios gráficos en vivo. Como utiliza una prueba de 4 horas, es mucho tiempo para ver si mis correcciones lo arreglan, y me estoy frustrando.

He renombrado el mismo EA como 5 nombres diferentes, y he colocado uno en cada uno de los 5 gráficos de pares diferentes, todos en la misma plataforma MT4. No ha funcionado.

Por favor, ¿alguien puede revisar esto y aconsejarme sobre cómo hacer que el código funcione para poder usarlo en más de un par?
 
//+------------------------------------------------------------------+
//| QQE 4hr_15min TESTING                                            |
//| triggers on 4 hour QQE, then uses 15 min QQE to enter trade.     |
//+------------------------------------------------------------------+

#property copyright "Expert Advisor Builder"
#property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"





//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                          
//+------------------------------------------------------------------+
//| Signal Begin (Exit Buy)                                           |
//+------------------------------------------------------------------+

Para mostrar el mal constructor de asesores expertos que es, he copiado algunas líneas

No está utilizando el número mágico de las operaciones cuando comprueba las operaciones abiertas

este EA puede manejar las operaciones que usted no quiere que sean cambiadas por este EA

Está contando hasta la comprobación de los oficios y en este bucle total también cerrar oficios entonces tiene que contar down......

 

Y cualquiera que sea el resultado de Orderselect() seguimos ejecutando el siguiente bloque.

LOL

 

Como he dicho, soy novato en la codificación, y este EA está/estaba funcionando, por lo que he intentado desarrollarlo, y cuando me he quedado perplejo, he pedido ayuda en este foro.

Buen intento de burlarse de mis esfuerzos, sin decir realmente nada que como novato pueda utilizar. ¿El LOL es porque pedí ayuda?

No quiero ni necesito convertirme en un experto en codificación, sólo asumí que una educada petición de ayuda para resolver un simple error (o dos) llevaría a que alguien me aconsejara en qué parte del código está el error. Lo que deVries escribió aquí efectivamente NO me ayuda en absoluto, ya que tendría que estudiar/práctica/experimentar durante tal vez años para siquiera entender lo que se dijo.

¿No fueron todos ustedes novatos alguna vez, y necesitaron sólo una palabra amable de ayuda para hacer funcionar códigos simples? ¿Por favor?

 
unclebigpete:


¿No habéis sido todos vosotros novatos alguna vez y habéis necesitado sólo una palabra amable de ayuda para conseguir que funcionen los códigos sencillos? ¿Por favor?

Sí, hace 4 años... haz un esfuerzo por aprender... puede que no quieras ser un experto, yo no me considero un experto, pero para hacer un EA que funcione correctamente necesitarás aprender a codificar correctamente... alternativamente siempre puedes pedir a alguien que lo haga por ti: Trabajos
 

Raptor, estoy haciendo un esfuerzo. Sólo quiero un EA que funcione y que pueda seguir desarrollando a medida que vaya aprendiendo. Tenía este funcionando, y luego retoqué algo y ahora no lo hace. He estado leyendo sobre codificación, y no tengo 4 o más años para ponerme al día. Sólo un poco de ayuda real por favor, ya que lo que se ha dicho aquí no me sirve de mucho.

Es un poco como aprender a fumar un cigarrillo donde el consejo es "encenderlo".

 
unclebigpete:

Como he dicho, soy un novato en la codificación, y este EA es / estaba trabajando, por lo que he tratado de desarrollarlo, y cuando estaba perplejo, pedí ayuda en este foro.

Buen intento de burlarse de mis esfuerzos, sin decir realmente nada que como novato pueda utilizar. ¿El LOL es porque pedí ayuda?

No quiero ni necesito convertirme en un experto en codificación, sólo asumí que una educada petición de ayuda para resolver un simple error (o dos) llevaría a alguien a aconsejarme en qué parte del código está el error. Lo que deVries escribió aquí efectivamente NO me ayuda en absoluto, ya que tendría que estudiar/práctica/experimentar durante tal vez años para siquiera entender lo que se dijo.

¿No fueron todos ustedes novatos alguna vez, y necesitaron sólo una palabra amable de ayuda para hacer funcionar códigos simples? ¿Por favor?


"es mucho tiempo para ver si mis correcciones lo arreglan, y me estoy frustrando " citado de usted

Este es el problema que tienes. Usted está utilizando un "Expert Advisor Builder" ( que es la codificación de una mala manera....) para hacer su EA.

Cuando este programa está haciendo su mierda EA entonces usted no ha aprendido el conocimiento para ver lo que está mal con la codificación.

Si usted comenzó a hacer usted mismo EA sin EA automática Constructores

entonces usted encuentra los problemas más fácil por saber dónde buscar en el primer lugar

si tienes las líneas de programa de un EA hecho o no hecho por ti....

Y sí, se necesita tiempo para aprender, pero si usted puede ver a sí mismo lo que el error es entonces su frustración no sería tan grande

quien quiere usar basura DEJA DE USAR ESE CONSTRUCTOR DE EAs ....

 
unclebigpete:

Sólo un poco de ayuda real, por favor,

OK, un poco de ayuda . . .

Encuentre esta parte en su código, y cámbiela por esta. . .

//+------------------------------------------------------------------+
//| Variable End                                                     |
//+------------------------------------------------------------------+
//Check position                 
             bool IsTrade = False;
             for(int i = Total -1; i >= 0; i --) 
               {                       
               if( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) &&
                  OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 

Esto no comprueba el Número Mágico . . tendrás que añadirlo si quieres colocar órdenes manuales en los mismos pares o si quieres correr en diferentes marcos de tiempo en el mismo par al mismo tiempo . . . lo haces ?

Bares no es confiable, es una mala idea usar Bares. . deberías usar Tiempo en su lugar.

Su deslizamiento no está ajustado para corredores de 4/5 dígitos... ni tampoco su TP o SL.

Si usted hace su SL pequeño usted conseguirá el error 130 porque usted no está comprobando si es demasiado cercano o permitiendo el Spread.

¿Su corredor es un corredor ECN? No puede establecer el SL o el TP cuando coloca una orden de mercado con un corredor ECN, tiene que codificar un OredrModify() para añadir el SL o el TP después de colocar la orden...

¿Sigo? Esto es algo básico... estos puntos surgen en este foro día tras día...

Y usted no entiende mucho de esto porque en realidad no ha codificado nada . . . ha utilizado el código de otra persona . . " Expert Advisor Builder". Solo hay un atajo: Trabajos

 
unclebigpete 2012.05.22 10:19

Como he dicho, soy un novato en la codificación, y este EA es / estaba trabajando, por lo que he intentado desarrollarlo, y cuando estaba perplejo, pedí ayuda en este foro.

Buen intento de burlarse de mis esfuerzos, sin decir realmente nada que como novato pueda utilizar. ¿El LOL es porque pedí ayuda?

No quiero ni necesito convertirme en un experto en codificación, sólo asumí que una educada petición de ayuda para resolver un simple error (o dos) llevaría a que alguien me aconsejara en qué parte del código está el error. Lo que deVries escribió aquí efectivamente NO me ayuda en absoluto, ya que tendría que estudiar/práctica/experimentar durante tal vez años para siquiera entender lo que se dijo.

¿No fueron todos ustedes novatos alguna vez, y necesitaron sólo una palabra amable de ayuda para hacer funcionar códigos simples? ¿Por favor?

Querido unclebigpete,

Mis disculpas si te has ofendido. No me estaba burlando de ti. Yo estaba y todavía loling en "Expert Advisor Builder". Yo era novato hace 4 años, hizo un montón de preguntas estúpidas, - diablos todavía estoy aprendiendo ahora - algunos foristas aquí me corrigen y mi código y lo acepto, aprendo de other'd código también - pregunte RaptorUK sobre eso - me corrigió el domingo pasado y esa cosa de descarga de la historia.

Póngalo de esta manera, si su EA se ejecuta en los datos de 4 horas, entonces usted realmente tiene que esperar. Un día completo tiene sólo 6 velas/barra en 4 hr. Otra cosa, usted dijo que ha estado operando durante mucho tiempo y supongo que el comercio de forma manual y supongo que esta EA se basa en su estrategia. Bueno, ¿no es el comercio manual requiere paciencia?, lo mismo con esta EA entonces.

usted dijo esto ...

unclebigpete 2012.05.22 10:52

Raptor, ESTOY HACIENDO UN ESFUERZO. Sólo quiero un EA que funcione y que pueda seguir desarrollando A MEDIDA QUE APRENDE. Tenía este funcionando y luego retoqué algo y ahora no lo hace. He estado leyendo sobre codificación, y no tengo 4 o más años para ponerme al día. Sólo un poco de ayuda real por favor, ya que lo que se ha dicho aquí no me sirve de mucho.

Es un poco como aprender a fumar un cigarrillo donde el consejo es "encenderlo".

Entonces mi pregunta es, Whoa ..., ¿qué parte de ella que ha ajustado? Ahora nos pides que encontremos el error y lo arreglemos.

Miro su código más tarde, y por cierto, el archivo .ex es un archivo compilado que no ayuda.

:)

 

Tomemos un ejemplo de por qué "su" código es malo . . . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket > 0) 
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...

   else                                 // <---  this else is in relation to the OrderSelect,  so when the OrderSelect fails the error stored in GetLastError is updated
      {
      Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error 0 and you will be scratching your head
      } // else 
   } // if(Ticket... 

el error reportado es en relación con el OrderSelect NO El OrderSend. .

Debería hacerse así. . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket < 0) 
   {
   Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error that relates to the OrderSend
   } // if(Ticket... 

else                                 // <---  this else is in relation to the if(Ticket < 0)
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...
   } // else 
 
onewithzachy:

Querido unclebigpete,

Mis disculpas si te sientes ofendido. No me estaba burlando de ti. Yo estaba y todavía loling en "Expert Advisor Builder". Yo era novato hace 4 años, hizo un montón de preguntas estúpidas, - diablos todavía estoy aprendiendo ahora - algunos foristas aquí me corrigen y mi código y lo acepto, aprendo de other'd código también - pregunte RaptorUK sobre eso - me corrigió el domingo pasado y esa cosa de descarga de la historia.

Todos estamos aprendiendo... y aunque no lo estuviéramos todos somos humanos y todos cometemos errores... yo especialmente. La única persona que no se equivoca es la que no hace nada. . .

Por cierto... por qué esperar a probar tu código... . lo pruebe en el probador . . el probador de la estrategia. ;-)