Opzioni Binarie e Forex anche per i meno esperti

Chiediamo alla Intelligenza Artificiale di correggere il nostro indicatore!

Anche se non sei pratico di programmazione indicatori metatrader leggendo questo articolo non potrai che meravigliarti di quello che AI sa fare!

Riportiamo qui la chat con AI

ForzaForex: Se ti do un indicatore MQL4 con frecce con il suo script sai dirmi nel passato quanti segnali positivi ho ottenuto?

AI: Come modello di linguaggio basato su testi, non ho la capacità di eseguire direttamente codice MQL4 o qualsiasi altro linguaggio di programmazione. Tuttavia, posso fornirti indicazioni generali su come potresti calcolare il numero di segnali positivi generati da uno script MQL4 nel passato.

Per calcolare il numero di segnali positivi generati da uno script MQL4 nel passato, dovresti seguire questi passaggi:

  1. Apri il codice dello script MQL4 che ti fornisce gli indicatori con le frecce.
  2. Identifica la logica utilizzata nello script per generare le frecce di segnale.
  3. Determina la condizione o le condizioni che vengono valutate per generare una freccia positiva.
  4. Utilizzando la stessa logica e le stesse condizioni, esegui un ciclo sui dati storici del tuo strumento finanziario (ad esempio, prezzi di chiusura) per determinare quando si sono verificate le condizioni per generare una freccia positiva.
  5. Incrementa un contatore ogni volta che si verifica una condizione positiva durante il ciclo sui dati storici.
  6. Alla fine del ciclo, il valore del contatore rappresenterà il numero di segnali positivi generati nel passato.

Ricorda che questa è solo una spiegazione generale su come potresti procedere per calcolare il numero di segnali positivi nel passato utilizzando uno script MQL4. Tuttavia, la logica specifica e l’implementazione dipenderanno dall’indicatore e dallo script che stai utilizzando. Assicurati di essere familiare con il codice e di adattarlo alle tue esigenze specifiche.

Se hai bisogno di assistenza specifica nel codice dell’indicatore MQL4, sarebbe utile includere il codice dell’indicatore nel tuo messaggio, in modo che io possa fornirti un supporto più specifico.

ForzaForex: Bene, ecco il codice del mio indicatore

/* forzaforex.it */ #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Green #property indicator_color2 Red #property indicator_color3 Orange extern bool Sound_Alert = TRUE; double G_ibuf_80[]; double G_ibuf_84[]; // int init() { SetIndexStyle(0, DRAW_ARROW, EMPTY, 4); SetIndexArrow(0, 221); SetIndexBuffer(0, G_ibuf_80); SetIndexEmptyValue(0, 0.0); SetIndexStyle(1, DRAW_ARROW, EMPTY, 4); SetIndexArrow(1, 222); SetIndexBuffer(1, G_ibuf_84); SetIndexEmptyValue(1, 0.0); return (0); } // int deinit() { return (0); } // int start() { double Lda_0[2]; Comment(“FYI: https://www.forzaforex.it/indicatore-non-repaint https://www.freebinaryoptions.one/no-repaint-indicator-alert-arrows/”); double iatr_4 = iATR(Symbol(), 0, 50, 1); for (int index_12 = 0; index_12 < Bars; index_12++) { G_ibuf_80[index_12] = 0.0; G_ibuf_84[index_12] = 0.0; for (int index_16 = 0; index_16 < 2; index_16++) Lda_0[index_16] = iRSI(Symbol(), 0, 14.0, PRICE_CLOSE, index_12 + index_16); if (Lda_0[0] > 25.0 && Lda_0[1] < 25.0) G_ibuf_80[index_12] = Low[index_12] – iatr_4 / 2.0; if (Lda_0[0] < 75.0 && Lda_0[1] > 75.0) G_ibuf_84[index_12] = High[index_12] + iatr_4 / 2.0; } if (G_ibuf_80[2] == 0.0 && G_ibuf_80[1] != 0.0 && Open[0] == Low[0] && Open[0] == High[0] && Open[0] == Close[0]) Alert(“Arrow Signal Call”); if (G_ibuf_84[2] == 0.0 && G_ibuf_84[1] != 0.0 && Open[0] == Low[0] && Open[0] == High[0] && Open[0] == Close[0]) Alert(“Arrow Signal Put”); return (0);

AI: Grazie per aver fornito il codice dell’indicatore MQL4.

Analizzando il codice, sembra che l’indicatore generi frecce di segnale sia per segnali di acquisto (CALL) che per segnali di vendita (PUT) in base alle condizioni dell’indicatore RSI.

Per determinare il numero di segnali positivi nel passato, dovresti apportare alcune modifiche al codice. Ecco come puoi procedere:

  1. Aggiungi una variabile contatore all’inizio del codice per tenere traccia del numero di segnali positivi. Ad esempio, puoi dichiarare una variabile chiamata “positiveSignals” e impostarla su zero:
