Discussione sull’articolo "Creazione di una Information Board utilizzando le Standard Library Classes e Google Chart API"

 

Il nuovo articolo Creazione di una Information Board utilizzando le Standard Library Classes e Google Chart API è stato pubblicato:

Il linguaggio di programmazione MQL5 è destinato principalmente alla creazione di sistemi di trading automatizzati e strumenti complessi di analisi tecniche. Tuttavia, a parte questo, ci consente di creare interessanti sistemi informativi per il monitoraggio delle situazioni del mercato e fornisce una connessione di ritorno con il trader. L'articolo descrive i componenti della Standard Library MQL5 e mostra esempi del loro utilizzo nella pratica per raggiungere questi obiettivi. Viene, inoltre, illustrato un esempio di come utilizzare Google Chart API per la creazione di grafici.

I file, contenenti i codici di tutte le classi, si trovano nella cartella MQL5/Include. Quando si visualizza il codice della libreria, noterai che fornisce solo le classi, ma non le funzioni. Di conseguenza, per usarlo, è necessario avere una certa conoscenza della programmazione orientata agli oggetti (OOP). 

Tutte le classi di librerie (ad eccezione di quelle di trading) derivano dalla classe CObject di base. Per mostrarlo, proveremo a costruire un Class diagram poiché abbiamo tutto ciò che questo richiede: la classe di base e i suoi derivati. Poiché il linguaggio MQL5 è fondamentalmente un sottoinsieme di C ++, usiamo lo strumento IBM Rational Rose, che fornisce strumenti per il reverse -engineering di progetti C ++, per la costruzione automatica del diagramma.

 

Autore: Евгений

 

Non ero soddisfatto di questa costruzione: ((CArrayDouble *)Data.At(Data.Total()-1)).Add(profit).

E avete un'ottima soluzione con i diagrammi.

 

in fase di compilazione dà un errore di possibile perdita di dati a causa della conversione del tipo InfoBoard.mq5 589 20 nella riga

int deal_type=((CArrayDouble *)Data.At(i)).At(1); //e deal_type

 
sergey1294:

in fase di compilazione dà un errore di possibile perdita di dati a causa della conversione di tipo InfoBoard.mq5 589 20 nella riga

int deal_type=((CArrayDouble *)Data.At(i)).At(1); //e deal_type


probabilmente non è un errore, ma un avvertimento.

se potete conviverci, sentitevi liberi di eseguire l'indicatore

 
Errore 2010.06.03 11:47:26 InfoBoard (EURUSD,M5) Errore durante la chiamata a Convert_PNG() I grafici di
non vengono visualizzati di conseguenza.
 
sergey1294:
Errore 2010.06.03 11:47:26 InfoBoard (EURUSD,M5) Errore durante la chiamata Convert_PNG()
i grafici non vengono visualizzati di conseguenza.

Andare nella cartella MQL5\Files e vedere se sono presenti i file board_balance_chart.png e pie_chart.png.

controllare anche la cartella MQL5/Images

 
space_cowboy:

accedere alla cartella MQL5\Files e verificare se sono presenti i file board_balance_chart.png e pie_chart.png.

Controllare anche la cartella MQL5/Images.

Sì, questi file ci sono, li ho anche copiati in un'altra cartella del terminale, dato che ho Windows 7, quando installo il terminale, le cartelle sono sparse in mezzo al nulla. il messaggio di errore è scomparso, ma le immagini non vengono ancora caricate sul grafico.
 
sergey1294:
quando si installa il terminale, le cartelle sono sparse chissà dove

probabilmente è questo il problema

provare a eseguire lo script

#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print(TerminalInfoString(TERMINAL_PATH));
  }
//+------------------------------------------------------------------+
e vedere se le cartelle MQL5\Files, MQL5\Images e MQL5\Libraries (dove si dovrebbero mettere le dll) sono presenti nella cartella del terminale che lo script mostrerà.


 
space_cowboy:

probabilmente è questo il problema

provare a eseguire lo script

e vedere se le cartelle MQL5\Files, MQL5\Images e MQL5\Libraries (dove dovrebbe essere collocata la dll) sono presenti nella cartella del terminale che lo script mostrerà.


In genere, quando le cartelle sono duplicate, vi inserisco anche i file, ma comunque non vuole caricare le immagini.
 
sergey1294:
Comunque, dove ci sono cartelle duplicate, ho messo i file anche lì, ma ancora non vuole caricare le immagini.

Cosa intendi per "cartelle duplicate"?

Installare correttamente il terminale.

Esegui lo script (vedi sopra), ottieni, diciamo, questo risultato:

apri questa cartella, deve contenere tali sottocartelle:

 
space_cowboy:

Cosa si intende per "cartelle duplicate"?

installare correttamente il terminale.

eseguire lo script (vedi sopra) e ottenere, diciamo, questo risultato:

aprire questa cartella, deve contenere tali sottocartelle:

In Windows 7 viene attivata una sorta di protezione, ho il terminale installato nella directory

C:\Program Files (x86)\MetaTrader 5_1\MQL5 ma allo stesso tempo le cartelle nella directory sono duplicate

C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\E885B7972A0C831E41EB39B7A9849BBC\MQL5

Ho caricato i file in entrambi. ancora non funziona, e anche quando riavvio il terminale tutto scompare, la finestra dell'indicatore rimane vuota.