[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 280

 
Roger:


Puedes probarlo así

Sinceramente, yo no lo he probado.


Bueno, sí, sólo StringLen(str) probablemente desplazará el descriptor por la longitud de la cadena, pero desde el final (es decir, desde una nueva cadena) de la cadena...

 
BBSL:


Bueno, sí, sólo StringLen(str) probablemente desplazará el descriptor por la longitud de la cadena, pero desde el final (es decir, desde una nueva cadena) de la cadena...


Lo siento, no lo entiendo. :-(
 
Sergey_Rogozin:

El script está en funcionamiento. Gracias.

Resultado: emite números de barra con flechas, pero escribe que los valores del buffer = 0.0000000

¡¡Aquívamos!!

.........................................

Lo dejaré para más adelante. Es suficiente por hoy.

No va bien...


¡¡A la isla!! :)

 
Roger:

Lo siento, no lo entiendo. :-(


Mira, si hacemos FileClose(p);

Y luego, FileSeek(p, (cualquier valor positivo), SEEK_END);, entonces desplazamos el descriptor a (cualquier valor positivo), pero desde una nueva línea, creo que sí... Así que tal vez deberíamos tomar FileSeek(p, -1, SEEK_END); y comprobarlo, tal vez funcione...

 
FileClose() es demasiado pronto, ponlo al final. FileSeek, si se establece como SEEK_END, cuenta desde el final.
 
Roger:
FileClose() se ha puesto demasiado pronto, guárdelo. FileSeek, si SEEK_END está al final, cuenta desde el final.


No funcionará así...

Es decir, no puedo hacer eso por la lógica del programa...

Para añadir un dato, debe ser desde el otro extremo del programa, que se llama una vez cada n ticks

Y no es agradable mantener un hilo abierto...((

Creo que FileSeek(p, -1, SEEK_END); funcionará, lo probaré en un par de horas))

 

Hola a todos de nuevo. Me pueden aconsejar, estoy ejecutando el siguiente código. El programa consigue colocar varias órdenes (en el probador) antes de encontrar una orden y poner una bandera. ¿Es una característica del probador? Me refiero a que el código se ejecuta linealmente. ¿Cuál es el truco aquí? Gracias de antemano, amigos.


for(int i=1 ; i <= OrdersTotal() ; i++)
   {
   if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES))
      {
      if(OrderOpenPrice()-(p1+more) == 0)
         {
         ordersethigh1=true;
         break;
         }
      }
   }
     
if((ordersethigh1==false) && (p2-price>pointsclose))
   {
   OrderSend(Symbol(),OP_SELLLIMIT,baselot,p1+more,3,NULL,NULL,"Comment",0001,0,White);
   }
 
Pyro:

Hola a todos de nuevo. Me pueden aconsejar, estoy ejecutando el siguiente código. El programa consigue colocar varias órdenes (en el probador) antes de encontrar una orden y poner una bandera. ¿Es una característica del probador? Me refiero a que el código se ejecuta linealmente. ¿Cuál es el truco aquí? Gracias de antemano, amigos.




El truco es que la condición casi nunca se cumple. Poner <=Punto*0,5 en lugar de ==0 y la vida mejora. Ah, y el módulo de la diferencia en el lado izquierdo.
 OrderOpenPrice()-(p1+more) == 0
 

tara


Es interesante, porque mi precio de fijación de la orden está normalizado a 4 dígitos, es decir, las fracciones de un pip no pueden estar ahí. ¿Por qué es así? Y sí, ¡ya funciona correctamente! THX

 
Pyro:

Hola de nuevo a todos. Me pueden aconsejar, estoy ejecutando el siguiente código. El programa consigue colocar varias órdenes (en el probador) antes de encontrar una orden y poner una bandera. ¿Es una característica del probador? Me refiero a que el código se ejecuta linealmente. ¿Cuál es el truco aquí? Gracias de antemano, amigos.

¿El código que te he esbozado en la página 277 (penúltimo post de la página) no se ajusta a tu problema?

Es con los controles y la normalización.