谁能帮帮我!! - 页 11

 
Techno:
不可能,这是同样的事情,是一个完全不同的专家。用我的,填上缺少的细节

我说的不是原来的那个,我说的是我用你的零件做的那个......但非常感谢你给我提供的关于阵列的课程 !
 
sllawa3:
但问题仍然是...如何绕过选择错误...他们只是把一个专家和一个阵列放在一起... 你不能总是遵循这种模式......
而不是数组,我们本可以使用大量的变量。在 "选择 "中没有错误。 专家顾问的不同之处在于,订单评估块是独立于程序的其他部分。修改也不取决于删除,而在你的情况下,所有的东西都在一个地方。 要把所有的东西写在一起,你必须非常有经验,你只是在某个地方犯了一个错误,写一个新的EA会比处理那个混乱的地方更容易。
 

简而言之,如果你不将变量归零,它们在其他地方也不会被归零,你的原始版本中的任何东西都不会起作用。如果你在最后把它们清零,那么EA就会工作,但你有一行,例如,如果(OrderType() == OP_BUYSTOP&DB==1){OrderDelete(OrderTicket(),CLR_NONE);return(0);}。

但没有任何作用,因为限价订单可以先走,市场订单只能在它之后,而这个条件永远不会被满足,挂单不会被删除。所以,你的专家顾问只有在终端的订单序列符合算法的情况下才会工作,正如你所理解的,在11年的90笔交易中很少发生,我检查过了。因此,结论是方案的结构错误,或者说在超限期间,一个迭代完全依赖于另一个迭代。

 
我知道有什么不对...我一直在寻找它......但你的代码要短得多......。更短的时间...
 
sllawa3:
嗯,显然有什么问题...所以我一直在寻找它...
所以我给你写了上面的错误。程序的结构不正确,也就是说,它不是在一个符号上出错,而是在整个程序的70%上出错。
 

你的代码中也有一个错误...它不修改买入头寸,因此,如果买入止损被触发,下单时不设止损,也不收回,其他的不开。

没有数据 db[2]==0 db[3]==0 还有

 
想通了......set DB[0] not > 1 a >=1....
 
是的,我在我的文件中修正了它,我只是忘了把它放在上传的文件中。
 
sllawa3:

你的代码中也有一个错误...它不修改买入头寸,因此,如果买入止损被触发,下单时不设止损,也不收回,其他的不开。

没有数据 db[2]==0 db[3]==0 还有

斯拉瓦,你的问题是你不接受新的想法......你已经得到了一个不同的方法,但你期待一个现成的解决方案......

由你来决定如何处理订单可能出现的问题--重新报价、错误的价格等等......。

 
Techno:
是的,我自己修复了它,我只是忘了在上传的文件中加入 。

我决定用数组重写我所有的EA......我正在考虑如何增加2个变量--订单手数和订单利润以及2个bylimit和selligit的订单。

进入订单查询表

对水平和垂直方向的变量数量有什么限制吗? 以及开始前的变量[4]是订单数量 还是每个订单中的变量数量?