错误、漏洞、问题 - 页 670 1...663664665666667668669670671672673674675676677...3184 新评论 x572intraday 2012.03.15 04:28 #6691 是否有任何计划重新设计江恩网格?绝对不可能使用它:无论是手动,还是通过extremums,就像在MT4中,我都不能正确地拉伸或固定它--当从TF切换到TF时,单元格的大小会发生变化,没有固定的绑定!这是不可能的。也许我不明白什么......。 Boris 2012.03.16 10:16 #6692 只有Alpari上的金属不显示柱状和OHLC,其他都很好。我把终端移到一个新的文件夹,但没有帮助。错误在哪里?W7 64 Валерий 2012.03.16 19:16 #6693 BoraBo:只有Alpari上的金属不显示柱状和OHLC,其他都很好。我把终端移到一个新的文件夹,但没有帮助。错误在哪里?W7 64我有同样的问题。我已经感觉到,服务器上出了问题。请联系Alpari技术支持。 Serge 2012.03.17 16:02 #6694 void OnStart() { //--- symbol2csv(Symbol(),Period()); } //+------------------------------------------------------------------+ int symbol2csv(string smb,ENUM_TIMEFRAMES tf) { ResetLastError(); int filehandle=FileOpen(smb+"_"+tf2str(tf)+".csv",FILE_WRITE|FILE_CSV,","); if(filehandle!=INVALID_HANDLE) { MqlRates rates[]; int i=0,copyed=CopyRates(smb,tf,From,To,rates); ArraySetAsSeries(rates,false); FileWrite(filehandle,"\"Date\" \"Time\" \"Open\" \"High\" \"Low\" \"Close\" \"Volume\""); // writing header for(i=0;i<copyed;i++) { FileWrite(filehandle,TimeToString(rates[i].time,TIME_DATE),TimeToString(rates[i].time,TIME_MINUTES),DoubleToString(rates[i].open,_Digits),DoubleToString(rates[i].high,_Digits),DoubleToString(rates[i].low,_Digits),DoubleToString(rates[i].close,_Digits),rates[i].real_volume); } FileClose(filehandle); Print(smb+" exported "+IntegerToString(copyed)); return copyed; } else Print("FileOpen failure. Error is ",GetLastError()); return -1; } 为什么文件中的体积栏总是包含0?那我如何记录音量呢? --- 2012.03.17 16:26 #6695 Graff: 为什么文件中的体积栏总是包含0?以及如何使体积被写入?外汇工具的real_volume?也许只是尝试tick_volume 作为开始 pusheax 2012.03.17 20:07 #6696 有什么错误呢?以下是代码,已缩减到最小。//+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 //---------- MQL5 -------------- int ecx = 0;//-- Кол-во тестируемых пар -- string g_s_SymbolsTrade[] = {"AUDCAD","AUDCHF","AUDJPY","AUDNZD","AUDUSD","CADCHF","CHFJPY","EURAUD","EURCAD","EURCHF","EURGBP","EURJPY","EURNZD","EURUSD", "GBPCHF","GBPJPY","GBPUSD","NZDUSD","USDCAD","USDCHF","USDJPY"}; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //-- Сколько всего валютных пар -- ecx = ArraySize(g_s_SymbolsTrade); //-- Установить таймер на каждую секунду -- if (EventSetTimer(1) == false) return(-1);//int 08 return(0);//ret; } //----------------------------------------------------------------------------// void OnDeinit(const int reason) { EventKillTimer();//timer off } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- return value of prev_calculated for next call return(rates_total);//ret; } //+------------------------------------------------------------------+ //////////////////////////////////////////////////////////////////////////////// // Expert Timer function // //////////////////////////////////////////////////////////////////////////////// //---------------------------------------------------------------------------------------------------- void OnTimer()//int 08 { static bool b_Flag = false; string db_SymbolName; MqlRates rates[]; int edx; if (b_Flag == true) return;//ret -- реентерабельность -- b_Flag = true;//cli //--------------------------------------------- for (int ebx = 0; ebx < ecx; ebx++){ db_SymbolName = g_s_SymbolsTrade[ebx]; edx=CopyRates(db_SymbolName,_Period,0,1,rates); if (edx != 1){//cmp edx,1 | jne b_Flag = false;//sti return;//jne ret; } }//loop ecx Print ("Загрузка завершена."); //--------------------------------------------- b_Flag = false;//sti }当我运行它时,有时立即或在切换一段时间的图表后,突然终端开始变慢,整个日志都被这个堵塞了。原因是什么,是我的错误还是函数CopyRates中的错误? Vladimir Gomonov 2012.03.17 20:31 #6697 pusheax:原因是什么,是我的错还是CopyRates函数 的错误?他们俩都是。这样试试吧。void OnTimer()//int 08 { static bool b_Flag = false; if (b_Flag == true) return;//ret -- реентерабельность -- string db_SymbolName; MqlRates rates[ ecx]; // поправка здесь. int edx; b_Flag = true;//cli //--------------------------------------------- for (int ebx = 0; ebx < ecx; ebx++){ db_SymbolName = g_s_SymbolsTrade[ebx]; edx=CopyRates(db_SymbolName,_Period,0,1,rates); if (edx != 1){//cmp edx,1 | jne b_Flag = false;//sti return;//jne ret; } }//loop ecx Print ("Загрузка завершена."); //--------------------------------------------- b_Flag = false;//sti } pusheax 2012.03.17 20:51 #6698 MetaDriver:他们俩都是。像这样试试吧。不,不幸的是,这并没有帮助。我以如下方式写的:MqlRates rates[100];otherwise: MqlRates rates[ecx]; - gives out a compilation error.我也喜欢把它移到顶部的想法。 if (b_Flag == true) return;//ret -- 重入性 --但不幸的是,结果是一样的。有其他想法吗? Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных www.mql5.com Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5 Vladimir Gomonov 2012.03.17 21:14 #6699 papaklass:如果图表设置 中终端的条数是无限的。减少条子的数量。 它似乎只复制了一个酒吧。 Vladimir Gomonov 2012.03.17 22:28 #6700 papaklass: 因此,在25种乐器上。我在12岁时也有同样的情况,直到我减少了条数。那么它的意思是服务化。终端在读取1 条数据时,不应该从磁盘上逐个符号地吐出所有 历史数据。即使它被设置为无限。 缓存应该以一种聪明的方式进行。--总的来说是好建议。我一直在想--他说的是 "转换经期时"。因此,终端以分钟为单位存储所有的东西,它开始计算缺失的周期,并被卡在缓冲区内存不足的情况下。简而言之--两者都有责任。推送没有购买内存,想要很多很多的货币对,而且没有限制(或大约没有限制)。而MQ--不把它当作一个指标性错误(如 "错误XXXX:闭上你的嘴唇,同志"),而只把它当作自己的。 1...663664665666667668669670671672673674675676677...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是否有任何计划重新设计江恩网格?绝对不可能使用它:无论是手动,还是通过extremums,就像在MT4中,我都不能正确地拉伸或固定它--当从TF切换到TF时,单元格的大小会发生变化,没有固定的绑定!这是不可能的。也许我不明白什么......。
只有Alpari上的金属不显示柱状和OHLC,其他都很好。我把终端移到一个新的文件夹,但没有帮助。错误在哪里?W7 64
只有Alpari上的金属不显示柱状和OHLC,其他都很好。我把终端移到一个新的文件夹,但没有帮助。错误在哪里?W7 64
我有同样的问题。我已经感觉到,服务器上出了问题。请联系Alpari技术支持。
为什么文件中的体积栏总是包含0?以及如何使体积被写入?
外汇工具的real_volume?
也许只是尝试tick_volume 作为开始
有什么错误呢?
以下是代码,已缩减到最小。
当我运行它时,有时立即或在切换一段时间的图表后,突然终端开始变慢,整个日志都被这个堵塞了。
原因是什么,是我的错误还是函数CopyRates中的错误?
原因是什么,是我的错还是CopyRates函数 的错误?
他们俩都是。
这样试试吧。
他们俩都是。
像这样试试吧。
不,不幸的是,这并没有帮助。
我以如下方式写的:MqlRates rates[100];
otherwise: MqlRates rates[ecx]; - gives out a compilation error.
我也喜欢把它移到顶部的想法。
if (b_Flag == true) return;//ret -- 重入性 --
但不幸的是,结果是一样的。
有其他想法吗?
如果图表设置 中终端的条数是无限的。减少条子的数量。
因此,在25种乐器上。我在12岁时也有同样的情况,直到我减少了条数。
那么它的意思是服务化。终端在读取1 条数据时,不应该从磁盘上逐个符号地吐出所有 历史数据。
即使它被设置为无限。 缓存应该以一种聪明的方式进行。
--
总的来说是好建议。我一直在想--他说的是 "转换经期时"。因此,终端以分钟为单位存储所有的东西,它开始计算缺失的周期,并被卡在缓冲区内存不足的情况下。
简而言之--两者都有责任。推送没有购买内存,想要很多很多的货币对,而且没有限制(或大约没有限制)。
而MQ--不把它当作一个指标性错误(如 "错误XXXX:闭上你的嘴唇,同志"),而只把它当作自己的。