[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 489

 
DOCTORS:


Credo che le mie funzioni cerebrali si siano parzialmente deteriorate dopo le vacanze, il che si traduce in un basso livello di auto-rapporto :(

Il punto è un po' diverso:

1. Appena l'Expert Advisor parte, assegno il valore iniziale del deposito a qualche variabile (sto cercando la funzione di assegnazione, anche se posso naturalmente scriverla manualmente nelle impostazioni iniziali, ma sono già stato rimproverato per le mie scarse capacità di programmazione, ma voglio farlo come fa un bianco).

2. Poiché il mio sistema è furbo, e lavora solo un lotto, il valore iniziale del lotto (diciamo) 1,0 ...

3. E la domanda principale - voglio dopo ogni commercio redditizio, il deposito è stato confrontato con l'originale, e se il nuovo valore (diciamo) era più del 30%, cambio il valore della dimensione del lotto di 0,1, cioè 1,0 +0,1, e così via costantemente (chiaramente la sfumatura che costantemente deve cambiare il vecchio valore della variabile, e ancora l'operatore di assegnazione del valore variabile del deposito).

Comunque, va così.


Nella libreria, vedi gli strumenti di gestione del volume di I. Kim e altre versioni, inclusa quella del libro di testo che ti ho dato - quando capirai come funzionano, non sarà difficile crearne uno tuo, che è esattamente ciò di cui hai bisogno... Ecco come stanno le cose. Senza di esso - nessun modo - la pratica e la risoluzione dei problemi tipici - IMHO, prima di tutto. Vedere il trailer - caratteristiche di gestione del capitale di Igor Kim.
File:
b-lots.mqh  3 kb
 
sss2019:

Il descrittore del file è sempre maggiore di zero quando si apre con successo?

Per favore vedete se la logica di questo codice, che apre il file per la scrittura

sbagliato, e chi chiuderebbe un file dopo che è stato creato se non c'è?

e poi il terminale vi darà un errore di apertura in questo caso, quindi è meglio controllare la presenza del file con il flag FILE_CSV|FILE_READ, in questo caso se non c'è un file, il terminale sarà silenzioso

 
FAQ:

sbagliato, e chi chiuderà il file dopo la sua creazione se non c'è un file?

E poi, il terminale vi darà un errore di apertura in questo caso, quindi è meglio controllare il file con il flag FILE_CSV|FILE_READ, in questo caso se non c'è un file, il terminale sarà silenzioso


Beh, è lì. Se il file era aperto

  if(Handle >0)
  FileClose(Handle);

Ho fatto un record al file, ma il delimitatore alla fine non viene aggiunto, e il tutorial dice che viene aggiunto automaticamente.

FileWrite(Handle,"Pair, Min, Max, Open, Close, Moment");
 

E se non c'era, lo si crea e non lo si chiude. oppure se si ha una chiusura extra (sotto nel codice)

per quanto riguarda il delimitatore - qualsiasi delimitatore con cui si apre il file (invece di crearlo), sarà lo stesso

 


Hehe, è un avatar a tema. :)

2 Roman - grazie, ci daremo un'occhiata.

 

FAQ:

E se non c'era, lo si crea e non lo si chiude. oppure se si ha una chiusura extra (sotto nel codice)

il separatore - qualunque sia il separatore con cui aprite il file (non lo create), sarà lo stesso


Quindi perché è ridondante non capisco, se non lo chiudo subito, poi lo chiudo dopo. Per favore, mostratemi un esempio di come aprirlo e chiuderlo correttamente.

 
Si prega di consigliare come far apparire il segnale di allerta nell'indicatore, solo una volta sulla barra corrente. Ho provato a fare una variabile, e finché questa variabile ha valore 0 il segnale è permesso, appena il segnale è suonato la variabile prende valore 1. Ma non funziona.
 
sss2019:
Si prega di consigliare come far apparire il segnale di allerta nell'indicatore, solo una volta sulla barra corrente. Ho provato a fare una variabile, e finché questa variabile ha valore 0 il segnale è permesso, appena il segnale è suonato la variabile prende valore 1. Ma non funziona.

https://docs.mql4.com/ru/basis/variables/static
 
sss2019:
Si prega di consigliare come far apparire il segnale di allerta nell'indicatore, solo una volta sulla barra corrente. Ho provato a fare una variabile e finché questa variabile ha valore 0 il segnale è permesso, appena il segnale ha suonato la variabile prende valore 1. Ma non funziona.
File:
 
sss2019:
Per favore consigliate come far apparire Alert nell'indicatore solo una volta alla barra corrente. Ho provato a fare una variabile e finché questa variabile ha valore 0 il segnale è permesso. Appena il segnale è stato emesso la variabile prende valore 1. Ma non funziona.


Di solito creo una variabile LastBarAlert e ci scrivo Time[0] quando scatta l'allarme.

E poi elementare, Alert viene visualizzato se LastBarAlert!=Time[0]

if (Signal && LastBarAlert!=Time[0]){
  Alert('Signal detected');
  LastBarAlert=Time[0];
}
Motivazione: