[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 22 1...151617181920212223242526272829...631 新评论 TarasBY 2012.03.26 05:36 #211 skyjet:你好!我的目标是通过创建一个函数将该指标转移到EA中。 第一步,也就是创建函数,已经完成。但是下一个--测试--并不奏效。 指示器绘制了通道。它有4个缓冲区和大量的变量。我已经把它全部放在函数中。但当创建一个测试专家顾问,通过比较指标和我的函数来确保其操作的准确性时,我无法实现编译。 外部变量的不断错误,在我创建函数时并不存在,但在EA中突然出现。 请给我一些建议或提供一个例子的链接。我使用了GODZILLA的文章,但他的例子与我的不同。 该计划大致如下。 将指标init()中的所有内容转移到一个单独的函数中,例如fInit_Indicator(),并将其写入EA的init()中,同时记住从代码中删除所有涉及指标缓冲区初始化 的内容。 复制所有全局指标变量,并将其置于EA的全局变量中。在EA中声明指标缓冲区时,不要忘记定义它们的大小。像gd_Buf1[100], gd_Buf2[100]等。我认为100个数值对你来说已经足够了。 重新命名指标的start()函数,例如,fMyIndicator(),并将其放在EA的start()函数中,在开单代码之前(用于决策)。 另外,不要忘记,指标缓冲区与 "非指标 "缓冲区是不同的。这方面有几个解决方案。 当一个新的条形图到来时,"非指示器 "数组中的所有数据被移位,释放出0-索引,新的计算值被放在那里。 同样,当一个新的柱子到来时,重新计算整个 "非指示器阵列"。 试试吧 - 这并不难。 TarasBY 2012.03.26 05:38 #212 999666: 帮助我写一个条件,使EA在开出N个订单后将手数乘以一半。if (MyOrders >= n) Lots *= 2; Сергей 2012.03.26 06:13 #213 下午好! 我还在琢磨数组的问题。 我需要在每个新的tick上将点的数量的值加载到数组中。 阵列的大小 每次都会不同。在这种情况下,我应该怎么做,在循环的每次迭代中使用ArreyResize? Snegovik 2012.03.26 06:44 #214 下午好,关于数组的问题。 有一个这种类型的细胞 12345,p,fgh,2011-01-01,55,66 我怎么能从它那里得到55美元呢? 谢谢。 Сергей 2012.03.26 07:01 #215 如果数组是异质的,你可能应该把所有元素转换成字符串类型,然后用 StringFinde(https://www.mql5.com/ru/forum/138609/page22#613148).如果我说错了,请纠正我。 Андрей Григорьев 2012.03.26 07:11 #216 TarasBY: 没有帮助:如果有两个条件并不困难,如果(LotConst_or_not)gd_200 = Lot。 否则gd_200 = AccountBalance() * RiskPercent / 100.0 / 10000.0; 用一个专家顾问来代替它,它计算的不是余额,而是未结订单的数量。 非常感谢您的回答。 Андрей Григорьев 2012.03.26 07:16 #217 TarasBY: 没有帮助:如果有两个条件并不困难,如果(LotConst_or_not)gd_200 = Lot。否则gd_200 = AccountBalance() * RiskPercent / 100.0 / 10000.0; 用一个专家顾问来代替它,它计算的不是余额,而是未结订单的数量。 非常感谢您的回答。 Alekseu Fedotov 2012.03.26 07:37 #218 Snegovik: 下午好,关于数组的问题。 有一个这种类型的细胞 12345,p,fgh,2011-01-01,55,66 我怎么能从它那里得到55美元呢? 谢谢。 https://book.mql4.com/ru/variables/arrays Paladin80 2012.03.26 08:53 #219 999666: 帮助我写一个条件,使EA在开出N个订单后将手数乘以2倍。 如果你想在已经开出3个2手的订单的情况下开出下一个(4个,等等)订单,那么。int Opened_pos=0; for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL)) { Opened_pos++; } } } if (Opened_pos>=4) double lot=lot*2; TarasBY 2012.03.26 09:03 #220 Fox_RM:下午好!我还在琢磨数组的问题。我需要在每个新的tick上将点的数量的值加载到数组中。阵列的大小每次都会不同。在这种情况下,我应该怎么做,在循环的每次迭代中使用ArreyResize? 1-Item:你改变数组大小 的理念从一开始就有缺陷,在100个案例中,你只能用10个单元来处理指标读数。 第2点:在每次打勾时重新计算这些读数是不明智的大脑的奇思妙想。 1...151617181920212223242526272829...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好!我的目标是通过创建一个函数将该指标转移到EA中。
第一步,也就是创建函数,已经完成。但是下一个--测试--并不奏效。
指示器绘制了通道。它有4个缓冲区和大量的变量。我已经把它全部放在函数中。
但当创建一个测试专家顾问,通过比较指标和我的函数来确保其操作的准确性时,我无法实现编译。
外部变量的不断错误,在我创建函数时并不存在,但在EA中突然出现。
请给我一些建议或提供一个例子的链接。我使用了GODZILLA的文章,但他的例子与我的不同。
该计划大致如下。
试试吧 - 这并不难。
帮助我写一个条件,使EA在开出N个订单后将手数乘以一半。
下午好!
我还在琢磨数组的问题。
我需要在每个新的tick上将点的数量的值加载到数组中。
阵列的大小 每次都会不同。在这种情况下,我应该怎么做,在循环的每次迭代中使用ArreyResize?
下午好,关于数组的问题。
有一个这种类型的细胞
12345,p,fgh,2011-01-01,55,66
我怎么能从它那里得到55美元呢?
谢谢。
如果数组是异质的,你可能应该把所有元素转换成字符串类型,然后用
StringFinde(https://www.mql5.com/ru/forum/138609/page22#613148).如果我说错了,请纠正我。
否则gd_200 = AccountBalance() * RiskPercent / 100.0 / 10000.0;
用一个专家顾问来代替它,它计算的不是余额,而是未结订单的数量。
非常感谢您的回答。
否则gd_200 = AccountBalance() * RiskPercent / 100.0 / 10000.0;
用一个专家顾问来代替它,它计算的不是余额,而是未结订单的数量。
非常感谢您的回答。
下午好,关于数组的问题。
有一个这种类型的细胞
12345,p,fgh,2011-01-01,55,66
我怎么能从它那里得到55美元呢?
谢谢。
https://book.mql4.com/ru/variables/arrays
帮助我写一个条件,使EA在开出N个订单后将手数乘以2倍。
下午好!
我还在琢磨数组的问题。
我需要在每个新的tick上将点的数量的值加载到数组中。
阵列的大小每次都会不同。在这种情况下,我应该怎么做,在循环的每次迭代中使用ArreyResize?
1-Item:你改变数组大小 的理念从一开始就有缺陷,在100个案例中,你只能用10个单元来处理指标读数。
第2点:在每次打勾时重新计算这些读数是不明智的大脑的奇思妙想。