Come può lo script passare programmaticamente attraverso tutti gli strumenti che sono selezionati nella finestra Market Watch?
Cerca https://www.mql5.com/en/code/mt4 per un tale script che ricordo.
//+------------------------------------------------------------------+ //---- string Currencies[] = {"AED", "AUD", "BHD", "BRL", "CAD", "CHF", "CNY", "CYP", "CZK", "DKK", "DZD", "EEK", "EGP", "EUR", "GBP", "HKD", "HRK", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JOD", "JPY", "KRW", "KWD", "LBP", "LTL", "LVL", "LYD", "MAD", "MXN", "MYR", "NOK", "NZD", "OMR", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "SKK", "SYP", "THB", "TND", "TRY", "TWD", "USD", "VEB", "XAG", "XAU", "YER", "ZAR"}; string Symbols[]; int SymbolCount = 0; //+------------------------------------------------------------------+ //| СОЗДАЁТ СПИСОК ДОСТУПНЫХ ВАЛЮТНЫХ СИМВОЛОВ | //+------------------------------------------------------------------+ int CreateSymbolList() { int CurrencyCount = ArrayRange(Currencies, 0); int Loop, SubLoop; string TempSymbol; for(Loop = 0; Loop < CurrencyCount; Loop++) for(SubLoop = 0; SubLoop < CurrencyCount; SubLoop++) { TempSymbol = Currencies[Loop] + Currencies[SubLoop]; if(MarketInfo(TempSymbol, MODE_BID) > 0) { ArrayResize(Symbols, SymbolCount + 1); Symbols[SymbolCount] = TempSymbol; SymbolCount++; } } return(0); } //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ //--------------------- int deinit() { Comment(""); return(0); } //--------------------- //--------------------- int init() { return(0); } //--------------------- int start() { int handle,i,s; s=CreateSymbolList(); string n= "currency.txt"; handle=FileOpen(n, FILE_CSV|FILE_WRITE,'.'); if(handle>0) { for(i=0;i<=SymbolCount-1;i++) { FileWrite(handle,i+1,Symbols[i]); } FileClose(handle); } //---- return(0); }
Recentemente ho risolto questo problema per me stesso. Non riesco a ricordare da chi ho preso in prestito l'idea della forza bruta.
'ZZ_Tutte le quotazioni 0-0080'.
Ahimè, non ci sono soluzioni semplici...
La variante più interessante era qui:
'Lista di simboli daSet'.
Chiedo agli sviluppatori di introdurre in futuro una funzione che restituisca l'elenco degli strumenti.
Per esempio:
- INSTR (1, D) tutto ciò che è nel trattare
- INSTR (2, D) tutto ciò che è nella finestra del mercato
D sono gruppi, cioè ciò che si trova nella cartella "Symbols".
Questa è già una richiesta, è un grido dal cuore!!!
Perché avere strumenti che contano centinaia non è più un espediente,
ma dovendo passare attraverso di loro a mano... è un po' selvaggio nella nostra epoca di nanotecnologie... ;)))
Grazie per la vostra risposta. Ma non intendevo solo coppie di valute (strumenti). Posso inserire questi strumenti anche manualmente. Intendevo un'enorme varietà di diversi futures, indici, azioni americane, ecc.
Una semplice enumerazione di tutto ciò che è attualmente disponibile. Nessuna sintesi del nome.
Le coppie di valute sono sintetizzate.
Ahimè, non ci sono soluzioni semplici...
La variante più interessante era qui:
'Lista di simboli daSet'.
Sì, e ha raffreddato l'interesse...
Ha anche scritto agli sviluppatori nelle richieste per MKL5.
A proposito già applicato al terminale.
Per aggiungere anche gruppi di strumenti al set di simboli.
Ora sembra che forex e forexall siano presenti di default,
e sappiamo che MT non è solo forex... ;)
Recentemente ho risolto questo problema da solo.
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Come posso passare programmaticamente attraverso tutti gli strumenti che sono selezionati nella finestra "Market Watch" nello script?
Grazie in anticipo.