Discussione sulla documentazione MQL4 - pagina 14

 
Mathemat:
Comunque, si spera che la necessità di un compilatore C sia scomparsa. Fondamentalmente, si possono trovare distribuzioni DOS molto compatte sul web, del peso di una dozzina di mega al massimo.

Grazie! Dopo due giorni con i tutorial C ho finalmente capito qualcosa negli esempi di Expert Advisors. Cercherò di usare subito MQL4. Spero di ricevere presto altri articoli da Rosha.
 
Dmitrich:
Matematica:
Bene, speriamo che la necessità di un compilatore C sia scomparsa. In linea di principio, si possono trovare sul web distribuzioni DOS molto compatte, del peso di una dozzina di mega al massimo.

Grazie! Dopo due giorni con i tutorial C ho finalmente capito qualcosa negli esempi di Expert Advisors. Cercherò di usare subito MQL4. Spero che anche gli articoli siano presto disponibili.

Sono disponibili ora, anche se tramite un link temporaneo.
 
Rosh:
Dmitrich:
Matematica:
Bene bene, speriamo che la necessità di un compilatore C sia scomparsa. Fondamentalmente, si possono trovare distribuzioni DOS molto compatte sul web, del peso di una dozzina di mega al massimo.

Grazie! Dopo due giorni con i tutorial C ho iniziato a capire qualcosa negli esempi di Expert Advisors. Cercherò di usare MQL4 subito. Spero che altri articoli di Rosha saranno presto disponibili.

Sono disponibili ora, anche se tramite un link temporaneo.

Caro Rosh, grazie per i tuoi articoli! Sono già diffidente a scrivere qualcosa del genere sul forum, per non offendere ancora nessuno, ma ho letto i vostri articoli con tanta attenzione che ho scoperto un refuso. Articolo 3, linea 2, la frase "ognuno di questi" invece di "ognuno di questi". Le lettere "x" e "z" sono l'una accanto all'altra sulla tastiera e io stesso a volte scivolo e poi "becco" tali errori nei documenti. Ho preso il tuo errore di battitura per abitudine.

;)
 
Grazie, lo sistemerò se posso (è passato un po' di tempo :) ).
 
No, non posso. A quanto pare, anche l'indirizzo del sistema di pubblicazione è cambiato.
 
Il libro di testo sembra essere stato trattato. Ma la documentazione non ci ha dato una risposta diretta.
E per caso ho deciso di guardare l'elenco dei parametri della funzioneOrderSend e mi sono subito imbattuto in questo.

La spiegazione della funzione dice: "Non si può usare un prezzo stimato o non normalizzato".
È perfettamente chiaro e conciso.

Qualche riga più sotto c'è un esempio con prezzi non normalizzati e prezzi di regolamento:

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-25*Point,Ask+25*Point, "My order #"+counter,16384,0,Green);
if(ticket<0)
{
Print("OrderSend failed with error #",GetLastError());
return(0);
}
Renat, non è un vero e proprio errore?
E queste cose sono coerenti con la nozione di "documentazione di qualità"?

Ecco perché gli utenti interessati vi chiedono di migliorare la documentazione. Non stanno cercando di criticarvi irragionevolmente, non stanno chiedendo l'impossibile o l'ingiustificato, e certamente non stanno cercando di offendere nessuno o l'intera azienda.
 
Questo esempio presuppone che i prezzi Bid e Ask siano ricevuti dal server commerciale, il che significa che i prezzi predefiniti sono normalizzati alle cifre dopo il punto decimale. In effetti, si è scoperto che prima che apparisse la possibilità di scaricare una storia di minuti profondi dallo History Center, molti utenti hanno preparato da soli una tale storia da varie fonti e il risultato ottenuto durante i test dava errori relativi a prezzi non normalizzati (gli ordini non potevano semplicemente aprirsi). Ecco perché è apparsa una tale frase:


Un prezzo stimato o non normalizzato non può essere utilizzato. Se il prezzo di apertura richiesto non era nel flusso dei prezzi o il prezzo richiesto non è normalizzato secondo il numero di cifre dopo la virgola, verrà generato l'errore 129 (ERR_INVALID_PRICE).


Hai "dimenticato" di citarlo per intero. E questa frase rimarrà rilevante, perché se avete preso un prezzo calcolato (il valore di qualche indicatore di muving o altro), allora il server non si preoccuperà di mostrare la sua "intelligenza" (cioè, arrotondarlo nella giusta direzione), e semplicemente rinvierà l'ordine.
 

Non ho dimenticato nulla, Rosh. Il suggerimento che hai aggiunto alla mia citazione non cambia nulla nella sostanza o nella forma. Ho visto più di una volta sul forum MQ (non ricordo solo questo o uno parallelo) persone che chiedevano perché gli ordini non vengono eseguiti, perché uso il prezzo Bid o Ask, quindi il prezzo è rilevante, quindi perché il rifiuto? La soluzione a questa domanda era semplice - dovremmo normalizzare il prezzo e farlo anche per Bid e Ask.

Forse questo è cambiato nelle ultime build, ma non l'ho visto menzionato da nessuna parte.

Inoltre, ci sono tre prezzi nei parametri di OrderSend(). Nell'esempio precedente, due dei tre sono calcolati. L'espressione calcolata contiene sia operandi interi che operandi doppi. La normalizzazione dei prezzi è emersa come un mezzo per risolvere il problema della rappresentazione quando si convertono gli interi in doppi. Quindi il lettore di questa documentazione che certamente non ha molta esperienza in MQL4, non sarà in grado di dire con certezza se il risultato dei calcoli sarà normalizzato o meno. Quindi questo esempio darà luogo a più domande che risposte.

E anche se la normalizzazione è ok, c'è ancora un'espressione al prezzo.

Quindi le mie domande a te, Rosh, come persona che scrive articoli su MQL4 per principianti:
Credi davvero che questo esempio sia corretto e che illustri ciò che dovrebbe illustrare?
Pensi davvero che questo esempio aiuterà un principiante a capire come usare OrderSend() e non lo confonderà?

 
Yurixx:

Pensi davvero che questo esempio aiuterebbe un principiante a capire come usare OrderSend() piuttosto che confonderlo?

Personalmente, credo che un principiante non sia uguale a un idiota. Se tu l'hai capito, se è stato facile per me, perché non può capirlo qualcun altro? Perché questo nuovo arrivato astratto è sempre associato a un idiota?
 
Jurix, vedo che ti stai impegnando solo nella critica.