[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 280

 
Roger:


Puoi provare così

Onestamente, non l'ho provato io stesso.


Beh, sì, solo StringLen(str) probabilmente sposterà il descrittore della lunghezza della stringa, ma dalla fine (cioè da una nuova stringa) della stringa...

 
BBSL:


Beh, sì, solo StringLen(str) probabilmente sposterà il descrittore della lunghezza della stringa, ma dalla fine (cioè da una nuova stringa) della stringa...


Mi dispiace, non capisco. :-(
 
Sergey_Rogozin:

Lo script è attivo e funzionante. Grazie.

Risultato: emette i numeri delle barre con le frecce, ma scrive che i valori del buffer = 0.0000000

Ci siamo!!!

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

Lo conservo per dopo. Questo è abbastanza per oggi.

Non sta andando bene...


All'isola!!! :)

 
Roger:

Mi dispiace, non capisco. :-(


Vedete, se facciamo FileClose(p);

E poi, FileSeek(p, (qualsiasi valore positivo), SEEK_END);, allora spostiamo il descrittore a (qualsiasi valore positivo), ma da una nuova linea, credo... Quindi forse dovremmo prendere FileSeek(p, -1, SEEK_END);; e controllarlo, forse funzionerà...

 
FileClose() è troppo presto, mettetelo alla fine. FileSeek, se impostato su SEEK_END, conta dalla fine.
 
Roger:
FileClose() è stato messo troppo presto, mettetelo via. FileSeek, se SEEK_END è alla fine, conta dalla fine.


Non funzionerà così...

Voglio dire, non posso farlo secondo la logica del programma...

Per aggiungere un pezzo di dati, deve essere dall'altra parte del programma, che viene chiamato una volta ogni n tick

E non è bello tenere aperto un thread...((

Penso che FileSeek(p, -1, SEEK_END); funzionerà, lo proverò tra un paio d'ore)

 

Ciao a tutti di nuovo. Potete consigliarmi, sto eseguendo il seguente codice. Il programma riesce a piazzare diversi ordini (sul tester) prima di trovare un ordine e mettere una bandiera. È una caratteristica del tester? Intendevo dire che il codice viene eseguito linearmente. Qual è il trucco qui? Grazie in anticipo, amici!


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:

Ciao a tutti di nuovo. Potete consigliarmi, sto eseguendo il seguente codice. Il programma riesce a piazzare diversi ordini (sul tester) prima di trovare un ordine e mettere una bandiera. È una caratteristica del tester? Intendevo dire che il codice viene eseguito linearmente. Qual è il trucco qui? Grazie in anticipo, amici!




Il trucco è che la condizione non è quasi mai soddisfatta. Metti <=Punto*0,5 invece di ==0 e la vita migliora. Oh, e il modulo della differenza sul lato sinistro.
 OrderOpenPrice()-(p1+more) == 0
 

tara


È interessante, perché il mio prezzo di impostazione dell'ordine è normalizzato a 4 cifre, cioè le frazioni di pip non possono esserci. Perché è così? E sì, ora funziona correttamente! THX

 
Pyro:

Salve di nuovo a tutti. Potete consigliarmi, sto eseguendo il seguente codice. Il programma riesce a piazzare diversi ordini (sul tester) prima di trovare un ordine e mettere una bandiera. È una caratteristica del tester? Intendevo dire che il codice viene eseguito linearmente. Qual è il trucco qui? Grazie in anticipo, amici!

Il codice che ti ho abbozzato a pagina 277 (penultimo post della pagina) non era adatto al tuo problema?

È con i controlli e la normalizzazione.

Motivazione: