[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 127 1...120121122123124125126127128129130131132133134...1145 新评论 Alexander 2009.06.22 08:06 #1261 没有。 Олег 2009.06.22 12:46 #1262 这个问题:标准的OA指标使用了2个额外的索引缓冲区,这些缓冲区 不参与渲染指标。 //+------------------------------------------------------------------+ //| Accelerator.mq4 | //| Copyright © 2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" //---- indicator settings #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Black #property indicator_color2 Green #property indicator_color3 Red //---- indicator buffers double ExtBuffer0[]; double ExtBuffer1[]; double ExtBuffer2[]; double ExtBuffer3[]; double ExtBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- 2 additional buffers are used for counting. IndicatorBuffers(5); //---- drawing settings SetIndexStyle(0,DRAW_NONE); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexStyle(2,DRAW_HISTOGRAM); IndicatorDigits(Digits+2); SetIndexDrawBegin(0,38); SetIndexDrawBegin(1,38); SetIndexDrawBegin(2,38); //---- 4 indicator buffers mapping SetIndexBuffer(0, ExtBuffer0); SetIndexBuffer(1, ExtBuffer1); SetIndexBuffer(2, ExtBuffer2); SetIndexBuffer(3, ExtBuffer3); SetIndexBuffer(4, ExtBuffer4); //---- name for DataWindow and indicator subwindow label IndicatorShortName("AC"); SetIndexLabel(1,NULL); SetIndexLabel(2,NULL); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| Accelerator/Decelerator Oscillator | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); double prev, current; //---- last counted bar will be recounted if( counted_bars>0) counted_bars--; limit=Bars- counted_bars; //---- macd counted in the 1-st additional buffer for(int i=0; i& lt; limit; i++) ExtBuffer3[ i]=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN, i)- iMA(NULL,0,34,0,MODE_SMA,PRICE_MEDIAN, i); //---- signal line counted in the 2-nd additional buffer for( i=0; i< limit; i++) ExtBuffer4[ i]=iMAOnArray( ExtBuffer3,Bars,5,0,MODE_SMA, i); //---- dispatch values between 2 buffers bool up=true; for( i= limit-1; i>=0; i--) { current=ExtBuffer3[ i]- ExtBuffer4[ i]; prev=ExtBuffer3[ i+1]- ExtBuffer4[ i+1]; if( current> prev) up=true; if( current& lt; prev) up=false; if(! up) { ExtBuffer2[ i]= current; ExtBuffer1[ i]=0.0; } else { ExtBuffer1[ i]= current; ExtBuffer2[ i]=0.0; } ExtBuffer0[ i]= current; } //---- done return(0); } //+------------------------------------------------------------------+ 正如你所看到的,在这些数组中只进行计算。我不明白为什么这些数组要被赋予索引缓冲区的地位? [删除] 2009.06.22 13:26 #1263 neoclassic писал(а)>> 这个问题:标准的OA指标使用了2个额外的索引缓冲区,这些缓冲区不参与渲染指标。 正如你所看到的,在这些数组中只进行计算。我不明白,为什么这些数组需要被赋予索引缓冲区的地位? 来设置数组的大小! [删除] 2009.06.22 13:57 #1264 论坛的用户们,你们好! 我是一个完全的MQL程序员。但我希望能有这样一个简单的EA。开启了一些地段的姿势。我立即设置了一个固定的止损(20-30点)。在达到一定的利润(20-30点)后,我们关闭部分头寸(50%),对于剩余的头寸,止损点被移至Breakeven。对于剩余的头寸,会下一个获利订单,或者手动监控。这里有一个想法。如果能得到答案,我将非常感激。 Олег 2009.06.22 15:56 #1265 vvavva >> : 来设置数组的大小! 但如果你需要使用大量的数组,该怎么做?>> (8个以上) keekkenen 2009.06.22 16:07 #1266 使用常规数组而不是缓冲数组 而不是 SetIndexBuffer(3,ExtBuffer3);SetIndexBuffer(4,ExtBuffer4)。 使用 ArrayResize(ExtBuffer3,Bars); ArrayResize(ExtBuffer4,Bars)。 Олег 2009.06.22 16:12 #1267 keekkenen >> : 使用常规数组而不是缓冲数组 而不是 SetIndexBuffer(3,ExtBuffer3);SetIndexBuffer(4,ExtBuffer4)。 使用 ArrayResize(ExtBuffer3,Bars); ArrayResize(ExtBuffer4,Bars)。 谢谢你!!!。 [删除] 2009.06.22 16:45 #1268 neoclassic писал(а)>> 如果需要使用大量的数组怎么办?(8个以上) 用于在指标中绘图的数组不能超过指定的限制(我想是8个)! 用于计算的数组也有限制,但数字更大!"。 为了绕过使用数组的限制,你需要使用库! Andrei Savchenko 2009.06.22 16:47 #1269 我有一个问题。是否有可能做一个新闻服务员。比方说,今天会有新闻,具体时间不知道,大概的文字一个字,我需要一个更长更响的提示音就可以了。 Antik 2009.06.22 19:34 #1270 你好,请告诉我为什么当一个新的柱子 还没有开始形成时,变量k=Bars可能会发生变化(任何可能的情况),比如你改变了货币对、时间框架、一些MT4更新或在dc中。 1...120121122123124125126127128129130131132133134...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这个问题:标准的OA指标使用了2个额外的索引缓冲区,这些缓冲区 不参与渲染指标。
正如你所看到的,在这些数组中只进行计算。我不明白为什么这些数组要被赋予索引缓冲区的地位?
这个问题:标准的OA指标使用了2个额外的索引缓冲区,这些缓冲区不参与渲染指标。
正如你所看到的,在这些数组中只进行计算。我不明白,为什么这些数组需要被赋予索引缓冲区的地位?
来设置数组的大小!
论坛的用户们,你们好!
我是一个完全的MQL程序员。但我希望能有这样一个简单的EA。开启了一些地段的姿势。我立即设置了一个固定的止损(20-30点)。在达到一定的利润(20-30点)后,我们关闭部分头寸(50%),对于剩余的头寸,止损点被移至Breakeven。对于剩余的头寸,会下一个获利订单,或者手动监控。这里有一个想法。如果能得到答案,我将非常感激。
来设置数组的大小!
但如果你需要使用大量的数组,该怎么做?>> (8个以上)
使用常规数组而不是缓冲数组
而不是
SetIndexBuffer(3,ExtBuffer3);SetIndexBuffer(4,ExtBuffer4)。
使用
ArrayResize(ExtBuffer3,Bars); ArrayResize(ExtBuffer4,Bars)。
使用常规数组而不是缓冲数组
而不是
SetIndexBuffer(3,ExtBuffer3);SetIndexBuffer(4,ExtBuffer4)。
使用
ArrayResize(ExtBuffer3,Bars); ArrayResize(ExtBuffer4,Bars)。
谢谢你!!!。
如果需要使用大量的数组怎么办?(8个以上)
用于在指标中绘图的数组不能超过指定的限制(我想是8个)!
用于计算的数组也有限制,但数字更大!"。
为了绕过使用数组的限制,你需要使用库!