English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Impara come progettare un sistema di trading con lo Stocastico

Impara come progettare un sistema di trading con lo Stocastico

MetaTrader 5Trading | 25 agosto 2022, 08:13
613 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Introduzione

Una delle cose più belle del trading con l'analisi tecnica è che abbiamo molti strumenti e possiamo utilizzarli singolarmente o combinarli e questo può essere utile e profittevole per noi. In più, abbiamo uno strumento straordinario che può essere molto utile per migliorare i nostri risultati e le nostre prestazioni nel trading. Questo strumento è la programmazione che ci consente di creare programmi che possono essere molto utili: diamo al computer istruzioni per fare ciò di cui abbiamo bisogno in modo automatico e accurato in base alle nostre condizioni.

Questo articolo è un altro contributo per provare ad imparare e insegnare cosa può essere utile in questo contesto di trading tecnico e di programmazione di strategie di trading profittevoli. Discuteremo in questo articolo di un nuovo strumento che può essere utile nel nostro trading ed è l'indicatore " Oscillatore Stocastico" che è uno dei più popolari nel trading utilizzando l'analisi tecnica. Se leggi gli altri miei articoli qui, dovresti sapere che mi piace imparare e insegnare le radici delle cose per capire tutti i dettagli e i meccanismi in modo tale che funzionino il più possibile. Quindi, discuterò con te questo argomento usando lo stesso metodo. In questo articolo verranno trattati i seguenti argomenti:

    1. Definizione di Stocastico
    2. Strategia con lo Stocastico
    3. Schema con lo Stocastico
    4. Sistema di trading con lo Stocastico
    5. Conclusioni

      Attraverso l'argomento "Definizione di Stocastico", conosceremo nel dettaglio l'indicatore Oscillatore Stocastico per sapere cos'è, cosa misura. Quindi, in "Strategia con lo Stocastico", impareremo alcune semplici strategie che possiamo utilizzare. Successivamente elaboreremo uno schema per queste semplici strategie per aiutarci a codificarle in MQL5 in modo da poterle utilizzare in seguito in MetaTrader 5 — questo sarà considerato nell'argomento "Schema con lo Stocastico". Quindi procederemo all'apprendimento di come scrivere un codice per costruire un sistema di trading per queste semplici strategie — ciò sarà fatto nell'argomento "Sistema di trading con lo Stocastico".

      Utilizzeremo il terminale di trading MetaTrader 5 e MetaQuotes Language, che è integrato con MetaTrader 5. il terminale può essere scaricato dal link seguente: https://www.metatrader5.com/en/download

      Dichiarazione di non responsabilità: tutte le informazioni vengono fornite "così come sono" solo a scopo didattico e non sono preparate per scopi commerciali o di consulenza. Le informazioni non garantiscono alcun tipo di risultato. Se scegli di utilizzare questi materiali su uno qualsiasi dei tuoi conti di trading, lo farai a tuo rischio e sarai l'unico responsabile.

      Ora, inizieremo il nostro nuovo itinerario su un nuovo e interessante argomento, facciamolo.


      Definizione di Stocastico

      In questa parte, impareremo in dettaglio uno degli indicatori tecnici più popolari, che è l'indicatore Oscillatore Stocastico. È stato sviluppato da George Lane e questo è quanto menzionato nel libro "New Trading Systems and Methods" di Perry J. Kaufman. Ma ci sono altre opinioni a riguardo, una delle quali è che non è del tutto chiaro chi ha creato l'indicatore Stocastico — questo è menzionato nel libro "Technical Analysis, The Complete Resource for Financial Market Technicians" di Charles D. Kirkpatrick e Julie R. Dahlquist e l'altra opinione è che l'indicatore sia stato reso popolare da George Lane secondo quanto menzionato nel libro "Technical Analysis of The Financial Markets" di John J. Murphy.

      L'idea che c'è dietro l'indicatore Stocastico è la seguente: fu osservato che durante il trend rialzista, i prezzi di chiusura tendono a chiudere più vicino alla parte alta della fascia di prezzo per un determinato periodo e viceversa,durante un trend ribassista, i prezzi di chiusura tendono a chiudere più vicino alla parte bassa della fascia di prezzo per un dato periodo. Misura la relazione tra il prezzo di chiusura corrente e i prezzi più alti e più bassi di uno specifico periodo.

      L'indicatore Oscillatore Stocastico è composto da due linee e queste due linee oscillano tra il livello zero e il livello 100:

      • linea %K che è la line più veloce.
      • Linea %D che è la linea più lenta, ed è smussata.

      C'è più di una versione dell'indicatore Oscillatore Stocastico. Le versioni più popolari sono le due qui di seguito:

      • Lo Stocastico veloce.
      • Lo Stocastico lento.

      Vedremo la differenza nei metodi con i quali l'indicatore Oscillatore Stocastico può essere calcolato.

      Di seguito sono riportati i passaggi per calcolare l'indicatore Oscillatore Stocastico:

      1. Determiniamo il periodo necessario per calcolare l'indicatore.
      2. Determiniamo il valore più alto di un dato periodo.
      3. Determiniamo il valore più basso di un dato periodo.
      4. Otteniamo %k dello stocastico veloce = 100*((chiusura corrente-minimo più basso)/(massimo più alto-minimo più basso))
      5. Otteniamo %D dello stocastico veloce = media mobile a 3 periodi di %K dello stocastico veloce
      6. Otteniamo %K dello stocastico lento = %D dello stocastico veloce
      7. Otteniamo %D dello stocastico lento = media mobile a 3 periodi di ( %K dello stocastico lento che poi è la stessa di %D dello stocastico veloce) 

      Ora, andiamo a vedere un esempio di come applicare questi calcoli per ottenere l'indicatore Oscillatore Stocastico. Se abbiamo i dati seguenti:

      Giorni Chiusura Massimo Minimo
      1 100 110 90
      2 130 140 120
      3 140 160 120
      4 130 150 110
      5 120 140 100
      6 140 150 130
      7 160 170 150
      8 170 180 160
      9 155 170 150
      10 140 170 130
      11 160 180 155
      12 180 190 175
      13 190 220 190
      14 200 230 200
      15 210 215 205
      16 200 200 190
      17 190 195 180
      18 185 105 180
      19 195 210 185
      20 200 220 190

      Per calcolare l'indicatore Oscillatore Stocastico seguiremo i passaggi menzionati precedentemente, facciamo cosi come segue:

      • Determiniamo il periodo che sarà =14, abbiamo bisogno così di avere 14 periodi di trading per iniziare a calcolare l'indicatore.
      • Determiniamo il massimo più alto degli ultimi 14 periodi, sarà (230) e l'immagine seguente ci mostrerà che è il primo valore anche per i dati restanti:

      14 Massimo più alto

      • Determiniamo il minimo più basso degli ultimi 14 periodi, sarà (90) e l'immagine seguente ci mostrerà che è il primo valore anche per i dati restanti:

      14 minimo più basso

      • Otteniamo %k dello stocastico veloce = 100*((chiusura corrente-minimo più basso)/(massimo più alto-minimo più basso)), 
      • Otteniamo %D dello stocastico veloce = media mobile a 3 periodi di %K dello stocastico veloce.
      • L'immagine seguente ci mostra i risultati del calcolo per i dati disponibili:

      Fast - K-D

      • Otteniamo %K dello stocastico lento = %D dello stocastico veloce
      • Otteniamo %D dello stocastico veloce = media mobile a 3 periodi di %K dello stocastico veloce.
      • L'immagine seguente ci mostra i risultati del calcolo per i dati disponibili:

      Slow - K-D

      Tramite i passaggi precedenti, abbiamo calcolato manualmente l'indicatore Oscillatore Stocastico. Fortunatamente, non abbiamo bisogno di calcolarlo manualmente ogni volta visto che lo abbiamo pronto all'uso incluso nel terminale di trading MetaTrader5. Possiamo semplicemente sceglierlo dalla lista degli indicatori disponibili nella piattaforma cliccando sulla scheda Inserisci della MetaTrader5 come mostrato nella figura seguente:

      Stoch insert

      Dopo aver scelto"Oscillatore Stocastico", verrà aperta la finestra di seguito per i parametri dell'indicatore:

       Stoch insert window

      Parametri dell'indicatore:

      1. Determina il periodo
      2. Determina il periodo della media mobile per %D veloce
      3. Determina il periodo della media mobile per %D lenta
      4. Determina il campo prezzo parametro con il quale lo relaziona
      5. Determina il tipo di media mobile che sarà utilizzata nel calcolo
      6. Determina il colore, lo stile, e lo spessore della linea %K
      7. Determina il colore, lo stile, e lo spessore della linea %D

      Dopo aver stabilito i parametri secondo le proprie preferenze, l'indicatore verrà allegato al grafico e apparirà come nell'immagine seguente:

      Stoch on the chart

      Dopo aver inserito l'Oscillatore Stocastico, possiamo scoprire secondo l'immagine precedente che abbiamo l'indicatore tracciato nella finestra inferiore con 2 linee (%K, %D) oscillanti tra zero e 100 e possiamo trovarlo simile al seguente:

      • Stoch(14, 3,3): rappresenta il nome dell'indicatore e i parametri scelti:14 periodi, 3 per la media mobile di %K dello stocastico veloce, 3 per la media mobile di %D dello stocastico veloce.
      • 36.85: indica il valore di %K
      • 38.28: indica il valore di %D

      Secondo il calcolo dell'indicatore Oscillatore Stocastico, la maggior parte delle volte si sposterà nella direzione del mercato in una forma specifica poiché sapevamo che i prezzi di chiusura tendono a chiudersi vicino alla fascia di prezzo superiore o inferiore di un periodo specifico in base al movimento di mercato.

      Durante un trend rialzista:

      Un trend rialzista è la direzione di un mercato nella quale i prezzi si muovono verso l'alto perchè controllato dai compratori o tori. Generalmente i prezzi creano minimi e massimi più alti. In questo caso, possiamo chiamare questo mercato, mercato rialzista.

      Possiamo trovare durante questa direzione del mercato che la maggior parte delle volte, i prezzi di chiusura tendono a chiudere vicino alla parte alta della fascia di prezzo durante il periodo del movimento "Trend rialzista" e l'indicatore stocastico oscillerà tra il livello 50 e 100 . Un esempio di questa situazione è mostrato nella figura seguente:

      Stochastic during uptrend

      Durante un trend ribassista:

      Un trend ribassista è la direzione di un mercato nella quale i prezzi si muovono verso il basso perchè controllato dai venditori o orsi. I prezzi creano massimi e minimi più bassi. In questo caso, possiamo chiamare questo mercato, mercato ribassista.

      Durante questa direzione di mercato, la maggior parte delle volte i prezzi di chiusura tendono a chiudere vicino alla fascia inferiore dei movimenti dei prezzi durante il periodo del movimento "Trend ribassista". Quindi, possiamo scoprire che l'indicatore stocastico si sposta tra il livello 50 e 0 durante il periodo di movimento al ribasso. Un esempio di questa situazione è mostrato nella figura seguente:

      Stochastic during downtrend

      Durante la fase laterale:

      Una fase laterale è un movimento del prezzo che è un movimento senza una chiara direzione sia verso l'alto che il basso. Può essere considerato come un equilibrio tra compratori e venditori o rialzisti e ribassisti. È un qualsiasi movimento eccetto nel trend rialzista o ribassista.

      Durante questo movimento laterale non c'è un chiaro movimento verso l'alto o verso il basso, i prezzi tendono a chiudersi vicino alla fascia media dei prezzi per quel periodo di movimento "fase laterale" e quindi, potremmo scoprire che la maggior parte delle volte, lo stocastico si muove intorno ai livelli 20 e 80 e l'immagine seguente ne è un esempio:

      Stochastic during sideways

      Ora abbiamo analizzato come l'indicatore stocastico può comportarsi nei differenti movimenti di mercato. Quindi dobbiamo apprendere come poterlo utilizzare in nostro favore, e questo e ciò che impareremo in questa discussione.


      Strategia con lo Stocastico

      In questa parte, parleremo di come poter utilizzare questo indicatore attraverso semplici strategie. Possiamo ottenere segnali dall'indicatore stocastico in base al trend del mercato e queste strategie sono strategia rialzista, strategia ribassista e strategia laterale.

      • Strategia uno: Strategia rialzista

      Secondo questa strategia, dobbiamo verificare se la linea %K e la linea %D sono al di sotto del livello 50, quindi, il segnale di acquisto verrà generato quando la linea %K incrocia verso l'alto la linea %D. Possiamo trarre profitto in base a un altro strumento efficace come l'azione sui prezzi, ad esempio cercando un minimo più basso.

      %K, %D < 50 --> %K > %D = segnale di acquisto
        • Strategia due: Strategia ribassista

        Secondo questa strategia, dobbiamo verificare se la linea %K e la linea %D sono al di sopra del livello 50, quindi, il segnale di vendita verrà generato quando la linea %K incrocia verso il basso la linea %D. Possiamo trarre profitto in base a un altro strumento efficace come l'azione sui prezzi, ad esempio cercando un massimo più alto.

        %K, %D > 50 --> %K < %D = segnale di vendita
          • Strategia tre: Strategia laterale
            • Segnale di acquisto:

          Secondo questa strategia, dobbiamo verificare se la linea %K e la linea %D sono al di sotto del livello 20, quindi il segnale di acquisto verrà generato quando la linea %K incrocia sverso l'alto la linea %D. Quando la linea %K e la linea %D sono superiori a 80, il segnale take profit verrà generato quando la linea %K incrocia verso il basso la linea %D.

          %K, %D < 20 --> %K > %D = segnale di acquisto
          %K, %D > 80 --> %K < %D = take profit

              • Segnale di vendita

                Secondo questa strategia, dobbiamo verificare se la linea %K e la linea %D sono al di sopra del livello 80, quindi, il segnale di vendita verrà generato quando la linea %K incrocia verso il basso la linea %D. Quando la linea %K e la %D sono al di sotto del livello 20, il segnale take profit verrà generato quando la linea %K incrocia verso l'alto la linea %D.

                %K, %D > 80 --> %K < %D = segnale di vendita
                %K, %D < 20 --> %K > %D = take profit

                Vorrei ricordare qui che ci sono molte strategie con lo stocastico che possono essere utilizzate, da strategie semplici a strategie complicate e questo indicatore può essere utilizzato da solo o in combinazione con un altro strumento in modo che possa dare risultati migliori, ma qui menzioniamo solo strategie semplici per capire come utilizzare questo indicatore.


                  Schema con lo Stocastico

                  In questa parte, realizzeremo uno schema per le strategie menzionate in precedenza che dovrebbero aiutarci a creare facilmente un sistema di trading. Questo schema sarà una linea guida passo passo per identificare ciò di cui abbiamo bisogno che il programma faccia esattamente.

                  • Strategia uno: Strategia rialzista

                  %K, %D < 50 --> %K > %D = segnale di acquisto

                  Per prima cosa abbiamo bisogno che il programma controlli (%K, %D) e stabilisce se è al di sotto o al di sopra del livello 50, quindi se è al di sotto del livello 50, aspetterà e non farà nulla finché la linea %K non incrocia verso l'alto la linea %D per dare il segnale di acquisto. Se (%K, %D) è superiore o uguale al livello 50, il programma non farà nulla.

                  L'immagine seguente è uno schema per questa strategia rialzista:

                  SSS- uptrend strategy blueprint

                  • Strategia due: Strategia ribassista

                  %K, %D > 50 --> %K < %D = segnale di vendita

                  Per prima cosa abbiamo bisogno che il programma controlli (%K, %D) e stabilisce se è al di sopra o al di sotto del livello 50, poi se è al di sopra del livello 50, aspetterà e non farà nulla finché la linea %K non incrocia verso il basso la linea %D per dare il segnale di vendita. Se (%K, %D) è inferiore o uguale al livello 50, il programma non farà nulla.

                  L'immagine seguente è uno schema di questa strategia:

                  SSS- downtrend strategy blueprint

                  • Strategia tre: Strategia laterale

                  Segnale di acquisto:

                  %K, %D < 20 --> %K > %D = segnale di acquisto

                  %K, %D > 80 --> %K < %D = take profit

                  Per prima cosa abbiamo bisogno che il programma controlli (%K, %D) e stabilisce se è al di sotto o al di sopra del livello 20, quindi se è al di sotto del livello 20, aspetterà e non farà nulla finché la linea %K non incrocia verso l'alto la linea %D per dare il segnale di acquisto. Se (%K, %D) è superiore o uguale al livello 20, il programma non farà nulla. Poi, il programma controllerà (%K, %D) e stabilisce se è al di sopra o al di sotto del livello 80, quindi se è al di sopra del livello 80, aspetterà e non farà nulla fino a quando la linea %K incrocia verso il basso la linea %D per dare il segnale di take profit. Se (%K, %D) è inferiore o uguale al livello 80, il programma non farà nulla.

                  L'immagine seguente è uno schema per questa strategia:

                  SSS- sideways strategy - buy blueprint

                  Segnale di vendita:

                  %K, %D > 80 --> %K < %D = segnale di vendita

                  %K, %D < 20 --> %K > %D = take profit

                  Per prima cosa abbiamo bisogno che il programma controlli (%K, %D) e stabilisce se è al di sopra o al di sotto del livello 80, poi se è al di sopra del livello 80, aspetterà e non farà nulla finché la linea %K non incrocia verso il basso la linea %D per dare il segnale di vendita. Se (%K, %D) è inferiore o uguale al livello 80, il programma non farà nulla. Poi, il programma controllerà (%K, %D) e stabilisce se è al di sopra o al di sotto del livello 20, quindi se è al di sopra del livello 20,aspetterà e non farà nulla fino a quando la linea %K incrocia verso l'alto la linea %D per dare il segnale di take profit. Se (%K, %D) è superiore o uguale al livello 20, il programma non farà nulla.

                  L'immagine seguente è uno schema per questo segnale di vendita della strategia laterale:

                  SSS- sideways strategy - sell blueprint

                  Finora, abbiamo considerato semplici strategie che possono essere utilizzate con l'ausilio dell'indicatore stocastico e abbiamo sviluppato schemi per queste strategie che ci aiutano a creare un sistema di trading. Nella parte successiva, impareremo come sviluppare questo trading system.


                  Sistema di trading con lo Stocastico

                  Ora, inizieremo una parte interessante di questo articolo per imparare a programmare un sistema di trading che funziona con queste strategie. La programmazione è un ottimo strumento che ci aiuta a fare trading in modo efficace in quanto ci aiuta a eseguire il nostro piano e la nostra strategia in modo disciplinato senza coinvolgere le emozioni nella nostra decisione di trading oltre all'accuratezza nell'esecuzione, ma la cosa più importante è testare qualsiasi strategia prima di eseguirla. Scriviamo il nostro sistema di trading secondo le strategie discusse in precedenza...

                  Per prima cosa, dobbiamo scrivere un codice per un programma che fornisca i valori delle linee dello stocastico sul grafico, e scrivendo questo codice impareremo riga per riga cosa stiamo scrivendo per essere in grado dopo questo passaggio di comprendere e creare il sistema di trading.

                  Al primo passo, dobbiamo creare gli array per la linea %K e la linea %D e useremo "double" che presenta valori con una parte decimale:

                  double Karray[];
                  double Darray[];
                  
                  

                  Quindi, dobbiamo ordinare questi array creati con i dati correnti e useremo la funzione "ArraySetAsSeries":

                  ArraySetAsSeries(Karray, true);
                  ArraySetAsSeries(Darray, true);
                  

                  Poi, dobbiamo definire l'indicatore "Stocastico" e useremo la funzione "iStochastic" dopo aver creato una variabile "StochDef" che è uguale allo "Stocastico" definito:

                  int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);

                  In seguito, dobbiamo riempire l'array con i dati dei prezzi e useremo la funzione "CopyBuffer":

                  CopyBuffer(StochDef,0,0,3,Karray);
                  CopyBuffer(StochDef,1,0,3,Darray);
                  
                  

                  Quindi, calcoleremo il valore della linea %K e della linea %D dai dati correnti e useremo "float" per diminuire la dimensione dei decimali e approssimarle:

                  float KValue = Karray[0];
                  float DValue = Darray[0];
                  
                  

                  L'ultima riga di codice consentirà al programma di presentare il valore della linea %K e il valore della linea %D sul grafico in due righe e utilizzeremo la funzione "Comment":

                  Comment("%K value is ", KValue,"\n""%D Value is ",DValue);

                  E quanto segue è come il codice precedente ma in un blocco unico per poterlo copiare in un solo passaggio se ti è necessario:

                  //+------------------------------------------------------------------+
                  //|                       Simple Stochastic System - Lines Value.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                  //creating arrays for %K line and %D line   
                     double Karray[];
                     double Darray[];
                     
                  //sorting arrays from the current data   
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                  
                  //defining the stochastic indicator   
                     int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
                  
                  //filling arrays with price data   
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                  
                  //calculating value of %K and %D line of cuurent data  
                     float KValue = Karray[0];
                     float DValue = Darray[0];
                     
                  //commenting calcualted values on the chart   
                     Comment("%K value is ",KValue,"\n"
                     "%D Value is ",DValue);
                        
                    }
                  //+------------------------------------------------------------------+
                  

                  Finora, abbiamo scritto il codice di un programma che può presentare i valori attuali delle linee dell'indicatore stocastico sul grafico e ora dobbiamo eseguire questo programma sul nostro terminale di trading che è Meta Trader5 dove ora sarà presente nella finestra del navigatore dopo la compilazione:

                  Nav 1

                  Dopo aver trascinato e rilasciato il file Simple Stochastic System - Lines Value, si aprirà la seguente finestra:

                  SSS-lines value window


                  Dopo aver premuto OK, il programma o l'(Expert Advisor) verrà allegato al grafico come nell'immagine seguente:

                  SSS-lines value attached

                  Quindi, possiamo vedere che il programma genera i valori delle linee dello stocastico come nell'immagine seguente:

                  SSS- lines value

                  Ora, inizieremo a scrivere il codice per creare un sistema di trading per le nostre strategie, e quello che dobbiamo fare qui è creare un sistema di trading che sia in grado di presentare il segnale adatto come commento sul grafico in base alla strategia utilizzata . Iniziamo a farlo...

                  • Strategia uno: Strategia rialzista

                  %K, %D < 50 --> %K > %D = segnale di acquisto

                  Il codice seguente serve a creare un sistema di trading per eseguire ciò di cui abbiamo bisogno secondo questa strategia rialzista:

                  //+------------------------------------------------------------------+
                  //|                  Simple Stochastic System - Uptrend Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                     
                     if (KValue0<50&&DValue0<50)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                     Comment("SSS - Uptrend Strategy - Signal is ",signal);
                        
                    }
                  //+------------------------------------------------------------------+
                  

                  Come puoi vedere le differenze qui sono:

                  Creare una variabile per il "segnale" con un'assegnazione vuota poiché la calcoleremo dopo:

                  string signal="";

                  Creare due variabili per i valori %K (0,1) e due variabili per i valori %D (0,1) per i dati correnti e i dati precedenti:

                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                  

                  Per valutare l'incrocio tra %K e %D poiché abbiamo bisogno dell'incrocio verso l'alto, in altre parole, abbiamo bisogno che %K rompa %D verso l'alto passandoci sopra dopo questo incrocio e questo è ciò che possiamo trovare nella linea di codice "if":

                     if (KValue0<50&&DValue0<50)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                  

                  Dopo la valutazione dell'incrocio, se è vero, ci serve un segnale di "ACQUISTO" e questo sarà il compito per "segnale". Quindi abbiamo bisogno di un commento con questo segnale sul grafico e sarà secondo la seguente riga di codice:

                  Comment("SSS - Uptrend Strategy - Signal is ",signal);

                  Quindi, abbiamo creato il codice del programma e dopo averlo compilato possiamo trovarlo nella finestra del navigatore:

                  Nav 2

                  Dopo aver trascinato e rilasciato il file sul grafico, comparira la finestra seguente:

                   SSS-Uptrend window


                  Dopo aver premuto ok, verrà allegato al grafico:

                  SSS-Uptrend attached

                  Il segnale apparirà come nel seguente esempio durante il test:

                  SSS - uptrend - buy

                  • Strategia due: Strategia ribassista

                  %K, %D > 50 --> %K < %D = segnale di vendita

                  Quanto segue serve per creare un programma per eseguire questa strategia ribassista:

                  //+------------------------------------------------------------------+
                  //|                Simple Stochastic System - Downtrend Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                           
                     if (KValue0>50&&DValue0>50)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                     Comment("SSS - Downtrend Strategy - Signal is ",signal);
                        
                    }
                  //+------------------------------------------------------------------+
                  

                  Le differenze sono:

                  • Le condizioni dell'incrocio

                     if (KValue0>50&&DValue0>50)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                  

                  • Il commento secondo questa strategia

                     Comment("SSS - Downtrend Strategy - Signal is ",signal);

                  Dopo averlo compilato, possiamo trovarlo nella finestra del navigatore:

                  Nav 3

                  Trascina e rilascia questo file sul grafico e si aprirà la finestra seguente:

                  SSS-Downtrend window

                  Dopo aver premuto ok, il file verrà allegato al grafico:

                  SSS-Downtrend attached 

                   Il segnale apparirà come commento sul grafico secondo le condizioni di questa strategia e l'immagine seguente ne è un esempio:

                  SSS - downtrend - sel

                  • Strategia tre: Strategia laterale
                    • Segnale di acquisto:

                  %K, %D < 20 --> %K > %D = segnale di acquisto

                  %K, %D > 80 --> %K < %D = segnale di take profit

                  Il codice seguente serve per creare un programma in grado di eseguire questa strategia laterale:

                  //+------------------------------------------------------------------+
                  //|           Simple Stochastic System - Sideways - Buy Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                     
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);
                     
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "Take Profit";
                        }
                        
                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);  
                        
                    }
                  //+------------------------------------------------------------------+
                  

                  Le differenze sono:

                  • Le condizioni di incrocio secondo il segnale di acquisto della strategia laterale:

                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                  

                  • Il commento secondo il segnale di acquisto della strategia laterale:

                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

                  • Le condizioni del segnale take profit della strategia laterale:

                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "Take Profit";
                        }
                        
                  

                  • Il commento secondo il segnale take profit della strategia laterale:

                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

                  Dopo averlo compilato, il file di questo sistema d trading apparrà nella finestra del navigatore:

                  Nav 4

                  Trascina e rilascia il file sul grafico, si aprirà la finestra seguente:

                  SSS-Sideways - buy - window

                  Dopo aver premuto ok, il file verrà allegato al grafico:

                  SSS-Sideways - buy - attached

                  Il segnale sarà mostrato come commento sul grafico secondo questa strategia. L'immagine seguente mostra un esempio di questo segnale:

                  SSS - Sideways - buy - buy

                  Esempio del segnale "take profit":

                  SSS - Sideways - buy - TP

                    • Strategia laterale: Segnale di vendita

                  %K, %D > 80 --> %K < %D = segnale di vendita

                  %K, %D < 20 --> %K > %D = take profit signal

                  Il seguente è per come scrivere il codice di un programma che esegue questa strategia:

                  //+------------------------------------------------------------------+
                  //|          Simple Stochastic System - Sideways - Sell Strategy.mq5 |
                  //|                                  Copyright 2022, MetaQuotes Ltd. |
                  //|                                             https://www.mql5.com |
                  //+------------------------------------------------------------------+
                  #property copyright "Copyright 2022, MetaQuotes Ltd."
                  #property link      "https://www.mql5.com"
                  #property version   "1.00"
                  //+------------------------------------------------------------------+
                  void OnTick()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];  
                     
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                     
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "TAKE PROFIT";
                        }         
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                    }
                  //+------------------------------------------------------------------+
                  
                  

                  Le differenze sono:

                  • Le condizioni di incrocio secondo il segnale di vendita della strategia laterale:
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                  
                  • Il commento secondo il segnale di vendita della strategia laterale:
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                  • Le condizioni del segnale take profit della strategia laterale:
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "TAKE PROFIT";
                        }   
                  
                  • Il commento secondo il segnale take profit della strategia laterale: 
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  

                  Dopo averlo compilato, il file di questo sistema d trading apparrà nella finestra del navigatore:

                  Nav 5

                  Trascina e rilascialo sul grafico e si aprirà la finestra seguente:

                  SSS-Sideways - sell - window

                  Dopo aver premuto ok, il programma verrà allegato al grafico per essere pronto a generare segnali:

                  SSS-Sideways - sell - attached

                  L'immagine seguente è un esempio di un segnale di vendita generato da questa strategia:

                  SSS - Sideways - sell - sell

                  L'immagine seguente è un esempio di un segnale take profit generato secondo questa strategia:

                  SSS - Sideways - sell - TP

                  Conclusioni

                  Alla fine di questo articolo, possiamo dire di aver appreso le basi su come creare un semplice sistema di trading utilizzando l'indicatore tecnico "Oscillatore stocastico" che è uno degli indicatori più popolari nel mondo del trading. Spero che tu abbia capito cos'è l'indicatore "Oscillatore stocastico", cosa misura e come calcolarlo — lo abbiamo considerato nel dettaglio. Spero che tu abbia scoperto qualcosa di nuovo su come utilizzare l'indicatore stocastico imparando alcune semplici strategie che possono essere utilizzate. L'articolo ha presentato anche uno schema per queste semplici strategie sulla base delle quali è possibile creare facilmente e senza intoppi un sistema di trading . Inoltre, abbiamo considerato come progettare un sistema di trading basato su queste semplici strategie menzionate.

                  Spero che tu abbia trovato questo articolo utile per te e per il tuo trading, e che ti aiuterà a trovare nuove idee fornendoti informazioni su uno degli indicatori più popolari e utili — nel mondo del trading l'"Oscillatore Stocastico" .

                  Tradotto dall’inglese da MetaQuotes Ltd.
                  Articolo originale: https://www.mql5.com/en/articles/10692

                  Cosa è possibile fare con le Medie Mobili Cosa è possibile fare con le Medie Mobili
                  L'articolo prende in considerazione diversi metodi di applicazione dell'indicatore Media Mobile. Ogni metodo che riguarda l'analisi di un processo è accompagnato da indicatori che ne visualizzano l'idea. Nella maggior parte dei casi, le idee mostrate qui appartengono ai loro rispettivi autori. Il mio unico compito era quello di riunirli per farvi vedere gli approcci principali e, si spera, prendere decisioni più ragionevoli nel trading. Livello di competenza MQL5 — base.
                  Impara come progettare un sistema di trading tramite l'utilizzo di MACD Impara come progettare un sistema di trading tramite l'utilizzo di MACD
                  In questo articolo, impareremo un nuovo strumento dalla nostra serie: impareremo come progettare un sistema di trading basato su uno degli indicatori tecnici più popolari Moving Average Convergence Divergence (MACD).
                  Scienza dei Dati e Apprendimento Automatico (Parte 01): Regressione Lineare Scienza dei Dati e Apprendimento Automatico (Parte 01): Regressione Lineare
                  È il momento per noi trader di allenare i nostri sistemi e noi stessi a prendere decisioni in base a ciò che dicono i numeri. Non con i nostri occhi, o ciò che le nostre viscere ci fanno credere, è qui che il mondo si sta dirigendo, quindi spostiamoci perpendicolarmente nella direzione dell'onda.
                  Indicatori multipli su un grafico (Parte 06): Trasformare MetaTrader 5 in un sistema RAD (II) Indicatori multipli su un grafico (Parte 06): Trasformare MetaTrader 5 in un sistema RAD (II)
                  Nel mio precedente articolo, ti ho mostrato come creare una Chart Trade utilizzando gli oggetti della MetaTrader 5 e quindi trasformare la piattaforma in un sistema RAD. Il sistema funziona molto bene, e sicuramente molti dei lettori potrebbero aver pensato alla creazione di una libreria, che consentirebbe di avere funzionalità estese nel sistema proposto. Partendo da questo presupposto, sarebbe possibile sviluppare un Expert Advisor più intuitivo con un'interfaccia più piacevole e facile da usare.