[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 486

 
laveosa:
Ciao a tutti, consigliate come controllare come è stato chiuso l'ultimo ordine, con stop o profitto. Capisco che ho bisogno di usare OrdersHistoryTotal, ma per favore consigliate come farlo e date un esempio.

C'è un esempio nella descrizione della funzioneOrdersHistoryTotal

 
kakin:

Grazie. Anch'io ho cercato e pensato.

Victor, sai dove altro si possono trovare articoli di formazione su MKL di Roche?


Sono su Alpari. Roche ha pubblicato i link. Sono troppo pigro per cercare.
 
Lyuk:

Domanda semplice, nessuna risposta trovata.

Come aggiungere nuovi dati a un file di testo (NON su una nuova linea!!! ma sulla stessa linea!)

Per esempio c'è un file con un array della seguente forma: 382;1;-1;1;1;-1;1;1;-1;1;-1;1;-1;1;...;1;crlf

dovete aggiungere questo: 383;1;-1;1;1;1;-1;1;1;-1;-1;1;1;-1;1;...;1;crlf

FileWrite() aggiunge crlf extra, inoltre non so come cambiare il primo numero.

Così non devo preoccuparmi molto di dividere il file, leggerlo in un array (stringa o parse), correggerlo, scriverlo di nuovo.
 
Zhunko:
Quindi non devi preoccuparti molto di dividere il file, leggerlo in un array (stringa o parse), correggerlo, scriverlo di nuovo.
Grazie, immagino che dovrò farlo (sovrascrivere con la pulizia), ma puoi dirmi come "sezionare"?
 
Vinin:

Sono su Alpari. Roche ha pubblicato dei link. Sono troppo pigro per cercare.
OK. Grazie. Cercherò meglio. Ieri non ne ho trovato nessuno.
 
Lyuk:
Grazie, probabilmente dovrò farlo (sovrascrivendo con la cancellazione), ma puoi ancora dirmi come "dividere"?

In generale, questi file non sono destinati ad essere modificati. Se il file è piccolo, è meglio riscriverlo. I file più grandi dovrebbero essere elaborati attraverso la mappatura per renderla più veloce.

Dividere il file indicizzando i delimitatori. La preparazione degli indici è lunga, ma poi funziona velocemente.

 

Sono un po' bloccato sull'implementazione dell'algoritmo di piazzamento degli ordini.

L'essenza è che c'è un biglietto, accendo l'enumerazione con una condizione per trovare il biglietto:

for(int ot=0; ot<=OrdersTotal(); ot++)
 {
  if(OrderSelect(ot,SELECT_BY_POS)==true)
   {
     if(OrderMagicNumber()==magic)
      {
       if(УСЛОВИЕ МОДИФИКАЦИИ)
        {
         МОДИФИКАЦИЯ
        }
      }
   }
 }

Se uno degli ordini corrisponde a una magia, lo modifichiamo.

Abbiamo un altro compito: se nessuno degli ordini corrisponde a una magia, dobbiamo impostare un nuovo ordine in sospeso. if(OrderMagicNumber()!=magic) non funziona qui.

Come possiamo implementare questa condizione senza ricorrere a funzioni personalizzate di terzi?

 

Voglio sapere i numeri di ticket degli ordini che sono stati chiusi con stop. Voglio ottenere i numeri dei biglietti d'ordine che sono stati chiusi con stop e mi è venuto fuori -1 e basta, potete dirmi cosa c'è di sbagliato?

for(int i=0;i<history;history=0)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
hi_stop=OrderStopLoss();
if(Bid<hi_stop)ticket=OrderTicket();
}
}
se(ticket_caunt!=ticket)
{
Print("___________________________________________________ticket-",ticket);
ticket_caunt=biglietto;
}
 
laveosa:

Voglio sapere i numeri di ticket degli ordini che sono stati chiusi con stop. Voglio ottenere i numeri dei biglietti d'ordine che sono stati chiusi con stop e mi è venuto fuori -1 e basta, potete dirmi cosa c'è di sbagliato?

for(int i=0;i<history;history=0)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
hi_stop=OrderStopLoss();
if(Bid<hi_stop)ticket=OrderTicket();
}
}
se(ticket_caunt!=ticket)
{
Print("___________________________________________________ticket-",ticket);
ticket_caunt=biglietto;
}
Prova a suonare (modifica per le tue esigenze) f-e Kim I.V isCloseLastPosByStop - Restituisce la bandiera di chiusura dell'ultima posizione per stop

e NumberOfPositions - restituisce il numero di posizioni, e forse altri si adatteranno alla tua domanda...

 
midorum:
iLow
cp