Domande da un "manichino" - pagina 101

 
Desead:
Per favore consigliatemi come ottenere il prezzo di domanda e offerta per una coppia di valute che non è attualmente scambiata. In mt4 c'era un comando marketinfo, ma in mt5 non c'è un tale comando.

Articolo utile - Migrazione da MQL4 a MQL5

Esattamente alla tua domanda:

SymbolInfoDouble() e parametri SYMBOL_BID/SYMBOL_ASK

//Аналог маркетинфо
double  EurAsk = SymbolInfoDouble("EURUSD",SYMBOL_ASK);
double  EurBid = SymbolInfoDouble("EURUSD",SYMBOL_BID);

double  GbpAsk = SymbolInfoDouble("GBPUSD",SYMBOL_ASK);
double  GbpBid = SymbolInfoDouble("GBPUSD",SYMBOL_BID);
 
Puoi dirmi per favore se mt5 ha un calendario di notizie nei suoi strumenti, l'EA può analizzarle in qualche modo? Almeno ottenere il tempo di rilascio e la valuta su cui la notizia avrà effetto.
 
Lazarev:
Moody: In mt5, c'è un calendario di notizie negli strumenti, l'EA può analizzarle in qualche modo? Almeno ottenere il tempo di rilascio e la valuta che sarà influenzata dalla notizia.

Se la notizia è segnata sul grafico (opzionalmente controllata), allora, come ho capito, l'EA può rilevarla. Per il resto, dobbiamo trovare una soluzione da soli.

Per il secondo anno ho chiesto agli sviluppatori di implementare le notizie in MQL e fornire un archivio (e non per settimana come è ora).

 
Interesting:

Se la notizia è segnata sul grafico (opzionalmente controllata), allora, come ho capito, l'EA può rilevarla. Il resto è una soluzione da trovare per conto mio.

E per il secondo anno ho chiesto agli sviluppatori di collegare le notizie a MQL e fornire un archivio (e non come ora per una settimana).

Se hai già menzionato in un altro thread che le notizie possono essere rilevate attraverso oggetti grafici, potresti dirmi come? Voglio scrivere un EA che faccia trading sulle notizie, anche se non è ottimizzato nel tester, potrei correggerlo io stesso in qualche modo su un conto demo
 
Lazarev:
Vorrei sviluppare un Expert Advisor che faccia trading sulle notizie, anche se non è ottimizzato nello Strategy Tester, potrei doverlo mettere a punto io stesso su un conto demo

Le notizie visualizzate sul grafico sono oggetti grafici di tipo OBJ_EVENT, è possibile ottenere informazioni su questo tipo, ma è molto povero, è possibile ottenere solo il nome della notizia e il tempo di rilascio, né il significato né altre informazioni dalla tabella del calendario si ottiene.

Ecco uno script che aggiunge linee verticali agli eventi di notizie, penso che come punto di partenza per il tuo tema andrà bene.

File:
 
Non riesco a capire cosa sta disegnando l'indicatore. Cioè quale funzione sta dando l'ordine di disegnare. Qualcuno può darmi un esempio del corpo della funzione OnCalculate che disegna una linea retta con valore 17.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Desead:
Non riesco a capire cosa viene disegnato esattamente nell'indicatore. Cioè quale funzione ordina il disegno. Qualcuno può darmi un esempio del corpo della funzione OnCalculate che disegna una linea retta con il valore 17.

Buffer indicatori o oggetti grafici?

HH i buffer degli indicatori sono disegnati nell'indicatore, gli array non sono dichiarati come tali, gli stili di disegno sono definiti nelle proprietà del preprocessore #property indicator_...

Cioè, tutto ciò che si trova nei buffer degli indicatori sarà disegnato automaticamente.

File:
Test.mq5  3 kb
 
Urain:

Buffer di indicatori o oggetti grafici?

HH i buffer degli indicatori sono disegnati nell'indicatore, questi array non sono dichiarati come tali, gli stili di disegno sono impostati nelle proprietà del preprocessore #property indicator_...

Cioè tutto ciò che si trova nei buffer degli indicatori sarà disegnato automaticamente.

Grazie, ora gli darò un'occhiata.

Il compito è molto semplice, tracciare in una finestra separata la differenza di prezzo tra eurusd e gbpusd. Ho i prezzi delle quotazioni attuali. La differenza, rispettivamente, anche. Significa che per ogni tick ho un certo valore, in base al quale devo disegnare un punto che formerà una linea o disegnare una linea a queste coordinate.

Ho capito che dovrei usare buffer e array con indicazione di direzione diversa, non riesco a capire bene per cosa, tenendo presente che non ho bisogno di lisciare per periodo. Cercherò informazioni sul disegno con oggetti grafici, forse c'è qualcosa di cui ho bisogno.

 
Desead:

Grazie, ora gli darò un'occhiata.

In generale il compito è molto semplice, tracciare in una finestra separata la differenza di prezzo tra eurusd e gbpusd. Ho i prezzi delle quotazioni attuali. La differenza, rispettivamente, anche. Significa che per ogni tick ho un certo valore, in base al quale devo disegnare un punto che formerà una linea o disegnare una linea a queste coordinate.

Ho capito che dovrei usare buffer e array con indicazione di direzione diversa, non riesco a capire bene per cosa, tenendo presente che non ho bisogno di lisciare per periodo. Cercherò il disegno per oggetti grafici, forse c'è qualcosa di cui ho bisogno.

Fate attenzione, ci saranno problemi di sincronizzazione. Prima devi creare un database sincronizzato e poi fare delle sottrazioni.

string Symbolbuf[6]={"EURUSD","GBPUSD","AUDUSD","USDJPY","USDCHF","USDCAD"};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmin(datetime value1,datetime value2)
  {
   return(value1<value2?value1:value2);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmax(datetime value1,datetime value2)
  {
   return(value1>value2?value1:value2);
  }  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   datetime timestart;
   timestart=(datetime)SeriesInfoInteger(Symbolbuf[0],PERIOD_M1,SERIES_FIRSTDATE);
   for(int i=1;i<6;i++)
     {
      timestart=fmax(timestart,(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));
      Print(Symbolbuf[i]," = ",(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));      
     }
   Print("-----------------   ",timestart);  
   for(int i=0;i<6;i++)
     {
      Print(Symbolbuf[i]," = ",Bars(Symbolbuf[i],PERIOD_M1,timestart,TimeCurrent()));
     }
  }
 

Salve. Voglio eseguire il mio Expert Advisor su AUD/USD. Come faccio a farlo, lo faccio funzionare solo su euro/dollaro. Ho cambiato la coppia nel menu Service/Settings/Debug. Ma ho ricevuto il messaggio"Il simbolo selezionato non è stato trovato".

Grazie.

Документация по MQL5: Получение рыночной информации / SymbolSelect
Документация по MQL5: Получение рыночной информации / SymbolSelect
  • www.mql5.com
Получение рыночной информации / SymbolSelect - Документация по MQL5