错误、漏洞、问题 - 页 648 1...641642643644645646647648649650651652653654655...3184 新评论 tor30515 2012.02.18 19:27 #6471 sergeev: 测试仪是否正在调试? 是的,它已被卸下。 [删除] 2012.02.18 19:56 #6472 MoneyJinn:是的,你搞错了。ChartGetInteger记录的几种形式是允许的。但无论ChartGetInteger记录形式如何,都无法 获得CHART_BRING_TO_TOP 属性的当前值。没有一个例子,很难说是什么和如何。请检查文档和构建版本。如果它没有按照应有的方式工作,请写一个请求CA+代码的例子。而第二个变体无论如何都应该返回该属性。其中有四个参数。 tor30515 2012.02.18 19:59 #6473 有一个原型函数#import "kernel32.dll" BOOL WriteFile( HANDLE hFile, //文件描述符 LPCVOID lpBuffer, // 数据缓冲区 DWORD nNumberOfBytesToWrite, // 要写入的字节数 LPDWORD lpNumberOfBytesWritten, // 写入的字节数 LPOVERLAPPED lpOverlapped // 异步缓冲器);该函数在程序中被调用op_err=WriteFile(h1,buff,LenPos, Writing,NULL)。我如何正确地指定buff和Writing是通过引用传递的? Документация по MQL5: Основы языка / Функции www.mql5.com Основы языка / Функции - Документация по MQL5 Errors, bugs, questions MT4文件功能替换。 一个使用命名管道在 MetaTrader 5 客户端之间进行通信的无 --- 2012.02.18 20:12 #6474 tor30515:有一个原型函数我如何正确指定buff和Writing是通过引用传递的?buff - 通过数组,如Uchar &buff[] 。written - 你也可以使用一个数组或只有一个变量 int &written Rashid Umarov 2012.02.19 03:41 #6475 Yedelkin:根据《手册》,这个属性根本不被支持。错误代码说的是同样的事情。至于为什么不支持图表属性 CHART_BRING_TO_TOP的问题,是在开发人员层面...如果该属性确实被支持,那么问题又出现在他们的层面上:为什么在这种情况下ChartGetInteger 函数返回 错误? 因为将CHART_BRING_TO_TOP属性设置为 "真",就会给终端一个命令 ,让其在此刻将给定的图表带到前台。这不是通常意义上的属性,而是一个命令。这就是解释。 Yedelkin 2012.02.19 06:40 #6476 Rosh: Потому что установка свойства CHART_BRING_TO_TOP в значение true дает терминалу приказ вывести данный чарт на передний план в данный момент. Это не свойство в обычном понимание, а команда. Вот такое объяснение.这意味着在我们的案例中,参考ChartGetInteger() 函数的 "属性 "命令CHART_BRING_TO_TOP根本不被支持,ChartGetInteger()正确返回错误。这是对MoneyJinn 的回答 Andrey Vasiliev 2012.02.19 07:15 #6477 Rosh: 因为将CHART_BRING_TO_TOP属性设置为 "true",给终端一个命令 ,在这个时刻将这个图表带到前台。这不是通常意义上的属性,而是一个命令。这就是解释。开发者没有留下任何方法来确定图形窗口对用户是否可见,以及窗口的相对位置是什么。这是很糟糕的。再次失去控制和新的风险。 Raven 2012.02.20 06:17 #6478 我想马上指出,我是在MQL中编程的新手)问题的实质: 我想通过重做标准的 "水平线 "来实现水平线的绘制。分形的指标。那就是画水平线而不是箭头。因此,问题是:在指标的框架内是否可能?毕竟有必要规定我不知道计算前指标的行数。是否有可能在财产 #property indicator_plots 来指定一个变量。还是不可能?下面是一个稍加修改的分形的代码。它在顶部和底部的分形上画了两条线。 但我需要水平线,每个分形有一条线。也许,水平线可以通过ObjectCreate在指标中创建?#property copyright "2009, MetaQuotes Software Corp." #property link "http://www.mql5.com" //---- indicator settings #property indicator_chart_window //Для индикаторов расположение на графике цены (indicator_chart_window) //или в отдельном окне (indicator_separate_window) #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_LINE #property indicator_type2 DRAW_LINE #property indicator_color1 clrDeepPink #property indicator_color2 clrRoyalBlue #property indicator_label1 "Resistance lvl" #property indicator_label2 "Support lvl" #property indicator_style1 STYLE_SOLID #property indicator_style2 STYLE_SOLID #property indicator_width1 2 #property indicator_width2 2 //---- indicator buffers double ExtUpperBuffer[]; double ExtLowerBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { //---- indicator buffers mapping SetIndexBuffer(0,ExtUpperBuffer,INDICATOR_DATA); SetIndexBuffer(1,ExtLowerBuffer,INDICATOR_DATA); IndicatorSetInteger(INDICATOR_DIGITS,_Digits);// точность индикатора равна точности графика //---- sets first bar from what index will be drawn // PlotIndexSetInteger(0,PLOT_ARROW,217); // PlotIndexSetInteger(1,PLOT_ARROW,218); //---- arrow shifts when drawing // PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift); // PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift); //---- sets drawing line empty value-- // PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); // PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); //---- initialization done } //+------------------------------------------------------------------+ //| Accelerator/Decelerator Oscillator | //+------------------------------------------------------------------+ 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 &TickVolume[], const long &Volume[], const int &Spread[]) { int i,limit; //--- if(rates_total<5) return(0); //--- if(prev_calculated<7) { limit=2; //очистка буферов ArrayInitialize(ExtUpperBuffer,EMPTY_VALUE); ArrayInitialize(ExtLowerBuffer,EMPTY_VALUE); } else limit=rates_total-5; for(i=limit;i<rates_total-3 && !IsStopped();i++)//(?условие нач.цикла;усл.оконч.цикла;вычисление) //i++ тоже самое что и i=i+1 { //---- Upper Fractal if(High[i]>High[i+1] && High[i]>High[i+2] && High[i]>=High[i-1] && High[i]>=High[i-2]) ExtUpperBuffer[i]=High[i]; //else ExtBuffer[i]=EMPTY_VALUE; else ExtUpperBuffer[i]=ExtUpperBuffer[i-1]; //else ExtUpperBuffer[i]=ExtUpperBuffer[1]; //---- Lower Fractal if(Low[i]<Low[i+1] && Low[i]<Low[i+2] && Low[i]<=Low[i-1] && Low[i]<=Low[i-2]) ExtLowerBuffer[i]=Low[i]; //else ExtBuffer[i]=EMPTY_VALUE; else ExtLowerBuffer[i]=ExtLowerBuffer[i-1]; //else ExtLowerBuffer[i]=ExtLowerBuffer[1]; // ObjectCreate(0,Level_obj,OBJ_HLINE); } //--- OnCalculate done. Return new prev_calculated. return(rates_total); } //+------------------------------------------------------------------+ Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property) www.mql5.com Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5 roman epifanov 2012.02.20 07:02 #6479 关于文件的问题:在µl5中打开的文件 的大小限制是什么? Документация по MQL5: Файловые операции / FileOpen www.mql5.com Файловые операции / FileOpen - Документация по MQL5 Oleg 2012.02.20 07:17 #6480 如何获得历史中的ACCOUNT_BALANCE 值?在查看交易历史 时,你需要知道余额的变化。 1...641642643644645646647648649650651652653654655...3184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
测试仪是否正在调试?
是的,你搞错了。ChartGetInteger记录的几种形式是允许的。
但无论ChartGetInteger记录形式如何,都无法 获得CHART_BRING_TO_TOP 属性的当前值。
没有一个例子,很难说是什么和如何。请检查文档和构建版本。
如果它没有按照应有的方式工作,请写一个请求CA+代码的例子。
而第二个变体无论如何都应该返回该属性。其中有四个参数。
有一个原型函数
#import "kernel32.dll"
BOOL WriteFile(
HANDLE hFile, //文件描述符
LPCVOID lpBuffer, // 数据缓冲区
DWORD nNumberOfBytesToWrite, // 要写入的字节数
LPDWORD lpNumberOfBytesWritten, // 写入的字节数
LPOVERLAPPED lpOverlapped // 异步缓冲器
);
该函数在程序中被调用
op_err=WriteFile(h1,buff,LenPos, Writing,NULL)。
我如何正确地指定buff和Writing是通过引用传递的?
有一个原型函数
我如何正确指定buff和Writing是通过引用传递的?
buff - 通过数组,如Uchar &buff[] 。
written - 你也可以使用一个数组或只有一个变量 int &written
根据《手册》,这个属性根本不被支持。
错误代码说的是同样的事情。至于为什么不支持图表属性 CHART_BRING_TO_TOP的问题,是在开发人员层面...如果该属性确实被支持,那么问题又出现在他们的层面上:为什么在这种情况下ChartGetInteger 函数返回 错误?
Rosh:
Потому что установка свойства CHART_BRING_TO_TOP в значение true дает терминалу приказ вывести данный чарт на передний план в данный момент. Это не свойство в обычном понимание, а команда. Вот такое объяснение.
这意味着在我们的案例中,参考ChartGetInteger() 函数的 "属性 "命令CHART_BRING_TO_TOP根本不被支持,ChartGetInteger()正确返回错误。这是对MoneyJinn 的回答
因为将CHART_BRING_TO_TOP属性设置为 "true",给终端一个命令 ,在这个时刻将这个图表带到前台。这不是通常意义上的属性,而是一个命令。这就是解释。
开发者没有留下任何方法来确定图形窗口对用户是否可见,以及窗口的相对位置是什么。
这是很糟糕的。再次失去控制和新的风险。
我想马上指出,我是在MQL中编程的新手)
问题的实质: 我想通过重做标准的 "水平线 "来实现水平线的绘制。
分形的指标。那就是画水平线而不是箭头。
因此,问题是:在指标的框架内是否可能?毕竟有必要规定
我不知道计算前指标的行数。是否有可能在财产
#property indicator_plots 来指定一个变量。还是不可能?
下面是一个稍加修改的分形的代码。它在顶部和底部的分形上画了两条线。
但我需要水平线,每个分形有一条线。
也许,水平线可以通过ObjectCreate在指标中创建?