Komut dosyasındaki "Piyasa İzleme" penceresinde seçilen tüm enstrümanları programlı olarak nasıl yineleyebilirim?
Zaten hatırladığım böyle bir komut dosyası için https://www.mql5.com/en/code/mt4'e bakın.
//+------------------------------------------------------------------+ //---- 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 ) ; }
Geçenlerde bu sorunu kendim için çözdüm. Fikri kimden ödünç aldığımı hatırlamıyorum.
'ZZ_Tüm Alıntılar 0-0080'
Ne yazık ki, bunu çözmenin kolay bir yolu yok...
En ilginç seçenek buradaydı:
'Set'ten Sembol Listesi'
Geliştiricilere, gelecekte bir araç listesi döndüren bir işlevi tanıtma isteği.
Örneğin:
- INSTR (1, G) işlemde olan her şey
- INSTR (2, G) marketwatch penceresindeki her şey
G gruplardır, yani. "Sembollerde" olanlar klasörler halinde düzenlenmiştir.
Bu bir istek, bu yürekten bir haykırış!!!
Yüzlerce aletin varlığı artık bir merak değil,
ama onları elle sıralamak... nanoteknoloji çağımızda biraz çılgınca... ;)))
Cevap için teşekkürler. Ama aklımda sadece döviz çiftleri (enstrümanlar) yoktu. Bu araçları manuel olarak girebiliyorum. Bu, çok çeşitli farklı vadeli işlemler, endeksler, Amerikan hisse senetleri vb. anlamına geliyordu.
Şu anda mevcut olan her şeyin basit bir listesi. İsim sentezi yok.
Döviz çiftleri sentezlenir.
Ne yazık ki, bunu çözmenin kolay bir yolu yok...
En ilginç seçenek buradaydı:
'Set'ten Sembol Listesi'
Evet, ve bu ona olan ilgiyi azalttı ...
Ayrıca geliştiricilere MKL5'e yapılan taleplerde de yazdı.
Yol boyunca, zaten terminalle ilgili.
Sembol setine daha fazla araç grubu ekleyin.
Şimdi varsayılan olarak forex ve forexall var gibi görünüyor,
ve MT'nin sadece forex olmaktan uzak olduğunu biliyoruz... ;)
Geçenlerde bu sorunu kendim için çözdüm.
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Komut dosyasındaki "Piyasa İzleme" penceresinde seçilen tüm enstrümanları programlı olarak nasıl yineleyebilirim?
Şimdiden teşekkürler.