[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 11 1...456789101112131415161718...631 新评论 ilunga 2012.03.23 06:46 #101 Fox_RM:我试着用NewBar() 函数在一个新条上开单。如果是用于此目的?例如, 如果(NewBar())i++; 类似这样。我没有注意到NewBar,对不起。 然后改变以下内容。如果你只在一个新的条形图上开立交易,你就不需要在每个刻度上计算整个指标。 因此,在检查开启交易的条件之前,移动整个指标计算,并且不要计算你需要的条数(如果我没有弄错的话,是20条)。 因此,策略如下。 1)新酒吧? 不--步行 2)是的--计算我们需要的一切(MA,指标,其他条件的一切)。 3) 检查条件 - 不 - 走 4)是的--以当前价格(分别是卖出价或买入价)开盘。 Сергей 2012.03.23 06:52 #102 ilunga: NewBar没有注意到,我很抱歉。 然后改变以下内容。如果你只在一个新的条形图上开仓交易,你就不需要在每个刻度上计算整个指标。 因此,在检查交易开盘条件之前,移动整个指标的计算,不计算多少条,而是计算你需要的条数(如果我没弄错的话,是20条)。 这是正确的20。我大致上明白了如何做。请解释一下我的计算和专家顾问的20条计算之间的区别。 我只是想了解错误的本质。 TarasBY 2012.03.23 06:53 #103 Fox_RM: 大家好!我决定重写我的专家顾问指标的代码,以跟踪 我决定改变我的指标的代码,以跟踪其信号的操作。我在编译时没有错误,在策略测试器中也没有错误。我不知道如何使用它。 Z.U.我相信有很多愚蠢的错误,请拍空。 例如,按照你看到的情况重写代码比在这里整理 "你在跳什么舞 "更容易。 ArrayResize(MA1,Bars);ArrayResize(MA2,Bars); 我还没有遇到过EA中的指标所使用的功能会如何运作。 int counted_bars=IndicatorCounted(); 但是,如果 "不管",你组织的循环。 for(i=0; i<=limit; i++) 其中limit = Bars - counted_bars,在第2个tick将取一个等于0的值,然后通过代码将被分配一个值。OPA - 这是一个新的编程世界。 if(limit>0) limit=0; ...试着这样写这个条件,如果它没有破坏整个策略的话。 if(limit<=0) limit=1; Alekseu Fedotov 2012.03.23 06:53 #104 Fox_RM:即用这个条件来重新计算酒吧? 但在我的指标中,每一个刻度都会计算TP_UP和 TP_DN 数组。因此,必须首先计算它们。 同样,OP_BUY的开盘价=Ask,OP_SELL=Bid。 而你有Close[i]。 ilunga 2012.03.23 06:56 #105 Fox_RM:这是正确的20。我大致了解如何做到这一点。请解释一下我的计算和专家顾问的20条计算之间的区别。 我只是想了解错误的本质。 在整个指标的计算 中没有这样的错误。只要想想什么是更快的。 1)每一个刻度线都要计算条数(大约10000条)。 2)每分钟数20个小节1次(甚至更多)。 TarasBY 2012.03.23 06:58 #106 Fox_RM: 大家好!我决定重写我的专家顾问指标的代码,以跟踪 我决定改变我的指标的代码,以追踪其信号的处理。我在编译时没有错误,在策略测试器中也没有错误。我不知道如何使用它。 Z.I.我相信有很多错误和愚蠢的,请射空。 不是主要的,但为了简化代码,这个结构。 ArrayResize(TP_UP,20);ArrayResize(TP_DN,20); ArrayResize(TP_UPMin,20);ArrayResize(TP_DNPl,20); 应该用一个具有维度的简单数组声明来代替。 double delta,price,old_price,col_bar,sum_tick,sum_pip,TP_UP[20],TP_DN[20],TP_UPMin[20],TP_DNPl[20]; TarasBY 2012.03.23 07:06 #107 Fox_RM: 这是正确的20。我大致了解如何做到这一点。请解释一下我的计算和专家顾问的20条计算之间的区别。 我只是想了解错误的本质。 这些都是主要的{FUNDAMENTAL编程原则--不要做没有意义的事情!:))) Vadim Zhunko 2012.03.23 07:06 #108 Fox_RM: 还有一个问题与图书馆的运作有关。我创建了库文件,编译了它,一切都没有错误。我把这个函数导入到指标代码中,进行了编译,一切也都正常了。当我启动指标时,要导入的函数没有被执行,当我用指标代码,一切正常。下面是库的代码。 这是指标代码中的一个调用。 //+------------------------------------------------------------------+ //| lib1.mq4 | //| Copyright © 2012, Fox.RM | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2012, Fox.RM" #property link "http://www.metaquotes.net" #property library //+------------------------------------------------------------------+ //| My function | //+------------------------------------------------------------------+ double Sredn(double & ArrSr[]) { double a=1,c,step=1/20; for (int i=0;i<=20;i++) {if (ArrSr[i]==0){a*=1;}else{a*=MathAbs(ArrSr[i]);}} c=MathPow(a, step); return(c); } //+------------------------------------------------------------------+ TarasBY 2012.03.23 07:23 #109 Zhunko: 瓦迪姆,你把这么小的(&),你不能直接看到它!...!:))) 我想知道作者(在作者的版本中)这个功能是如何在一个地方执行的,而不是在另一个地方执行的!我不知道。;) TarasBY 2012.03.23 07:28 #110 Fox_RM: 这是正确的20。我大致了解如何做到这一点。请解释一下我的计算和专家顾问的20条计算之间的区别。 我只是想了解错误的本质。 顺便说一下,我注意到你声明的工作数组大小为20。 ArrayResize(TP_UP,20);ArrayResize(TP_DN,20); ArrayResize(TP_UPMin,20);ArrayResize(TP_DNPl,20); 而你的库计算了21个元素。 for (int i=0;i<=20;i++) 我可以假设,循环应该从1开始。 for (int i=1;i<=20;i++) 1...456789101112131415161718...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我试着用NewBar() 函数在一个新条上开单。如果是用于此目的?
例如, 如果(NewBar())i++; 类似这样。
我没有注意到NewBar,对不起。
然后改变以下内容。如果你只在一个新的条形图上开立交易,你就不需要在每个刻度上计算整个指标。
因此,在检查开启交易的条件之前,移动整个指标计算,并且不要计算你需要的条数(如果我没有弄错的话,是20条)。
因此,策略如下。
1)新酒吧? 不--步行
2)是的--计算我们需要的一切(MA,指标,其他条件的一切)。
3) 检查条件 - 不 - 走
4)是的--以当前价格(分别是卖出价或买入价)开盘。
NewBar没有注意到,我很抱歉。
然后改变以下内容。如果你只在一个新的条形图上开仓交易,你就不需要在每个刻度上计算整个指标。
因此,在检查交易开盘条件之前,移动整个指标的计算,不计算多少条,而是计算你需要的条数(如果我没弄错的话,是20条)。
这是正确的20。我大致上明白了如何做。请解释一下我的计算和专家顾问的20条计算之间的区别。
我只是想了解错误的本质。
我不知道如何使用它。
Z.U.我相信有很多愚蠢的错误,请拍空。
例如,按照你看到的情况重写代码比在这里整理 "你在跳什么舞 "更容易。
我还没有遇到过EA中的指标所使用的功能会如何运作。
但是,如果 "不管",你组织的循环。
其中limit = Bars - counted_bars,在第2个tick将取一个等于0的值,然后通过代码将被分配一个值。OPA - 这是一个新的编程世界。
...试着这样写这个条件,如果它没有破坏整个策略的话。
即用这个条件来重新计算酒吧?
但在我的指标中,每一个刻度都会计算TP_UP和 TP_DN 数组。因此,必须首先计算它们。
同样,OP_BUY的开盘价=Ask,OP_SELL=Bid。
而你有Close[i]。
这是正确的20。我大致了解如何做到这一点。请解释一下我的计算和专家顾问的20条计算之间的区别。
我只是想了解错误的本质。
在整个指标的计算 中没有这样的错误。只要想想什么是更快的。
1)每一个刻度线都要计算条数(大约10000条)。
2)每分钟数20个小节1次(甚至更多)。
我不知道如何使用它。
Z.I.我相信有很多错误和愚蠢的,请射空。
不是主要的,但为了简化代码,这个结构。
应该用一个具有维度的简单数组声明来代替。
double delta,price,old_price,col_bar,sum_tick,sum_pip,TP_UP[20],TP_DN[20],TP_UPMin[20],TP_DNPl[20];
这是正确的20。我大致了解如何做到这一点。请解释一下我的计算和专家顾问的20条计算之间的区别。
我只是想了解错误的本质。
指标代码,一切正常。下面是库的代码。
这是指标代码中的一个调用。
瓦迪姆,你把这么小的(&),你不能直接看到它!...!:)))
我想知道作者(在作者的版本中)这个功能是如何在一个地方执行的,而不是在另一个地方执行的!我不知道。;)
这是正确的20。我大致了解如何做到这一点。请解释一下我的计算和专家顾问的20条计算之间的区别。
我只是想了解错误的本质。
顺便说一下,我注意到你声明的工作数组大小为20。
而你的库计算了21个元素。
我可以假设,循环应该从1开始。