任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 701 1...694695696697698699700701702703704705706707708...1178 新评论 Maksim Slovakov 2014.09.07 05:57 #7001 这样解决了。int nday; if(OrdersTotal()==0) { double lot=(AccountBalance()/ MinLot)*0.01; if(center>Ask && pokupaem>0 && prodaem<1 && prodaem1<1 && SelBuyDaily==Vhodim1 && proverka==1) { x=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,Komment,Magic,0,Blue); nday=DayOfYear(); } if(OrderSelect(x,SELECT_BY_TICKET)==true) { if((OrdersTotal()>0 && OrderCloseTime()==0 && OrderType()==OP_BUY) && (nday<DayOfYear() || OrderOpenTime()<iTime(NULL,0,0))) { if(pokupaem>0 && prodaem<1 && Ask+atr<OrderOpenPrice() && proverka==1) { x=OrderSend(Symbol(),OP_BUY,OrderLots()*Ml,Ask,3,0,0,Komment,Magic,0,Blue); nday=DayOfYear(); } } } Any rookie question, so 10点3.mq4 [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. Boris 2014.09.07 07:41 #7002 我第一次尝试在循环中写出开仓,因为我不排除在其他货币对上也开仓。但由于某些原因,循环中没有任何东西可以打开!我真的需要一个特殊的环来打开它们吗!?是的,我只在测试器中检查了它!我写了一个正常的。 optal = OrdersTotal(); for(op = optal-1; op >= 0; op--) { if(OrderSelect(op,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol() != Symbol()) continue; if(OrderMagicNumber() != magic) continue; // и т.д.开立订单、仓位有什么问题?谢谢你的帮助! Valeriy Korobeynik 2014.09.07 07:47 #7003 borilunad:我第一次尝试在循环中写出开仓,因为我不排除在其他货币对上也开仓。但由于某些原因,循环中没有任何东西可以打开!我真的需要一个特殊的环来打开它们吗!?是的,我只在测试器中检查了它!我写了一个正常的。开立订单、仓位有什么问题?谢谢你的帮助! 在没有订单之前,这个周期不会开始。一般来说,循环的意义何在? Alexey Viktorov 2014.09.07 08:00 #7004 borilunad:我第一次尝试在循环中写出开仓,因为我不排除在其他货币对上也开仓。但由于某些原因,循环中没有任何东西可以打开!我真的需要一个特殊的环来打开它们吗!?我写了一个正常的。开立订单、仓位有什么问题?谢谢你的帮助! 循环的执行速度比交易线程的释放速度快。这就是为什么我们应该添加一个延迟循环,而(!IsTradeContextBusy()) 睡眠(100)。 Boris 2014.09.07 08:06 #7005 valeryk: 除非没有订单,否则循环不会开始。循环的目的是什么? 谢谢你!我也是这么想的!因此,如果,例如,我想在第一对上打开,没有循环就够了,但有if(OrdersTotal== 0)。而当我想打开另一个相同或另一双的订单时,我需要一个循环,它就会起作用!我现在就去试试!我想我将不得不改变开幕式中的很多东西,但原则上我明白我应该怎么做!我想这是一个很好的机会。谢谢你! Alexey Viktorov 2014.09.07 10:37 #7006 事实上,一些有害的逻辑。我没有仔细看,首先....为什么我们在开单时需要OrdersTotal()?那么,如果我们需要在循环中打开几个订单,循环必须根据必要的订单数量来组织。而如果我们需要不断地支持这个数字,我们必须使用其他的规则。例如,我们需要开设7个订单。for(int i = 0; i < 7; i++) { while(!IsTradeContextBusy()) Sleep(100); // Ожидание освобождения торгового потока int ticket = OrderSend(Symbol(), ..............); // Открытие ордера if(ticket > 0) Print("Открылся ордер № ", i, " ticket - ", ticket); // Проверка пропусков при открытии. } 但这是一个简短的变体。一个好主意是在开单时增加错误处理功能 Boris 2014.09.07 11:01 #7007 AlexeyVik:事实上,一些有害的逻辑。我没有仔细看第一....为什么我们在开单时需要OrdersTotal()?那么,如果我们需要在循环中打开几个订单,循环必须根据必要的订单数量来组织。而如果我们需要不断地支持这个数字,我们必须使用其他的规则。例如,我们需要建立7个订单 但这是一个简短的变体。一个好主意是在打开订单时增加错误处理! 谢谢你!但我需要一个循环,这样猫头鹰就不会看到其他的配对了!"。我将在以后处理错误!当日志中出现错误130时,我甚至很高兴,这意味着它是有效的!"。错误是在我的外部函数 中处理的!再次感谢! Alexey Viktorov 2014.09.07 11:19 #7008 borilunad: 谢谢你!但我需要一个循环,这样猫头鹰就不会看到其他的配对!"。我以后会处理这些错误的!"。当日志中出现错误130时,我甚至感到很高兴,所以它在工作了!"。错误是在我的外部函数中处理的!再次感谢! 这就是逻辑的险恶性。猫头鹰不可能看不到其他配对。它可以而且应该被强制不处理其他符号的已经打开的订单。在OrderSend(............)函数 中,你应该写上某个Symbol()或以文本格式,例如 "EURUSD"......无论你在那里写什么,都会被打开。或者你可以尝试打开它... Victor Nikolaev 2014.09.07 11:29 #7009 AlexeyVik:事实上,一些有害的逻辑。我没有仔细看第一....为什么我们在开单时需要OrdersTotal()?那么,如果我们需要在循环中打开几个订单,循环必须根据必要的订单数量来组织。而如果我们需要不断地支持这个数字,我们必须使用其他的规则。例如,我们需要建立7个订单 但这是一个简短的变体。一个好主意是在开单时增加错误处理功能 这是一个很好的方法来检查我们是否可以在一个tick中打开多达8个订单。我们被承诺过,但还没有人检查过它们 Alexey Viktorov 2014.09.07 12:17 #7010 Vinin: 一个测试在一个tick中最多开出八个订单的能力的好方法。我们被承诺过,但还没有人检查过它们 我不明白... 1...694695696697698699700701702703704705706707708...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这样解决了。
int nday;
if(OrdersTotal()==0)
{
double lot=(AccountBalance()/ MinLot)*0.01;
if(center>Ask && pokupaem>0 && prodaem<1 && prodaem1<1 && SelBuyDaily==Vhodim1 && proverka==1)
{
x=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,Komment,Magic,0,Blue);
nday=DayOfYear();
}
if(OrderSelect(x,SELECT_BY_TICKET)==true)
{
if((OrdersTotal()>0 && OrderCloseTime()==0 && OrderType()==OP_BUY) && (nday<DayOfYear() || OrderOpenTime()<iTime(NULL,0,0)))
{
if(pokupaem>0 && prodaem<1 && Ask+atr<OrderOpenPrice() && proverka==1)
{
x=OrderSend(Symbol(),OP_BUY,OrderLots()*Ml,Ask,3,0,0,Komment,Magic,0,Blue);
nday=DayOfYear();
}
}
}
我第一次尝试在循环中写出开仓,因为我不排除在其他货币对上也开仓。
但由于某些原因,循环中没有任何东西可以打开!我真的需要一个特殊的环来打开它们吗!?是的,我只在测试器中检查了它!
我写了一个正常的。
开立订单、仓位有什么问题?谢谢你的帮助!
我第一次尝试在循环中写出开仓,因为我不排除在其他货币对上也开仓。
但由于某些原因,循环中没有任何东西可以打开!我真的需要一个特殊的环来打开它们吗!?是的,我只在测试器中检查了它!
我写了一个正常的。
开立订单、仓位有什么问题?谢谢你的帮助!
在没有订单之前,这个周期不会开始。一般来说,循环的意义何在?
我第一次尝试在循环中写出开仓,因为我不排除在其他货币对上也开仓。
但由于某些原因,循环中没有任何东西可以打开!我真的需要一个特殊的环来打开它们吗!?
我写了一个正常的。
开立订单、仓位有什么问题?谢谢你的帮助!
除非没有订单,否则循环不会开始。循环的目的是什么?
谢谢你!我也是这么想的!因此,如果,例如,我想在第一对上打开,没有循环就够了,但有if(OrdersTotal== 0)。而当我想打开另一个相同或另一双的订单时,我需要一个循环,它就会起作用!我现在就去试试!
我想我将不得不改变开幕式中的很多东西,但原则上我明白我应该怎么做!我想这是一个很好的机会。谢谢你!
事实上,一些有害的逻辑。我没有仔细看,首先....为什么我们在开单时需要OrdersTotal()?
那么,如果我们需要在循环中打开几个订单,循环必须根据必要的订单数量来组织。而如果我们需要不断地支持这个数字,我们必须使用其他的规则。
例如,我们需要开设7个订单。
但这是一个简短的变体。一个好主意是在开单时增加错误处理功能事实上,一些有害的逻辑。我没有仔细看第一....为什么我们在开单时需要OrdersTotal()?
那么,如果我们需要在循环中打开几个订单,循环必须根据必要的订单数量来组织。而如果我们需要不断地支持这个数字,我们必须使用其他的规则。
例如,我们需要建立7个订单
但这是一个简短的变体。一个好主意是在打开订单时增加错误处理!
谢谢你!但我需要一个循环,这样猫头鹰就不会看到其他的配对了!"。我将在以后处理错误!当日志中出现错误130时,我甚至很高兴,这意味着它是有效的!"。错误是在我的外部函数 中处理的!再次感谢!
谢谢你!但我需要一个循环,这样猫头鹰就不会看到其他的配对!"。我以后会处理这些错误的!"。当日志中出现错误130时,我甚至感到很高兴,所以它在工作了!"。错误是在我的外部函数中处理的!再次感谢!
事实上,一些有害的逻辑。我没有仔细看第一....为什么我们在开单时需要OrdersTotal()?
那么,如果我们需要在循环中打开几个订单,循环必须根据必要的订单数量来组织。而如果我们需要不断地支持这个数字,我们必须使用其他的规则。
例如,我们需要建立7个订单
但这是一个简短的变体。一个好主意是在开单时增加错误处理功能这是一个很好的方法来检查我们是否可以在一个tick中打开多达8个订单。我们被承诺过,但还没有人检查过它们
一个测试在一个tick中最多开出八个订单的能力的好方法。我们被承诺过,但还没有人检查过它们
我不明白...