arduinoCopy codeint positiveSignals = 0;
  1. Nel ciclo for che scorre i dati storici, subito dopo le righe G_ibuf_80[index_12] = 0.0; e G_ibuf_84[index_12] = 0.0;, aggiungi il controllo per verificare se è stato generato un segnale positivo. Puoi fare ciò utilizzando le condizioni che hai identificato per le frecce di segnale positive. Ad esempio, per il segnale CALL, puoi aggiungere:
cssCopy codeif (G_ibuf_80[index_12] > 0.0) {
   positiveSignals++;
}
  1. Alla fine del ciclo, dopo il ciclo for, puoi stampare il numero di segnali positivi generati nel passato utilizzando la funzione Print:
mathematicaCopy codePrint("Numero di segnali positivi nel passato: ", positiveSignals);
  1. Ora, quando esegui l’indicatore sul grafico, verrà visualizzato il numero di segnali positivi generati nel passato nella finestra di output del MetaTrader.

Ti ricordo che questo codice fornisce solo il conteggio dei segnali positivi nel passato, ma se hai bisogno di analisi più dettagliate o elaborazioni specifiche sui segnali, potrebbe essere necessario apportare ulteriori modifiche al codice o scrivere una logica più complessa.

Ricorda di compilare nuovamente l’indicatore dopo aver apportato le modifiche e di testarlo su dati storici per verificare la correttezza del conteggio dei segnali positivi.

ForzaForex: puoi farmi tu direttamente queste modifiche e darmi il nuovo codice?

Inizio del codice che sta inviando…

Certamente! Ecco il codice modificato dell’indicatore MQL4 con le modifiche descritte in precedenza:

/* forzaforex.it */ #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Green #property indicator_color2 Red #property indicator_color3 Orange extern bool Sound_Alert = TRUE; double G_ibuf_80[]; double G_ibuf_84[]; // int init() { SetIndexStyle(0, DRAW_ARROW, EMPTY, 4); SetIndexArrow(0, 221); SetIndexBuffer(0, G_ibuf_80); SetIndexEmptyValue(0, 0.0); SetIndexStyle(1, DRAW_ARROW, EMPTY, 4); SetIndexArrow(1, 222); SetIndexBuffer(1, G_ibuf_84); SetIndexEmptyValue(1, 0.0); return (0); } // int deinit() { return (0); } // int start() { double Lda_0[2]; Comment("FYI: https://www.forzaforex.it/indicatore-non-repaint https://www.freebinaryoptions.one/no-repaint-indicator-alert-arrows/"); double iatr_4 = iATR(Symbol(), 0, 50, 1); int positiveSignals = 0; // Variabile contatore per i segnali positivi for (int index_12 = 0; index_12 < Bars; index_12++) { G_ibuf_80[index_12] = 0.0; G_ibuf_84[index_12] = 0.0; for (int index_16 = 0; index_16 < 2; index_16++) Lda_0[index_16] = iRSI(Symbol(), 0, 14.0, PRICE_CLOSE, index_12 + index_16); if (Lda_0[0] > 25.0 && Lda_0[1] < 25.0) { G_ibuf_80[index_12] = Low[index_12] - iatr_4 / 2.0; positiveSignals++; // Incrementa il contatore dei segnali positivi } if (Lda_0[0] < 75.0 && Lda_0[1] > 75.0) G_ibuf_84[index_12] = High[index_12] + iatr_4 / 2.0; } if (G_ibuf_80[2] == 0.0 && G_ibuf_80[1] != 0.0 && Open[0] == Low[0] && Open[0] == High[0] && Open[0] == Close[0]) Alert("Arrow Signal Call"); if (G_ibuf_84[2] == 0.0 && G_ibuf_84[1] != 0.0 && Open[0] == Low[0] && Open[0] == High[0] && Open[0] == Close[0]) Alert("Arrow Signal Put"); Print("Numero di segnali positivi nel passato: ", positiveSignals); // Stampa il numero di segnali positivi return (0); }

Le modifiche sono state apportate all’interno della funzione start(), dove ho aggiunto la variabile positiveSignals per il conteggio dei segnali positivi e ho incrementato il suo valore quando viene generato un segnale positivo.

Ti consiglio di compilare nuovamente l’indicatore nel tuo MetaEditor e testarlo su un grafico per vedere il numero di segnali positivi generati nel passato nella finestra di output del MetaTrader.

Conclusione

Anche senza particolari esperienze da parte nostra,  l’Intelligenza Artificiale ci puo’ essere di grande aiuto nel trading. Le possibilita’ sono infinite.

Cosa ne pensi? Scrivi in Chat https://t.me/BrokerNoEsma