任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 348 1...341342343344345346347348349350351352353354355...1178 新评论 Vitalie Postolache 2013.12.18 15:41 #3471 Link_x: 我认为是对技术指标中的功能缺乏了解。如果我不明白,那么我应该明白,通过使用从你那里传递给我的链接的 "另一边 "发现的信息,通过互联网网络的打字和发送。 "学习,学习,再学习!" - 我喜欢这句话。))) 在元编辑器中打开CCI,把你不理解的东西都放到参考书中(点击你不理解的函数或表达式,然后按F1键)。这样一来,学习将变得更加有趣。 [删除] 2013.12.18 16:50 #3472 extern int MartinStep = 2; extern double LOT = 0.01; double GetLot(){ int time = 0;double profit = 0; double lots = 0; double Lot = 0; for(int i = OrdersHistoryTotal()-1;i>=0;i--){ if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){ if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic){ if(time<OrderCloseTime()){ time=OrderCloseTime(); profit=OrderProfit(); lots = OrderLots(); } } } } if(profit == 0 &&time == 0) { Lot = LOT; } if(profit >= 0) { Lot = LOT; } if(profit < 0 ) { Lot = NormalizeDouble (lots*MartinStep,2); } return(Lot); } 请帮助纠正功能上的错误。EA正确地打开了几个订单,然后日志显示一个错误 "无效的手数"。我不明白什么是错的。 Any rookie question, so 如何编码? 100点 Mikhail Kozhemyako 2013.12.18 16:59 #3473 Trader7777: lots = OrderLots(); Lot = NormalizeDouble (lots*MartinStep,2); 请帮助纠正功能上的错误。EA正确地打开了几个订单,然后日志显示一个错误 "无效的手数"。我不明白什么是错的。 要么我从来没有到过操作者lot = OrderLots(); 和lot仍然保持=0。或者lot*MartinStep超过了最大允许的lot大小。 [删除] 2013.12.18 17:21 #3474 我想明白了,错误在这里 if(profit >= 0) 我应该加一个等号,因为在一个以0点收盘的订单之后,EA不知道该怎么做) Lopator 2013.12.18 19:46 #3475 大家好!你能告诉我如何在一天结束时实现EA的重新初始化吗?那么,在init()中,有一些动作需要在某个时间重复进行。我不想在start()中重写它们。我对重新启动EA的理论可能性更感兴趣。预先感谢你。 Artyom Trishkin 2013.12.18 19:55 #3476 Pyro: 大家好!你能告诉我如何在一天结束时实现EA的重新初始化吗?那么,在init()中,有一些动作需要在某个时间重复进行。我不想在start()中重写它们。我对重新启动EA的理论可能性更感兴趣。预先感谢你。 你有没有试过在某个时间调用init()? Lopator 2013.12.18 20:05 #3477 是的,我没有想到:( 谢谢你!!!)。 forexman77 2013.12.18 20:17 #3478 请您告诉我,当重新启动EA时(从图表中删除,然后再放回),标志和静态变量 是被重置还是保留在EA的内存中? Lopator 2013.12.18 20:26 #3479 Forexman77: 请您告诉我,当重新启动EA时(从图表中删除,然后再放回),标志和静态变量是被重置还是保留在EA的内存中? 在初始化过程中,除了全局变量外,一切都被重置。 Artyom Trishkin 2013.12.18 20:30 #3480 Pyro: 在初始化过程中,除了全局变量外,所有的东西都被重置。 这里需要澄清的是,GV是终端变量,而不是EA变量。 1...341342343344345346347348349350351352353354355...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为是对技术指标中的功能缺乏了解。如果我不明白,那么我应该明白,通过使用从你那里传递给我的链接的 "另一边 "发现的信息,通过互联网网络的打字和发送。
"学习,学习,再学习!" - 我喜欢这句话。)))
在元编辑器中打开CCI,把你不理解的东西都放到参考书中(点击你不理解的函数或表达式,然后按F1键)。这样一来,学习将变得更加有趣。
extern int MartinStep = 2;
extern double LOT = 0.01;
double GetLot(){
int time = 0;double profit = 0; double lots = 0; double Lot = 0;for(int i = OrdersHistoryTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic){
if(time<OrderCloseTime()){
time=OrderCloseTime();
profit=OrderProfit();
lots = OrderLots();
}
}
}
}
if(profit == 0 &&time == 0)
{
Lot = LOT;
}
if(profit >= 0)
{
Lot = LOT;
}
if(profit < 0 )
{
Lot = NormalizeDouble (lots*MartinStep,2);
}
return(Lot);
}
lots = OrderLots();
Lot = NormalizeDouble (lots*MartinStep,2);要么我从来没有到过操作者lot = OrderLots(); 和lot仍然保持=0。或者lot*MartinStep超过了最大允许的lot大小。
我想明白了,错误在这里
大家好!你能告诉我如何在一天结束时实现EA的重新初始化吗?那么,在init()中,有一些动作需要在某个时间重复进行。我不想在start()中重写它们。我对重新启动EA的理论可能性更感兴趣。预先感谢你。
大家好!你能告诉我如何在一天结束时实现EA的重新初始化吗?那么,在init()中,有一些动作需要在某个时间重复进行。我不想在start()中重写它们。我对重新启动EA的理论可能性更感兴趣。预先感谢你。
请您告诉我,当重新启动EA时(从图表中删除,然后再放回),标志和静态变量是被重置还是保留在EA的内存中?
在初始化过程中,除了全局变量外,一切都被重置。
在初始化过程中,除了全局变量外,所有的东西都被重置。