Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Domanda di base alla programmazione di mql4
Ciao,
Voglio importare alcune funzioni da una dll. Pertanto devo includere alcuni file *.h.
È possibile o devo scrivere *.mqh invece di *.h?
La dll è per un linguaggio di programmazione c.
E ci sono funzioni con puntatori e strutture come datatyps. È possibile utilizzarle con mql4?
ricevere il prezzo delle azioni
Salve,
sto cercando di ricevere i prezzi delle azioni da meta trader con c#, ma non so bene come fare.
qualcuno può spiegarmi o inviarmi una guida specifica?
grazie mille.
Ciao,
Sto cercando di ricevere i prezzi delle azioni da meta trader con c#, ma non so bene come fare.
Qualcuno può spiegarmi o mandarmi una guida specifica?
grazie mille.Nell'esempio experts\examples\DLLE troverai come i prezzi possono essere passati da metatrader a C (è abbastanza vicino, quindi puoi usare direttamente quell'esempio per quello), L'infostruttura del tasso non è cambiata dall'inizio ed è ancora definita come :
{
unsigned int ctm;
double open;
double low;
double high;
double close;
double vol;
};
quindi non dovresti avere problemi a passarlo in C#
grazie!
dov'è l'esempio di esperti?
Grazie! Dove si trova l'esempio experts\examples\DLLE?
Nella tua cartella metatrader (la cartella dove l'hai installato)
Nella tua cartella metatrader (la cartella dove l'hai installato)
Ho scaricato 2 metatraders, e in entrambi gli esempi erano in c++. Penso che potrei capire da questo anche se sto programmando con c#, ma non sono riuscito a trovare quello di cui ho bisogno, come ottenere i prezzi delle azioni.
Ho scaricato 2 metatraders, e in entrambi gli esempi erano in c++. Penso che potrei capire da questo anche se sto programmando con c#, ma non sono riuscito a trovare quello di cui ho bisogno, come ottenere i prezzi delle azioni.
Stai passando i prezzi da un indicatore o un EAs alla tua estensione DLL
Hai un esempio completo (parte MQL e parte C) in quella cartella come si fa. Una volta che ricevi i dati dalla parte MQL nella parte C# è solo una questione di codice che cosa hai intenzione di fare con esso
Stai passando i prezzi da un indicatore o un EAs alla tua estensione DLL Hai un esempio completo (parte MQL e parte C) in quella cartella come si fa. Una volta che ricevi i dati dalla parte MQL nella parte C# è solo una questione di codice che cosa hai intenzione di fare con esso
Non ho trovato esempi in MQL o C, solo in C++. Comunque, c'erano un sacco di funzioni e non riuscivo a capire qual è la funzione che mi serve per ottenere il prezzo.
Grazie mille.
Non ho trovato esempi in MQL o C, solo in C++. Comunque, c'erano molte funzioni e non riuscivo a capire qual è la funzione che mi serve per ottenere il prezzo. avete un esempio del genere? grazie mille.
Dal lato C (vedi il commento):
//| |
//+------------------------------------------------------------------+
MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
//---
if(rates==NULL)
{
printf("GetRatesItemValue: NULL array\n");
return(0.0);
}
//---
if(rates_total<0)
{
printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);
return(0.0);
}
//---
if(shift=rates_total)
{
printf("GetRatesItemValue: wrong shift number (%d)\n", shift);
return(0.0);
}
//---
if(nrate5)
{
printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);
return(0.0);
}
//
// here you are having prices, time and volume
//
int nitem=rates_total-1-shift;
switch(nrate)
{
case 0: return double(rates[nitem].ctm);
case 1: return rates[nitem].open;
case 2: return rates[nitem].low;
case 3: return rates[nitem].high;
case 4: return rates[nitem].close;
case 5: return rates[nitem].vol;
}
//---
return(0.0);
}
Dal lato C (vedi il commento) :
//| |
//+------------------------------------------------------------------+
MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
//---
if(rates==NULL)
{
printf("GetRatesItemValue: NULL array\n");
return(0.0);
}
//---
if(rates_total<0)
{
printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);
return(0.0);
}
//---
if(shift=rates_total)
{
printf("GetRatesItemValue: wrong shift number (%d)\n", shift);
return(0.0);
}
//---
if(nrate5)
{
printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);
return(0.0);
}
//
// here you are having prices, time and volume
//
int nitem=rates_total-1-shift;
switch(nrate)
{
case 0: return double(rates[nitem].ctm);
case 1: return rates[nitem].open;
case 2: return rates[nitem].low;
case 3: return rates[nitem].high;
case 4: return rates[nitem].close;
case 5: return rates[nitem].vol;
}
//---
return(0.0);
}
grazie!
Hai qualcosa in C#, perché non mi dice nulla.