[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 156

 
r772ra:

Lee de nuevo, con atención: para Comment(), Alert() y Print()

Los datos de tipo double se imprimen con 4 dígitos decimales después del punto. Para obtener números con mayor precisión, utilice la función DoubleToStr().

Muchas gracias de nuevo, ¡ya lo he arreglado! Pero, ¿por qué no coinciden los valores numéricos (Macd1Buffer y Signal1Buffer) en Comment y los valores actuales (Macd1Buffer[i] Signal1Buffer[i]) de las líneas MACD?
 
MK07:
Muchas gracias de nuevo, ¡ya lo he arreglado! Pero, ¿por qué no coinciden los valores numéricos (Macd1Buffer y Signal1Buffer) en Comment y los valores actuales (Macd1Buffer[i] Signal1Buffer[i]) de las líneas MACD?

Esto se debe a que después de que el bucle for(i=0;i<=limit;i++) termina, la variable i es igual a limit+1, lo que significa que aunque limit sea 0, comment imprimirá al menos el primer valor del buffer, pero no el actual (cero)

El comentario correcto (Macd1Buffer[0], Signal1Buffer[0])

 
alsu:

Esto se debe a que después de que el bucle for(i=0;i<=limit;i++) termine, la variable i es igual a limit+1, lo que significa que aunque limit sea 0, comment imprimirá al menos el primer valor del buffer, pero no el actual (cero)

Comentario correcto(Macd1Buffer[0], Signal1Buffer[0])

Gracias por la aclaración y la ciencia! A veces se pierde un "detalle" importante.
 
en la prueba funciona, pero en la vida real no lo hace en una cuenta de 5 dígitos, pero en una cuenta de 4 dígitos todo está bien vClose[0] = (Bid+Ask)/2.0; el valor en el comentario muestra una cuenta de 4 dígitos
 
r772ra:

Está todo mal, piénsalo, quieres prescribir (o ), por lo que el precio es siempre, o por encima... o por debajo... nivel.

Intenta buscar en el foro, en algún lugar se habló de "romper el nivel" .

Gracias por los consejos, lo arreglaré y seguiré buscando.
 
Armen63:
el asesor funciona en la prueba, pero no en la vida real en una cuenta de 5 dígitos, pero en una cuenta de 4 dígitos todo está bien vClose[0] = (Bid+Ask)/2.0; el valor en el comentario muestra una cuenta de 4 dígitos
string DoubleToStr ()

para ayudar.

 

Hola, Podrían decirme cómo se escribe el código en la función para aumentar el lote para que no fuera más que lot=10,y

Si quiero abrir una posición con lote=10, entonces la siguiente posición se reabrirá con lote=1.

La secuencia de posiciones de apertura con lote creciente debe ser la siguiente:

1 posición - lote=1
2 pose - lote=2
3 posición - lote=3
4 posición - lote=4
5 posición - lote=5
6 posición - lote=6
7 posición - lote=7
8 posturas - lote=8
9 posición - lote=9
10 pose - lote=10

11 pose - lote=1
12 posturas - lote=2

y así sucesivamente.

el propio código para aumentar el lote posterior es el siguiente:

     {
       if (Ballance!=0.0)
         {
           if (Ballance>AccountBalance())
               
       Lots=Lots+1;
                  else
             Lots=Lots+1+(!(Lots>1));   
         }
       Ballance=AccountBalance();
       }
 

Hola miembros del foro.

Necesito resolver la siguiente tarea:

Para escribir los valores del indicador ADX (a saber: fecha (hora), valor ADX, valor DI+, valor DI-) en un archivo CSV.

¿Cuál es la mejor manera de hacerlo?

 
STDinvest:

Hola miembros del foro.

Necesito resolver la siguiente tarea:

Para escribir los valores del indicador ADX (a saber: fecha (hora), valor ADX, valor DI+, valor DI-) en un archivo CSV.

¿Cuál es la mejor manera de hacerlo?

Así es como se hace.
 
El problema es el siguiente: por ejemplo, el primer acuerdo 0,01 lote, el segundo acuerdo 0,02 lote, el tercero - 0,03 y así sucesivamente hasta que la tendencia cambia en la dirección opuesta y luego volver a abrir el acuerdo con 0,01 lote