[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 481 1...474475476477478479480481482483484485486487488...631 新评论 Dimka-novitsek 2012.10.31 17:41 #4801 对不起,这是什么?OrderSend功能 对我来说是有效的,而OrderClose 则是在炫耀! elmucon 2012.10.31 17:49 #4802 Dimka-novitsek: 对不起,这是什么?OrderSend功能对我来说是有效的,而OrderClose则是在炫耀! total = OrdersTotal(); for(i=total-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); type = OrderType(); result = false; switch(type) { case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), l_SlipPage, Red ); break; case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), l_SlipPage, Red ); break; } if(!result) { error = GetLastError(); errorcomment = "Неудалось закрыть ордер №" + OrderTicket() + " " + Symbol() + " " + OrderType() + " " + ErrorDescript(error); Print(errorcomment); } } 这是一个关闭所有订单的例子,注意bai和sells是由bids和asks关闭的....。 Dimka-novitsek 2012.10.31 17:57 #4803 哦,谢谢你!!!。 Михаил 2012.10.31 18:06 #4804 7777877:非常感谢前面的回答。一切都在运作,几乎一切都很清楚...现在谈谈那个 "几乎"。1.在哪一行中(见附件中的指标文件),有迹象表明根据阵列数据计算的线应该显示在客户终端窗口?2.如果缓冲区的数量可以用字符串来声明,为什么需要 IndicatorBuffers 函数(或者说,在什么情况下应该使用它)?提前感谢您的回答 #property indicator_buffers 3 //объявляем количество буферов 该字符串用于声明终端中可见的指标缓冲区的数量。 IndicatorBuffers(4); //устанавливаем общее количество всех индикаторов, участвующих в расчете всех индикаторных линий此字符串用于声明指标用于计算的缓冲区总数(3个可见和1个隐藏)。如果你不需要任何额外的缓冲区,你就不需要这个字符串。缓冲区的数量不能超过8个,应小于 indicator_buffers 属性中指定的值。这里有 一个很好的例子。 Dimka-novitsek 2012.11.01 08:47 #4805 早晨好!告诉我,真的有必要将卖价和买价正常化吗?NormalizeDouble(Bid, Digits) 因为我是这样的for(int i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: if (OrderSymbol()!=Symbol( ) )continue; // Не наш фин. инструм if (OrderMagicNumber( ) !=magicnumber)continue; if (OrderType()==0){ BUY++; ticket=OrderTicket( );Print( "BUY++ " , BUY ," ticket ",ticket);} if (OrderType()==1) {SELL++;ticket=OrderTicket( );Print( "SELL++ " , SELL ," ticket ",ticket);} } } if (strela1<strela2&&SELL==0&&BUY!=0 ){ udalenie (); OrderSend(Symbol( ), OP_BUY, lot, Ask, 3*Point, NormalizeDouble( Bid- (stoplos*Point),Digits), NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE); Print( "strela1<strela2&&BUY==0&&SELL!=0 " , GetLastError()); } if (strela1>strela2){ udalenie (); OrderSend(Symbol( ), OP_SELL, lot, Bid, 3*Point, NormalizeDouble( Ask+ (stoplos*Point),Digits), NormalizeDouble( Ask-( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE) ; Print( "strela1>strela2&&SELL==0&&BUY!=0 " , GetLastError()); } if (strela1<strela2&&BUY==0&&SELL==0){ OrderSend( Symbol( ), OP_BUY, lot, Ask, 3*Point, NormalizeDouble( Bid- (stoplos*Point),Digits), NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE); Print( "strela1>strela2&&BUY==0&&SELL==0 " , GetLastError() ," Ask ",Ask," stoplos= NormalizeDouble( Bid- (stoplos*Point),Digits) ", NormalizeDouble( Bid- (stoplos*Point),Digits), " takeprofit= NormalizeDouble( Ask+( takeprofit*Point),Digits) ", NormalizeDouble( Ask+( takeprofit*Point),Digits)); } if (strela1>strela2&&BUY==0&&SELL==0){ 它是这样犯规的 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129ERR_INVALID_PRICE 129价格不正确 多年来都没有发生过这样的事情!昨天也没有发生 。 TarasBY 2012.11.01 09:17 #4806 Dimka-novitsek: 早晨好!告诉我,卖价和买价真的需要规范化吗? 因为我有这个它是这样犯规的 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129ERR_INVALID_PRICE 129 价格不正确 以前从未发生过!!昨天也没有看到。 在测试器中,你不需要这样做,但在联机中,如果你想工作,你必须做DC服务器规定的任何事情。 Mikhail Kozhemyako 2012.11.01 09:19 #4807 Dimka-novitsek: 早晨好!卖价和买价真的需要规范化吗?它是这样犯规的 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129ERR_INVALID_PRICE 129 价格不正确 多年来都没有发生过这样的事情!这也不是昨天的事 并非总是这样..."" 买入或卖出价格不正确,可能是非正常化的价格。你需要使用RefreshRates函数在延迟5秒或更长时间后刷新数据,并再次尝试。如果错误持续存在,有必要停止所有的交易 尝试,并改变程序逻辑。"""来自文件"。如果是在模拟或真实的情况下--这将不起作用。 你经常试图连续开出两个订单。这将在策略测试器中发挥作用。你需要在订单开放之间有一个延迟。 Dimka-novitsek 2012.11.01 09:21 #4808 谢谢你!!!。放在正常化的...还有该死的--到底发生了什么事,!!!!!!我的头着火了。似乎比高中的几何学更容易。 TarasBY 2012.11.01 09:23 #4809 Sepulca: 并非总是这样..."" 买入或卖出价格不正确,可能是非正常化价格。你需要使用RefreshRates函数在延迟5秒或更长时间后刷新数据,并再次尝试。如果错误持续存在,有必要停止所有的交易尝试,并改变程序逻辑。"""来自文件"。如果是在模拟或真实的情况下--这将不起作用。 你经常试图连续开出两个订单。这将在策略测试器中发挥作用。在开放的订单之间设置一个延迟。"不总是 "是什么意思?该代码必须是通用的,也就是说,它必须与任何一家经纪公司合作(无论报价中的数字是多少,以及经纪公司服务器拒绝及时执行交易指令 的各种技巧)! Dimka-novitsek 2012.11.01 09:26 #4810 还有,阿片剂如果有问题!!!。 1...474475476477478479480481482483484485486487488...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
对不起,这是什么?OrderSend功能对我来说是有效的,而OrderClose则是在炫耀!
非常感谢前面的回答。一切都在运作,几乎一切都很清楚...现在谈谈那个 "几乎"。
1.在哪一行中(见附件中的指标文件),有迹象表明根据阵列数据计算的线应该显示在客户终端窗口?
2.如果缓冲区的数量可以用字符串来声明,为什么需要 IndicatorBuffers 函数(或者说,在什么情况下应该使用它)?
提前感谢您的回答
#property indicator_buffers 3 //объявляем количество буферов
该字符串用于声明终端中可见的指标缓冲区的数量。
此字符串用于声明指标用于计算的缓冲区总数(3个可见和1个隐藏)。
如果你不需要任何额外的缓冲区,你就不需要这个字符串。
缓冲区的数量不能超过8个,应小于 indicator_buffers 属性中指定的值。这里有 一个很好的例子。
它是这样犯规的 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129
ERR_INVALID_PRICE 129价格不正确 多年来都没有发生过这样的事情!昨天也没有发生
。
早晨好!告诉我,卖价和买价真的需要规范化吗? 因为我有这个
它是这样犯规的 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129
ERR_INVALID_PRICE 129 价格不正确 以前从未发生过!!昨天也没有看到。
早晨好!卖价和买价真的需要规范化吗?
它是这样犯规的 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129
ERR_INVALID_PRICE 129 价格不正确 多年来都没有发生过这样的事情!这也不是昨天的事
并非总是这样...
"" 买入或卖出价格不正确,可能是非正常化的价格。你需要使用RefreshRates函数在延迟5秒或更长时间后刷新数据,并再次尝试。如果错误持续存在,有必要停止所有的交易 尝试,并改变程序逻辑。"""来自文件"。
如果是在模拟或真实的情况下--这将不起作用。 你经常试图连续开出两个订单。这将在策略测试器中发挥作用。你需要在订单开放之间有一个延迟。
谢谢你!!!。放在正常化的...还有该死的--到底发生了什么事,!!!!!!我的头着火了。似乎比高中的几何学更容易。
并非总是这样...
"" 买入或卖出价格不正确,可能是非正常化价格。你需要使用RefreshRates函数在延迟5秒或更长时间后刷新数据,并再次尝试。如果错误持续存在,有必要停止所有的交易尝试,并改变程序逻辑。"""来自文件"。
如果是在模拟或真实的情况下--这将不起作用。 你经常试图连续开出两个订单。这将在策略测试器中发挥作用。在开放的订单之间设置一个延迟。