[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 162 1...155156157158159160161162163164165166167168169...432 新评论 Konstantin Drozdov 2013.02.16 18:37 #1611 Vinin: 好吧,我带点逻辑来无论条件如何,循环都会被执行 if(NewBar()) 我不需要它依赖NewBAR()。 需要这个函数来避免成堆下单。 请告诉我为什么我的代码(最后的变体)效果更好。可以,但当我对SELLSTOP做同样的操作时,交易就完全停止了? ANDREY 2013.02.16 18:51 #1612 亲爱的先生们,我是一个新手!我已经开始写我的第一个EA......,但我无法完成它。目前,我正在策略 测试器中进行测试。这很简单。在10小时蜡烛开盘时,我在距离这根10小时蜡烛的开盘价60点的地方下了挂单。我用它取得了一些成功。但我必须删除挂单,如果它在下单后一小时内没有发生变化。变成一个市场订单。以下是我的代码。int start(){ double Price=Ask+60*Point; double SL=Price-30*Point; double TP=Price + 15*Point; if(OrdersTotal()==0 && Hour()==10 && Minute()==00 ) OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP, "fjdu",123,TimeCurrent( ) + 3600)。}这段代码成功编译;测试器没有显示任何错误。但是过期参数不起作用,即没有在1小时内转换为市场订单的挂单不会被删除。我把数值3600改为3600000....,但什么也没有发生。如果你能告诉我我的错误是什么,我将非常感激。 [ARCHIVE]Any rookie question, so [存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. 问吧! Alexey Subbotin 2013.02.16 19:30 #1613 solnce600: 过期参数不起作用最有可能的是,经纪人不支持它。可以肯定的是,你可以这样去做。int i,ot = OrdersTotal(); for(i=ot-1;i>=0;i--) { if(!OrderSelect()) continue; if(OrderMagicNumber()!=123) continue; if(OrderType()==OP_BUYSTOP && TimeCurrent()-OrderOpenTime()>3600) { OrderDelete(OrderTicket()); } } Boris 2013.02.16 19:32 #1614 solnce600: 亲爱的先生们,我是一个新手! 我已经开始写我的第一个EA......,但我无法完成它。 目前,我正在策略测试器中进行测试。 这很简单。 在10小时蜡烛开盘时,我在距离这根10小时蜡烛开盘价60个点的地方下挂单。 我用它取得了一些成功。 但我必须删除挂单,如果它在下单后一小时内没有发生变化。 变成一个市场订单。 以下是我的代码。 int start(){ double Price=Ask+60*Point; double SL=Pric-30*Point; 双重TP=价格+15*点。 如果(OrdersTotal()==0 && Hour()==10 && Minute()==00 ) OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP, "fjdu",123,TimeCurrent( ) + 3600)。 } 这段代码成功地进行了编译和测试。 但是过期参数不起作用,即没有在1小时内转换为市场订单的挂单不会被删除。 我把数值3600改为3600000....,但什么也没有发生。 如果你能告诉我我的错误是什么,我将非常感激。 是什么阻止了你使条件在小时和分钟内删除相同的内容?直流电可能不符合你的到期条件。 ANDREY 2013.02.16 19:44 #1615 borilunad: 又有什么能阻止你在同一时间、同一地点制定删除条件呢?DC可能不符合你的到期条件。 alsu。 最有可能的是,经纪人不支持它。可以肯定的是,你可以做到这一点。我有一个终端Alpari.在模拟账户上,我手动设置了钟摆,并把到期 时间 - 1小时。一切都很好。我读到,如果经纪商不支持这个参数,会有一个错误....,但没有错误。测试正在运行......但订单没有被删除。 ANDREY 2013.02.16 19:48 #1616 borilunad: 又是什么原因使你不能以相同的时间和分钟为条件进行删除?直流电可能不符合你的到期条件。那么按小时和分钟计算呢?谢谢你。 ANDREY 2013.02.16 19:51 #1617 solnce600:按小时和按分钟计算如何?谢谢你。 应该用什么来代替过期参数? Boris 2013.02.16 21:24 #1618 solnce600: 而到了一小时零一分钟,怎么会这样呢? 谢谢你。 它和你打开的时候一样,只是一个小时后的11点。 这就是你的东西!。我不是这样做的,但这并不改变问题的关键。 ANDREY 2013.02.17 02:31 #1619 borilunad: 和你打开的时候一样,只是一个小时后的11点。我的做法不同,但这并不改变重点。对不起,我很笨,但我不明白我是否需要在这个参数中改变什么。如果是这样,如果你能根据需要在我的代码中插入过期参数,并将整行内容粘贴在你的答案文本中,我将非常感激。谢谢你。 [Deleted] 2013.02.17 05:06 #1620 solnce600:对不起,我很笨,但我不明白我是否需要在这个参数中改变什么。如果是这样,如果你能根据需要在我的代码中插入过期参数,并将整行内容粘贴在你的回复文本中,我将非常感激。谢谢你。 我可以建议以下变体。如果(Hour()==11 && OrdersTotal()>0){如果(OrderSelect(0,SELECT_BY_POS)==true){如果(OrderType()==OP_BUYSTOP){OrderDelete(OrderTicket())。}}}而且你不使用过期参数。缺点是,在交易时,电脑必须在连接互联网的情况下运行,并打开终端,以便平仓。 1...155156157158159160161162163164165166167168169...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
好吧,我带点逻辑来
无论条件如何,循环都会被执行 if(NewBar())
我不需要它依赖NewBAR()。 需要这个函数来避免成堆下单。 请告诉我为什么我的代码(最后的变体)效果更好。
可以,但当我对SELLSTOP做同样的操作时,交易就完全停止了?
亲爱的先生们,我是一个新手!
我已经开始写我的第一个EA......,但我无法完成它。
目前,我正在策略 测试器中进行测试。
这很简单。
在10小时蜡烛开盘时,我在距离这根10小时蜡烛的开盘价60点的地方下了挂单。
我用它取得了一些成功。
但我必须删除挂单,如果它在下单后一小时内没有发生变化。
变成一个市场订单。
以下是我的代码。
int start()
{
double Price=Ask+60*Point;
double SL=Price-30*Point;
double TP=Price + 15*Point;
if(OrdersTotal()==0 && Hour()==10 && Minute()==00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP, "fjdu",123,TimeCurrent( ) + 3600)。
}
这段代码成功编译;测试器没有显示任何错误。
但是过期参数不起作用,即没有在1小时内转换为市场订单的挂单不会被删除。
我把数值3600改为3600000....,但什么也没有发生。
如果你能告诉我我的错误是什么,我将非常感激。
过期参数不起作用
最有可能的是,经纪人不支持它。可以肯定的是,你可以这样去做。
亲爱的先生们,我是一个新手!
我已经开始写我的第一个EA......,但我无法完成它。
目前,我正在策略测试器中进行测试。
这很简单。
在10小时蜡烛开盘时,我在距离这根10小时蜡烛开盘价60个点的地方下挂单。
我用它取得了一些成功。
但我必须删除挂单,如果它在下单后一小时内没有发生变化。
变成一个市场订单。
以下是我的代码。
int start()
{
double Price=Ask+60*Point;
double SL=Pric-30*Point;
双重TP=价格+15*点。
如果(OrdersTotal()==0 && Hour()==10 && Minute()==00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP, "fjdu",123,TimeCurrent( ) + 3600)。
}
这段代码成功地进行了编译和测试。
但是过期参数不起作用,即没有在1小时内转换为市场订单的挂单不会被删除。
我把数值3600改为3600000....,但什么也没有发生。
如果你能告诉我我的错误是什么,我将非常感激。
又有什么能阻止你在同一时间、同一地点制定删除条件呢?DC可能不符合你的到期条件。
最有可能的是,经纪人不支持它。可以肯定的是,你可以做到这一点。
我有一个终端Alpari.在模拟账户上,我手动设置了钟摆,并把到期 时间 - 1小时。一切都很好。
我读到,如果经纪商不支持这个参数,会有一个错误....,但没有错误。
测试正在运行......但订单没有被删除。
又是什么原因使你不能以相同的时间和分钟为条件进行删除?直流电可能不符合你的到期条件。
那么按小时和分钟计算呢?
谢谢你。
按小时和按分钟计算如何?
谢谢你。
应该用什么来代替过期参数?
而到了一小时零一分钟,怎么会这样呢?
谢谢你。
和你打开的时候一样,只是一个小时后的11点。我的做法不同,但这并不改变重点。
对不起,我很笨,但我不明白我是否需要在这个参数中改变什么。
如果是这样,如果你能根据需要在我的代码中插入过期参数,并将整行内容粘贴在你的答案文本中,我将非常感激。
谢谢你。
对不起,我很笨,但我不明白我是否需要在这个参数中改变什么。
如果是这样,如果你能根据需要在我的代码中插入过期参数,并将整行内容粘贴在你的回复文本中,我将非常感激。
谢谢你。
我可以建议以下变体。
如果(Hour()==11 && OrdersTotal()>0)
{
如果(OrderSelect(0,SELECT_BY_POS)==true)
{
如果(OrderType()==OP_BUYSTOP)
{
OrderDelete(OrderTicket())。
}
}
}
而且你不使用过期参数。缺点是,在交易时,电脑必须在连接互联网的情况下运行,并打开终端,以便平仓。