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

 
fore-x:

Per favore, consigliate come insegnare al programma a ricordare le ultime variabili usate. Ho bisogno di ricordare il simbolo, il timeframe, il box, l'inverso, la larghezza e il numero di barre. Dopo le impostazioni selezionate da un utente, verrebbero salvate da qualche parte e successivamente, se i parametri sono salvati da qualche parte, verrebbero caricati da lì. Cosa usare, cosa fare?

Premere F7

Questo aprirà le Proprietà EA.

Nella scheda "Parametri di ingresso", premere il pulsante "Salva".

Potete caricare i parametri salvati nello stesso modo.

 

Una foto (con l'algoritmo) non ci sta, quindi l'ho allegata.

Ecco il succo. (1) L'EA dovrebbe aprire un ordine e impostare s\l, t\p, lotto. (2) Poi, se c'è stato un profitto nel commercio, semplicemente lo ripete. (3) Se c'è una perdita, cambia alcuni valori e un nuovo ordine con essi, e così via, fino a quando c'è un commercio redditizio. (4) Poi ripristina i valori iniziali dal punto 1 e ripete tutto. Non è possibile organizzare un ciclo (punto 3) con uscita da esso se c'era un profitto nel commercio, e ripristinare i parametri iniziali dopo l'uscita da esso.

 
enya:

Aiuto con un paio di funzioni. L'immagine (con l'algoritmo) non è inserita, quindi l'ho allegata.

sembra che tu non li abbia attaccati.

Ma in realtà questo thread è per i programmatori principianti, non per i commercianti principianti.

Qui si discute degli errori nel codice.

Hai almeno uno schema del codice del tuo algoritmo?

 
sergeev:
sembra che tu non li abbia attaccati.

.

c'è un problema con il ciclo e il ripristino dei valori iniziali dopo l'uscita dal ciclo.

 
Che tipo di contorno può esserci? 10 righe. La domanda è "come è fatto il Do while di VB e come faccio a mettere il valore di profitto (risultato) dell'ultimo ordine in una variabile"?
 
Si prega di consigliare come sbarazzarsi dell'errore il nome del simbolo per la funzione MarketInfo deve essere una stringa
 
enya:
La domanda è "che aspetto ha il Do while analogico di VB e come faccio a mettere il valore di profitto (risultato) dell'ultimo ordine in una variabile?

Leggi prima il tutorial https://book.mql4.com/ru/

Non c'è un analogo completo del do loop con controlli pre e post, ma c'è un normale while (il controllo post può essere rappresentato da for).

I programmi non sono esattamente lineari, è più facile concentrarsi sugli eventi, invece di mettere in loop la procedura di avvio.

Ecco uno schema approssimativo,

1. impostare SL,TP...

2. controlla il numero di ordini aperti, se c'è meno di uno, viene aperto un nuovo ordine.

La logica del diagramma a blocchi è ancora sofferente, ci sono molte domande a cui non risponde. Per esempio, cosa succede se vengono lanciati diversi EA, o cosa succede se riavviamo l'EA prima di chiudere un ordine, ecc.

 
dofer-dert:
Si prega di consigliare come sbarazzarsi dell'errore il nome del simbolo per la funzione MarketInfo deve essere una stringa

La funzione MarketInfo ha bisogno di una stringa come nome dello strumento. Si prega di fornire una stringa per utilizzarlo.
 

cosa potrebbe esserci di sbagliato in questo

qui nel codice

{

se (lotto1 < MarketInfo(NULL,MODE_MINLOT)) {lot1=MarketInfo(NULL,MODE_MINLOT);lot2=lot1*2;lot3=lot1*3;lot4=lot1*4;lot5=lot1*5;

}

o qui

STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);

 
 MarketInfo(Symbol(),MODE_MINLOT)
Motivazione: