Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 248

 
makssub #:

Grazie mille per le vostre risposte. Ho implementato alcuni dei vostri suggerimenti.
Ho scritto una funzione che trova il tick giusto.
Ho scritto una funzione che calcola il profitto di tutti gli ordini chiusi dopo il tick d'ordine richiesto dalla funzione selezionata. Ora non mi resta che correggerlo secondo le vostre raccomandazioni e aggiungere un controllo per tempo ecc.

L'unica cosa che mi confonde ora è che non lo calcola correttamente. Se TP esce 0,02 come risultato del test, calcola e scrive 0,1300 in Comment. Si prega di consigliare cosa c'è che non va?

Tick e biglietto sono cose diverse, un tick è un nuovo prezzo in arrivo degli scambi... È meglio non confondersi subito.

TP e SL si chiudono ai livelli di prezzo e il prezzo più o meno. Il prezzo è discreto e lo stesso vale per i livelli di stop. Se non va oltre i livelli, l'ordine vive, se lo fa, si chiude. Nel tester vengono modellati 4 tick, ce ne sono meno che nella situazione reale e quindi il divario tra i prezzi dei tick è più ampio.

Gli errori e il corso di trading sono meglio da scrivere o al diario, ma c'è molta informazione inutile lì, si dovrebbero trovare le righe necessarie, o al file. Non ci saranno cose inutili nel file.

 
Valeriy Yastremskiy #:

Tick e biglietto sono cose diverse, un tick è un nuovo prezzo di vendita... È meglio non confondersi subito.

TP e SL si chiudono a livelli di prezzo e prezzo più o meno. Il prezzo è discreto e lo stesso vale per i livelli di stop. Se non va oltre i livelli, l'ordine vive, se lo fa, si chiude. Nel tester vengono modellati 4 tick, ce ne sono meno che nella situazione reale e quindi il divario tra i prezzi dei tick è più ampio.

Gli errori e il corso di trading sono meglio essere scritto o al diario, ma c'è molta informazione inutile lì, si dovrebbe trovare le righe necessarie, o al file. Non ci saranno cose inutili nel file.

Vorrei visualizzarlo nel registro oggi. Semmai, farò ancora domande.

 
Buon pomeriggio.

Qual è la differenza tra una funzione e un operatore?

Perché "if()" è un operatore, e"Alert()" è una funzione, se entrambi hanno parentesi dopo i loro nomi? Sto studiando il tutorial di mql4, ma non capisco i segni e le proprietà
 
Ivan Butko #:

Qual è la differenza tra una funzione e un operatore?

Non mi sono mai posto questa domanda, ma so che ci sono solo una dozzina di operatori in tutti i linguaggi di programmazionehttps://www.mql5.com/ru/docs/basis/operators

e il resto sono o librerie integrate o funzioni definite dall'utente la cui sintassi assomiglia a ()

S : in teoria tutte le librerie sono scritte da operatori..... almeno così era in C. MQL è un wrapper su qualche compilatore, ora è come LLVM e le librerie pronte inserite che ti danno le funzioni incorporate .... ma è solo un pensiero, in linea di principio non importa, può far fronte ai compiti

 
Ivan Butko "Alert()" una funzione, se entrambi hanno parentesi dopo il nome? Sto studiando il tutorial di mql4, ma non capisco i segni e le proprietà

"if" è direttamente tradotto nell'assemblatore come un comando, mentre "Alert" è una funzione che invia notifiche.

 
Taras Slobodyanik #:

"if" è direttamente tradotto nell'assemblatore come un comando, mentre "Alert" è una funzione che invia notifiche.

hmm... E anche switch o new sono tradotti in un comando assembler?

;)


il primer di programmazione è il posto migliore dove cercare, lì nella prefazione e nei primi capitoli di solito scrivono qualcosa su questo argomento, dovrai cercare un primer per i ragazzi delle scuole, sarà lì di sicuro


UPD: e se la memoria non mi inganna, se sarà sostituito da assembler XOR / CMP e poi JNE / JNZ ... cioè, per il confronto e le transizioni di flag, non proprio lo stesso comando assembler, anche se non è il punto

 
Ivan Butko "Alert()" una funzione se entrambi hanno parentesi dopo i loro nomi? Sto studiando un tutorial di mql4, ma non riesco a capire i segni e le proprietà

differenze solo nella semantica del linguaggio particolare. In questa sandbox, è comune chiamare un operatore if. Finché si fanno pupazzi qui, così sia :-)

In realtà è la stessa cosa. Conosco lingue in cui non ci sono "operatori", solo funzioni in giro...e viceversa (non usate in pratica, ma ce ne sono)

 
Igor Makanu #:

hmm... switch o new sono anche tradotti in un comando assembler?

;)


in generale, dovresti consultare un primer di programmazione, nella prefazione e nei primi capitoli di solito scrivono qualcosa su questo argomento, devi cercare un qualsiasi primer per scolari, sarà esatto lì


UPD: e se la memoria non mi inganna, se sarà sostituito da assembler XOR / CMP e poi JNE / JNZ ... cioè per il confronto e per i flag switch, non proprio lo stesso comando assembler, anche se non è questo il punto.

Se la memoria non mi inganna, dal BASIC gli operatori sono semplici un'azione, e le funzioni sono più complesse, diverse azioni.

Questa è storicamente una buona spiegazione)

 
Igor Makanu #:

UPD: e se la memoria non mi inganna, se sarà sostituito da assembler XOR / CMP e poi JNE / JNZ ... cioè per il confronto e per i passaggi di bandiera, non proprio lo stesso comando assembler, anche se non è il punto

Questo è il punto, si possono tradurre gli operatori in assembler senza usare funzioni, con semplici comandi della CPU.

Ciò che è più complesso, ciò che richiede procedure complesse per essere chiamato, è una funzione.

E quelle che sono ancora più complesse sono le classi-strutture.

 

se non altro, devi leggere Wiki ))))

Operatore (programmazione)

e c'è un link a un articolo correlato

Operatore (programmazione)