aventuras de un novato - página 9

 

Tim,


Tengo el código hasta el punto en que no hay errores reportados cuando se compila (era sólo la fijación de algunos errores que destacó), a pesar de que en probador de la estrategia no hace ningún comercio todavía. Pero hay algo que me desconcierta:


int EntryRules(string CurrencySymbol, double TopFilter, double BottomFilter)  //Tim: string CurrencySymbol not CurrencySym right?
{

      emas_Up =  (ema7>ema14) && (ema14>sma50);
      if (emas_Up && Ask < TopFilter) // Note the TopFilter value  is a parameter passed to the function just like CurrencySymbol. These have not been defined anywhere as global variables.
         result = LONG_ENTRY;   // We have assigned the manifest constant to the local variable result 



Los parámetros TopFilter y BottomFilter. ¿Te refieres a los parámetros 'TopFilters' y 'BotFilters'? (estos son los que definimos como variables a nivel global. Los de abajo. Cambié el código para reflejar esto, y no produjo ningún error (esto significó cambiar la declaración de depuración en consecuencia). ¿Cuál es tu opinión de gurú sobre esto?

   double TopFilters[NUM_CURRENCY_PAIRS];     // So we just define uninitialised arrays of the required size
   double BotFilters[NUM_CURRENCY_PAIRS];    // This is Step 1/2 for array building. Step 2/2 is to assign a numerical value to each element, 
Archivos adjuntos:
 
niko:

Hola CB, Lo ideal es tener un EA multipar - que es lo que Tim y yo estamos tratando de construir. Sin embargo, un EA de un solo par también es muy deseable, ya que me está enseñando a codificar. Sus estilos de codificación difieren y es un excelente ejercicio para mí para ver cómo la misma/similar idea puede ser codificada de manera diferente. Además, pensé que si terminábamos primero el EA individual, entonces lo usaría para ayudarme en el comercio manual, pero parece que ambos códigos estarán terminados al mismo tiempo ahora

No estoy seguro de a qué te refieres exactamente con "single" y "multi". ¿Cómo se relacionan con el modelo que he descrito anteriormente? Es decir, un solo EA que podría ser caído en cualquier par y el comercio sólo en el par de la tabla que se dejó caer en - hacer todas las decisiones de comercio basado sólo en el par de la tabla que se dejó caer en (una única base de código para mantener). Sólo trato de entender la terminología para saber lo que quieres.


CB

 

Hola CB,

En mi vaga comprensión de cómo se ejecutan los EA, lo que quería decir era 1. 1 EA que se puede ejecutar y que negociará múltiples pares a la vez. 2. 2. Un solo EA que necesita ser colocado en un gráfico específico y por lo tanto se aplicaría a ese gráfico SOLO (la pregunta es, ¿es posible hacer un solo EA que puede ser colocado en, digamos, 3 gráficos diferentes y seguiría funcionando en esos 3 gráficos? Ya lo intenté antes pero por alguna razón sólo se ejecutó 1 gráfico (todos los demás no se ejecutaron).

 
niko:

Hola CB,

En mi vaga comprensión de cómo se ejecutan los EA, lo que quería decir era 1. 1 EA que se puede ejecutar y que negociará múltiples pares a la vez. 2. 2. Un solo EA que necesita ser colocado en un gráfico específico y por lo tanto se aplicaría a ese gráfico SOLO (la pregunta es, ¿es posible hacer un solo EA que puede ser colocado en, digamos, 3 gráficos diferentes y seguiría funcionando en esos 3 gráficos? Lo intenté antes pero por alguna razón sólo se ejecutó 1 gráfico (todos los demás no se ejecutaron).

Sí, es fácilmente posible. Uno de mis EAs:

- Puede ser colocado en múltiples gráficos diferentes (que se ejecutan simultáneamente en la misma instancia de la plataforma o que se ejecutan en una instancia de la plataforma por separado - lo que usted elija)

- Tomará sus decisiones sólo en base al par asociado con el gráfico en el que se está ejecutando

- Operará sólo para el par asociado a ese gráfico


CB

 

Gracias CB, no lo sabía. Voy a pasar más tiempo esta semana comparando los 2 códigos, de hecho imprimí ambos y los publicaré por toda mi habitación para tratar de entender mejor lo que está pasando. entender el razonamiento lógico detrás de la codificación es probablemente lo más difícil que estoy enfrentando en este momento.

 
niko:

Gracias CB, no lo sabía. Voy a pasar más tiempo esta semana comparando los 2 códigos, de hecho imprimí los dos y los pondré por toda mi habitación para tratar de entender mejor lo que está pasando. entender el razonamiento lógico detrás de la codificación es probablemente lo más difícil que estoy enfrentando en este momento.

Ok, si te encuentras con algo que no entiendes en el código que te dejé, sólo pregunta.


CB.

 
Gracias CB. Definitivamente lo haré. Lo estoy revisando ahora mismo
 

CB, necesito tu sabiduría. Parece que no puedo entender los errores en el compilador (y son los mismos que encontré antes y no sabía qué hacer). En orden de errores. podrias compartir algo de luz por error para saber que hacer la proxima vez.


1. 2. descripción: " 'for' - se espera un punto y coma". entiendo que algo pasa con nuestros paréntesis en alguna parte, ya que esta línea no necesita ;.

for (int c=0;c<NUM_CURRENCY_PAIRS;c++) 


2. descripción: " 'c' -expresión en ámbito global no permitida'. La misma línea que la anterior. No entiendo esto, ¿cómo no permiten una declaración de variable global? Además mucha gente usa este código y funciona bien.

3. descripción "NUM_CURRENCY_PAIRS" - expresión en ámbito global no permitida". Pero ya declaré esto junto a los externos, ¡así que no puede ser más global que eso!

4. descripción : "{ expresión en el ámbito global no permitida". Parece que no le gustan los paréntesis para el código de abajo.

{
   sSignal = fnGenerateSignal();						// change this to "sGignal = fnGenerateSignal();" ***done
   if (fnShouldWeTrade())
    fnTrade();                                                            // change this to "fnTrade();"**done
   return(0);
   }


Gracias,

nick

 
niko:

CB, necesito tu sabiduría. No consigo entender los errores del compilador (y son los mismos que me he encontrado antes y no sabía qué hacer). En orden de errores. Podrías compartir algo de luz por error para saber qué hacer la próxima vez.


1. 2. descripción: " 'for' - se espera un punto y coma". entiendo que algo pasa con nuestros paréntesis en alguna parte, ya que esta línea no necesita ;.


2. descripción: " 'c' -expresión en ámbito global no permitida'. La misma línea que la anterior. No entiendo esto, ¿cómo no permiten una declaración de variable global? Además mucha gente usa este código y funciona bien.

3. descripción "NUM_CURRENCY_PAIRS" - expresión en ámbito global no permitida". Pero ya declaré esto junto a los externos, ¡así que no puede ser más global que eso!

4. descripción : "{ expresión en el ámbito global no permitida". Parece que no le gustan los paréntesis para el código de abajo.


Gracias,

nick

¿Puedes publicar la totalidad del código que está tratando de compilar por favor. Ta.


CB

 
Tus deseos son órdenes para mí (iba a decir 'high flyer', pero luego consulté el diccionario en línea y aparentemente es un comentario grosero, no importa)
Archivos adjuntos: