参考这个2个函数
SymbolsTotal() SymbolName()
做个rates
import pandas as pd
# 货币创建清单
sym = ['AUDUSD','EURUSD','GBPUSD','NZDUSD','USDCAD','USDCHF','USDJPY','USDSGD','USDNOK','USDSEK',
'AUDCAD', 'AUDCHF', 'AUDNZD', 'AUDJPY',
'CADCHF', 'CADJPY', 'CHFJPY',
'EURAUD', 'EURCAD', 'EURCHF', 'EURGBP', 'EURNZD', 'EURJPY', 'EURNOK', 'EURSEK',
'GBPAUD', 'GBPCAD', 'GBPCHF', 'GBPNZD', 'GBPJPY', 'GBPSGD', 'GBPNOK', 'GBPSEK',
'NZDCAD', 'NZDCHF', 'NZDJPY', 'NZDSGD', 'SGDJPY']
# 将数据复制到数据帧
d = pd.DataFrame()
for i in sym:
rates = mt5.copy_rates_from_pos(i, mt5.TIMEFRAME_M15, 0, 100)
print(rates,rates.shape)#[时间0、开盘价1、最高价2、最低价3、收盘价4、交易量5、0、0]
d[i] = [y[4] for y in rates] #调取第4位收盘价
string symbol[];
symbol[0] = "EUR";symbol[1]="USD";//......
这样一个个添加进去显然太差劲了。。。。。。
按Ctrl+U,把需要交易的品种加入市场报价的列表。下面的程序会把所有市场报价里的交易品种放入数组。
int OnInit() { int numberOfSymbols; //市场中的交易品种数量 string fSymbols[]; //市场中的交易品种列表 numberOfSymbols = SymbolsTotal(true); ArrayResize(fSymbols, numberOfSymbols); for (int i=0; i< numberOfSymbols; i++) { fSymbols[i] = SymbolName(i, true); } }
string symbol[];
symbol[0] = "EUR";symbol[1]="USD";//......
这样一个个添加进去显然太差劲了。。。。。。
使用SymbolsTotal(false)获取全部,再SymbolName(i,false)获取名称字符串,再SymbolInfoInteger(tempsymbol,SYMBOL_TRADE_MODE)判断是否可交易。OK。
正解!
string symbol[];
symbol[0] = "EUR";symbol[1]="USD";//......
这样一个个添加进去显然太差劲了。。。。。。