错误、漏洞、问题 - 页 31 1...242526272829303132333435363738...3184 新评论 Sergey Pavlov 2010.07.05 19:47 #301 Urain: 它可以,但有时它也可以,尽管当我设置3时,短名称显示3个值,而我只想要一个主缓冲区。那么也许像这样。#property indicator_buffers 3 #property indicator_plots 1 SetIndexBuffer(0,LRma,INDICATOR_DATA); SetIndexBuffer(1,L,INDICATOR_CALCULATIONS); SetIndexBuffer(2,S,INDICATOR_CALCULATIONS);图上只显示一个值。 Mykola Demko 2010.07.05 19:52 #302 DC2008:那么也许会是这样的。图中只显示一个值。结果就是这样,指标的简称显示了3个数字,而绘制一个的缓冲区,它存储了所有你需要知道的东西。问题是,在4中,你只需请求鼠标在所需栏上的值,而在这里,我必须下载整个缓冲区并将其存储在某个地方。这种存储对于指标需求来说是没有必要的。但我不知道如何接收波的价值。 [删除] 2010.07.05 19:55 #303 DC2008:那么也许像这样。图上只显示一个值。 也有故障的.... Mykola Demko 2010.07.05 19:57 #304 Interesting:那里不是初始化的问题。这甚至不是马舍克所说的那两条线的问题。即使我们假设真的需要SYMBOL参数(我个人对此表示怀疑),使用缓冲区的工作也是很蹩脚的,而且我甚至没有说到计算器块......我看到该指标显示的是它所运行的错误仪器的线性回归 角的值。和输入中规定的那个,所以希望你能隐藏检查器。 现在,在另一方面,聪明地告诉我,你认为在计算中发生的事情有什么不协调的地方?我并不声称它是所有的权利(因为只是学习五和自然蒸煮,因为很多)。我想到的第一件事是,不同对的历史长度是不同的,因此会出现故障。 但开发人员向我保证,终端将自行加载所有必要的数据。 [删除] 2010.07.05 19:57 #305 Urain:问题是,在4中,你可以只要求在必要的条上的波形值,而在这里你必须加载整个缓冲区。问题是,在4中,你可以简单地请求所需条形图上的波形值,但在这里,你必须下载整个缓冲区并将其存储在某处。我必须加载整个缓冲区,但我不需要它来满足我的指标需求。我不知道如何以其他方式得到它。 我可以把它们弄好,或几乎弄好。对于所有其他的缓冲区,我们可以计算出(系列不使用,什么是奇怪的)。但是,计算器中发生的事情是一个大问题... [删除] 2010.07.05 20:03 #306 Urain:我看到该指标显示的是它所运行的错误仪器的线性回归角的值。但在直觉中规定的那个,所以希望你能隐藏检查器。 现在,在寒冷的环境中,合理地告诉我,你在计算中发生的事情中看到了什么是荒谬的?我并不声称它是所有的权利(因为只是学习五和自然蒸煮,因为很多)。我想到的第一件事是,在不同对的历史长度不同,因此出现了故障。开发者向我保证,终端将自行加载所有必要的信息。有什么可争论的呢?我们拿着计算器的帽子,看看我们在那里看到什么,这就是我们看到的。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[]) 在这之后,还有对酒吧的控制... int count=rates_total-prev_calculated; if(count==0)count=1; 如果你不知道密码,你会得到一个警告。那么告诉我,逻辑在哪里? Mykola Demko 2010.07.05 20:04 #307 我已经把计算方法改写成这样了。 { //--- int count=rates_total-prev_calculated; if(count>_Bars())count=_Bars()-1; if(count==0)count=1; if(CopyBuffer(Lwma,0,0,count,L)!=-1) { if(CopyBuffer(Sma,0,0,count,S)!=-1) { for(int i=0;i<count;i++) LRma[i]=(L[i]-S[i])*6*iPoint*iiMA; } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ int _Bars(){return(Bars(symbol,_Period));} 错误信息消失了,但它仍然不能正常工作。 [删除] 2010.07.05 20:05 #308 这就是 我们为类似的火鸡绞尽脑汁的地方。看看它的结果是什么 [删除] 2010.07.05 20:34 #309 Urain:我已经把计算方法改写成这样了。 错误记录消失了,但它仍然不能正常工作。唯一正确的方法是非常简单的。你写了一个100%有效的指标,它是在没有 "符号 "参数的情况下经典地完成的,也就是说,它是用当前的符号和周期计算的。之后,在专家顾问(如果提供机械操作)或计算器(如果有必要在非计算器的图形上显示信息)中调用这样的BASIC计算器。PS否则,如果计算器或一个单独的函数必须做一个额外的计算,然后将结果与当前图形数据联系起来...... Sergey Pavlov 2010.07.05 20:57 #310 Urain:我已经把计算方法改写成这样了。 错误信息消失了,但它仍然不能正常工作。这可能更好。#property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 //--- plot LRma #property indicator_label1 "LRma" #property indicator_type1 DRAW_LINE #property indicator_color1 Red #property indicator_style1 STYLE_SOLID #property indicator_width1 1 input string symbol ="EURJPY"; input int MA_Period =25; // период MA input int MA_shift =0; // сдвиг индикатора input ENUM_APPLIED_PRICE price =PRICE_OPEN; // тип цены //--- indicator buffers double LRma[],L[],S[],iPoint,iiMA; int Lwma,Sma;// Хендлы машек //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,LRma,INDICATOR_DATA); ArraySetAsSeries(L,true); ArraySetAsSeries(S,true); ArraySetAsSeries(LRma,true); Lwma=iMA(symbol,0,MA_Period+1,MA_shift,MODE_LWMA,price); Sma=iMA(symbol,0,MA_Period+1,MA_shift,MODE_SMA,price); iPoint=1.0/SymbolInfoDouble(symbol,SYMBOL_POINT); iiMA=1.0/MA_Period; IndicatorSetString(INDICATOR_SHORTNAME,"LRma_symbol_"+symbol); //--- return(0); } //+------------------------------------------------------------------+ //| 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[]) { //--- int count=rates_total-prev_calculated; if(count>1)count=(int)SeriesInfoInteger(symbol,0,SERIES_BARS_COUNT); if(count==0)count=1; if(CopyBuffer(Lwma,0,0,count,L)!=-1) { if(CopyBuffer(Sma,0,0,count,S)!=-1) { for(int i=0;i<MathMin(ArraySize(LRma),ArraySize(L));i++) LRma[i]=(L[i]-S[i])*6*iPoint*iiMA; } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+它似乎可以正常工作。 1...242526272829303132333435363738...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它可以,但有时它也可以,尽管当我设置3时,短名称显示3个值,而我只想要一个主缓冲区。
那么也许像这样。
图上只显示一个值。
那么也许会是这样的。
图中只显示一个值。
结果就是这样,指标的简称显示了3个数字,而绘制一个的缓冲区,它存储了所有你需要知道的东西。
问题是,在4中,你只需请求鼠标在所需栏上的值,而在这里,我必须下载整个缓冲区并将其存储在某个地方。
这种存储对于指标需求来说是没有必要的。但我不知道如何接收波的价值。
那么也许像这样。
图上只显示一个值。
那里不是初始化的问题。这甚至不是马舍克所说的那两条线的问题。
即使我们假设真的需要SYMBOL参数(我个人对此表示怀疑),使用缓冲区的工作也是很蹩脚的,而且我甚至没有说到计算器块......
我看到该指标显示的是它所运行的错误仪器的线性回归 角的值。
和输入中规定的那个,所以希望你能隐藏检查器。
现在,在另一方面,聪明地告诉我,你认为在计算中发生的事情有什么不协调的地方?
我并不声称它是所有的权利(因为只是学习五和自然蒸煮,因为很多)。
我想到的第一件事是,不同对的历史长度是不同的,因此会出现故障。
但开发人员向我保证,终端将自行加载所有必要的数据。
问题是,在4中,你可以只要求在必要的条上的波形值,而在这里你必须加载整个缓冲区。
问题是,在4中,你可以简单地请求所需条形图上的波形值,但在这里,你必须下载整个缓冲区并将其存储在某处。
我必须加载整个缓冲区,但我不需要它来满足我的指标需求。我不知道如何以其他方式得到它。
我看到该指标显示的是它所运行的错误仪器的线性回归角的值。
但在直觉中规定的那个,所以希望你能隐藏检查器。
现在,在寒冷的环境中,合理地告诉我,你在计算中发生的事情中看到了什么是荒谬的?
我并不声称它是所有的权利(因为只是学习五和自然蒸煮,因为很多)。
我想到的第一件事是,在不同对的历史长度不同,因此出现了故障。
开发者向我保证,终端将自行加载所有必要的信息。
有什么可争论的呢?我们拿着计算器的帽子,看看我们在那里看到什么,这就是我们看到的。
在这之后,还有对酒吧的控制...
如果你不知道密码,你会得到一个警告。那么告诉我,逻辑在哪里?我已经把计算方法改写成这样了。
错误信息消失了,但它仍然不能正常工作。这就是 我们为类似的火鸡绞尽脑汁的地方。看看它的结果是什么
我已经把计算方法改写成这样了。
错误记录消失了,但它仍然不能正常工作。唯一正确的方法是非常简单的。
你写了一个100%有效的指标,它是在没有 "符号 "参数的情况下经典地完成的,也就是说,它是用当前的符号和周期计算的。
之后,在专家顾问(如果提供机械操作)或计算器(如果有必要在非计算器的图形上显示信息)中调用这样的BASIC计算器。
PS
否则,如果计算器或一个单独的函数必须做一个额外的计算,然后将结果与当前图形数据联系起来......
我已经把计算方法改写成这样了。
错误信息消失了,但它仍然不能正常工作。这可能更好。
它似乎可以正常工作。