Praticamente MQL. Nozioni di base e Market Puls [Corso di programmazione]
Nel ciclo Praticamente MQL ti forniremo le conoscenze necessarie per iniziare a lavorare con le applicazioni scritte in MQL 4 per la piattaforma Meta Trader. Naturalmente, il tema della programmazione è molto ampio, ma lo scopo di questo ciclo non è quello di sollevare tutti i problemi possibili e coprirvi con una teoria complicata. Lo scopo di questo ciclo è mostrarti come iniziare a lavorare con MQL e fornire conoscenze che ti consentiranno di svilupparti in questo spettro.
Lo scopo delle attività che eseguiremo insieme è un'installazione separata della piattaforma MetaTrader 4, sulla quale è installato solo l'account demo di qualsiasi broker. Non vogliamo incasinare un conto reale. Questa potrebbe essere la versione originale della piattaforma MT4.
Funzioni di base
Iniziamo dalle basi, ovvero da come appare la finestra della piattaforma MT4 e quali funzioni contiene per le applicazioni scritte in MQL. Diamo un'occhiata alla foto qui sotto.
Nel luogo contrassegnato con quello c'è una finestra "Navigator" (Ctrl + N). Il pannello ci consente di accedere a tutti gli strumenti MQL installati su una determinata piattaforma e in cui è suddiviso "Indicatori", "Strategie" i "Script". Eseguiamo i programmi trascinandoli sul grafico selezionato e configurando i parametri dell'applicazione specificata nella finestra che appare. Nel posto contrassegnato con i due, possiamo vedere un esempio della finestra delle impostazioni. Tutti i parametri che possiamo configurare per l'applicazione sono disponibili qui, ma concentriamoci sugli elementi di base comuni a tutti i programmi. campo "Fai trading" viene spesso trascurato dagli utenti e l'uccello determina se l'algoritmo sarà in grado di concludere le transazioni. Questa funzione consente di disabilitare e abilitare la funzionalità di transazione per ciascun algoritmo rispetto a una funzione "Autotrading", contrassegnato da un triangolo, che è uno switch globale della possibilità di concludere transazioni con tutti gli strumenti che lavorano su una determinata piattaforma Meta Trader.
Penso che non ci sia bisogno di disturbarti con funzioni aggiuntive in questa fase. Le informazioni di cui sopra sono abbastanza per noi per lanciare con successo il nostro primo programma.
Possiamo iniziare a pensare alla programmazione. La piattaforma MetaTrader integra un ambiente di sviluppo di applicazioni. L'ambiente è disponibile dal menu "Editor di linguaggio Tools / MQL4".
Dopo aver selezionato l'opzione nel menu, si aprirà una nuova applicazione: "MetaEditor". A questo punto, scriveremo algoritmi per la piattaforma MT4. Fermiamoci qui per un momento e impariamo a conoscere gli elementi più importanti dell'editor.
Sul lato sinistro della finestra, proprio come nello stesso MT4, c'è un pannello "Navigator". Nel posto indicato sul disegno sopra, abbiamo sviluppato il contenuto del catalogo Esperti, quindi, facendo doppio clic sul nome del programma, abbiamo aperto il suo codice sorgente, che è apparso nella parte della finestra contrassegnata con il numero due. È in questa parte che creiamo e modifichiamo gli algoritmi. Quando finiamo di scrivere l'applicazione, dobbiamo trasformarla in un formato leggibile dal computer, cioè compilare il programma selezionando l'opzione "Compila" (F7), contrassegnato con un triangolo. L'algoritmo compilato può essere trovato nel pannello "Navigator" Piattaforma MT4 ed esegui il trascinamento sul grafico selezionato. Esattamente come nella parte precedente di questo articolo.
alberello "Navigator" riflette la struttura dei file nella directory MQL4, cioè la directory in cui la piattaforma memorizza tutte le applicazioni scritte in MQL. Se vuoi installare l'applicazione, ad esempio un'applicazione resa disponibile come parte del nostro ciclo, è nella directory MQL4 che devi copiare il file, ricordando che "Strategie" inseriamo nel catalogo "MQL4 \ Experts", con "Indicatori" nel catalogo "MQL4 \ Indicatori" e che ogni copia della piattaforma Meta Trader 4 installata sul tuo computer ha la sua directory MQL4. Come trovare il catalogo MQL4 di una data piattaforma è presentato nell'immagine seguente (nell'icona MQL4, fare clic con il pulsante destro del mouse).
Sappiamo già come eseguire, installare e scrivere applicazioni per Meta Trader 4. Passiamo ai meriti e iniziamo ad apprendere la programmazione.
Creiamo la prima applicazione
Per permettervi di fare i primi passi come programmatore, scriveremo una piccola applicazione insieme, il cui compito ci informerà sull'attuale attività di mercato. Lo chiameremo "Puls Rynku"e useremo occupati a sfogliare la stampa in previsione dell'aspetto della variabilità desiderata, che sentiremo grazie al cambiamento nella frequenza dei suoni generati dal nostro algoritmo.
Come allegato a questo articolo, sotto QUESTO LINK troverai un file audio "Pulse_beep.wav". Per favore, mettilo nel catalogo "Suoni"che si trova nel catalogo principale della piattaforma MT4. catalogo "Suoni" è possibile individuare aprendo le proprietà di collegamento che eseguono il terminale, come nella figura qui sotto.
Le seguenti immagini mostrano come creare un nuovo file di criteri automatico quasi vuoto. Nella finestra MetaEditor, seleziona la funzione "Nuovo", quindi selezionare "Consulente esperto", scegli il nome del programma e clicca "Il prossimo" finché il modello aperto del nuovo programma appare nell'editor.
Non andiamo sul modo semplice e cancelliamo l'intero contenuto del file nella finestra contrassegnata con uno nell'ultima immagine. Scriveremo l'intero codice della nostra applicazione da soli. Cominciamo.
// Puls Rynku.mq4
// Copyright 2019, Mistrz Programowania
// https://www.mistrz.ty
Digitando "//" all'inizio della riga, creiamo commenti, ovvero frammenti che ci servono come programmatori per creare tutti i tipi di informazioni e note all'interno del codice. I commenti non influiscono sul funzionamento del programma. Con l'aiuto dei commenti, è possibile creare l'intestazione dell'applicazione, che fornirà, ad esempio, dati sull'autore, informazioni sull'applicazione stessa o sul copyright. Creiamo un'intestazione (o meno), quindi inseriamo il seguente codice sulla nuova riga.
#property strict
I parametri di tipo "#property" consentono di fornire alla piattaforma ulteriori informazioni sul programma che si sta creando. Il parametro "#property strict", posizionato all'inizio della riga, informa la piattaforma che l'algoritmo è stato creato utilizzando la più recente sintassi del linguaggio MQL4.
Nel passaggio successivo, inserisci la seguente operazione nella nuova riga.
input string Plik_dzwiekowy = "pulse_beep.wav";
parola "Input" informa il programma che stiamo creando un parametro che ci permetterà di inserire le impostazioni necessarie per eseguire il programma. su "Input" Specifichiamo sempre il tipo di dati inseriti, eccolo qui "String" questo è il testo Successivamente, creiamo il nome della variabile, che significa, in forma semplificata, il nome del frammento di memoria del computer al quale potremo fare riferimento in futuro per leggere i dati inseriti. Chiamiamo la nostra variabile "Plik_dzwiekowy", è del tipo stringa, cioè ci permetterà di inserire nel programma il testo che useremo come nome del file audio che verrà utilizzato dal nostro algoritmo.
Vediamo il segno di uguale dopo il nome della variabile. Vuol dire che vuoi assegnare del testo alla nostra variabile "Pulse_beep.wav". Questo valore verrà utilizzato in questo caso come valore predefinito e può essere modificato dopo aver trascinato il programma sul grafico nella finestra delle impostazioni. Abbiamo appena definito l'operazione di assegnazione dei dati. È un'operazione semplice e termina con un punto e virgola.
A questo punto dovresti fermarti un attimo e leggere i tipi di dati. Nella riga sopra, abbiamo usato il tipo di dati "String"ma ci sono molti altri tipi e sono una parte fondamentale della lingua che non può essere aggirata. Inserisco un indirizzo in un frammento della documentazione che descrive i tipi di dati del linguaggio MQL4.
Scriviamo ulteriormente.
void OnTick()
{
PlaySound(Plik_dzwiekowy);
}
Il record precedente definisce la funzione "OnTick ()". Le funzioni sono elementi dell'algoritmo responsabile dell'esecuzione delle operazioni a loro affidate. In questo caso, vediamo la funzione integrale del linguaggio MQL, il cui compito è quello di eseguire l'operazione quando il corso dello strumento su cui il nostro algoritmo opera cambia. La piattaforma chiamerà questa funzione ogni volta che appare un nuovo segno di spunta. Le operazioni che devono essere eseguite da ciascuna funzione che scriviamo sono definite da noi stessi. Abbiamo piena libertà e praticamente zero restrizioni qui. Questa volta, tuttavia, saremo limitati e ricreare solo il file audio precedentemente definito con il parametro "Input". Useremo un'altra funzione, anch'essa incorporata, del linguaggio MQL 4 - "PlaySound (stringa nome file)"il cui compito è riprodurre il file audio con il nome che riceverà utilizzando una variabile con il tipo di dati "stringa" che si aspetta tra parentesi dopo il nome della funzione. Funzionamento della chiamata di funzione "PlaySound" terminiamo con un punto e virgola, perché proprio come l'operazione di mappatura dei dati è un'operazione semplice.
Come probabilmente saprai, ecco l'argomento delle operazioni disponibili nella sintassi della lingua.
Premiamo compilazione!
Tengo le dita incrociate in modo che tutto assomigli a quello sopra. Se è così, la compilazione è andata bene. Se il risultato è più simile a un disegno del numero 10, è necessario individuare l'errore utilizzando le informazioni visualizzate nel pannello in basso, che è apparso dopo il tentativo di compilazione. Sul lato sinistro del pannello, possiamo leggere quali sono gli errori che riguardano e sulla destra in quale riga si trovano. Fare doppio clic su una riga con un errore ci porterà alla parte appropriata del codice sorgente. Inserisci i punti e virgola mancanti e le parentesi e premi di nuovo "Compila".
Pronto! Possiamo andare su MT4 e trascinare il nostro primo algoritmo su qualsiasi grafico.
Beep Beep ... 😉
Ci vediamo la prossima settimana. Scriveremo un nuovo programma ed esploreremo funzioni linguistiche più avanzate.