任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 537 1...530531532533534535536537538539540541542543544...1178 新评论 Artyom Trishkin 2014.03.10 00:24 #5361 VoDyaMon: 如果你写一个简单的脚本,创建一个类型为OBJ_ARROW_RIGHT_PRICE的对象,然后将其删除,该对象并没有被删除。此外,ObjectType命令突然发现,创建的对象不是OBJ_ARROW_RIGHT_PRICE类型(==36),而是==22,即一个简单的 "向上的箭头"!!!。我是唯一一个有这种情况的人,还是所有人都有这种情况? 在这个问题上已经有了 "专家 "的意见:如阅读帮助,或没有足够的内存:)。 记忆是足够的。 看起来ObjectCreate 命令绘制了一个OBJ_ARROW_RIGHT_PRICE类型的对象 ,它不能被ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)命令删除,但可以被ObjectsDeleteAll(0,22)命令删除,就好像我们没有正确的价格标签,而是一个 "向上箭头"。 这是谁的错? ......... 要删除一个OBJ_ARROW_RIGHT_PRICE类型的对象,请使用ObjectsDeleteAll(0,OBJ_ARROW)命令,并强制指明子窗口。 p.s. OBJ_ARROW类型的对象是任何 "箭头",而不仅仅是 "向上箭头"。 ObjectCreate(...OBJ_ARROW...)立即创建一个 "向上箭头"。为什么它不在帮助中呢? 写在这个 主题里。至少开发商在那里。 Vitalie Postolache 2014.03.10 02:40 #5362 有一个脚本。 #property show_confirm; int slip=5; void start() { for(int i=OrdersTotal()-1;i<=0;i--) { int p=0; double price=0; if(OrderSelect(i,SELECT_BY_POS)) { switch(OrderType()) { case 0: price = MarketInfo(OrderSymbol(),MODE_BID); break; case 1: price = MarketInfo(OrderSymbol(),MODE_ASK); break; default: break; } while(p<5) { bool tik= OrderClose(OrderTicket(),OrderLots(),price,slip,Red); if(tik==true) break; else { p++; Print(__FUNCTION__,"_Error_",GetLastError()); Sleep(1000); } } } } } 这甚至没有试图关闭目前开放的单一市场订单。为什么? 它没有在日志中写任何错误。 2014.03.10 04:39:11.093 脚本 closeallmarket AUDUSD,M30: 删除<br / translate="no"> 2014.03.10 04:39:11.093 closeallmarket AUDUSD,M30: uninit reason 0 2014.03.10 04:39:11.093 closeallmarket AUDUSD,M30: 已初始化 2014.03.10 04:39:10.109 Script closeallmarket AUDUSD,M30: loaded successfully Alexander 2014.03.10 03:42 #5363 替换 for(int i=OrdersTotal()-1;i<=0;i--) 至 for(int i=OrdersTotal()-1;i>=0;i--) Денис Клоноз 2014.03.10 04:34 #5364 专业人士先生,您好!不要拒绝一个编程的新人,看看代码,看看它写得是否正确。谁不是懒得去处理。我无法在策略测试器中进行测试,因为它是多货币。带有代码和指标的文件附在档案中。 附加的文件: pupper_master_v_1.0.dauto.zip 138 kb red-nicolas 2014.03.10 05:03 #5365 下午。 我不能从php到mql4做一个代码模拟。 $massiv = array( "1" => 0.2145, "2" => 1.5447, "3" => 0.3544, "4" => 3.6541, "5" => 6.5441, "6" => 4.3217, "7" => 5.8354, "8" => 7.6877 ); asort($massiv); $i=0; foreach ($massiv as $key => $val){$i++;$massiv[$key]=$i;} $a=""; ksort($massiv); foreach ($massiv as $key => $val){$a=$a.$val.".";} 就是说,从一个数组中。 "1" => 0.2145, "2" => 1.5447, "3" => 0.3544, "4" => 3.6541, "5" => 6.5441, "6" => 4.3217, "7" => 5.8354, "8" => 7.6877 需要得到一个数组 "1" => 1, "2" => 3, "3" => 2, "4" => 4, "5" => 7, "6" => 5, "7" => 6, "8" => 8 需要帮助。 Vitalie Postolache 2014.03.10 07:54 #5366 Roger: 替换 至 哦......。伙计,那是另一个时间,谢谢)))) Vitalie Postolache 2014.03.10 09:26 #5367 我想写一个简单的EA,当我的账户达到指定的存款货币的盈利或亏损值时关闭所有的头寸(我是按几个符号开的),但它一出现就关闭了头寸((())。 我不明白什么是错的。 input double tp_c = 80.0; input double sl_c = 120.0; input int slip=5; double profit_c = 0.0; void OnTick() { currencyprofit(); if(profit_c > tp_c || profit_c < sl_c) closeall(); } double currencyprofit() { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) profit_c = profit_c + OrderProfit(); } return(profit_c); } void closeall() { for(int i=OrdersTotal()-1;i>=0;i--) { int p=0; double price=0; if(OrderSelect(i,SELECT_BY_POS)) { switch(OrderType()) { case 0: price = MarketInfo(OrderSymbol(),MODE_BID); break; case 1: price = MarketInfo(OrderSymbol(),MODE_ASK); break; default: break; } bool tik= OrderClose(OrderTicket(),OrderLots(),price,slip,Red); if(tik==false) { Print(__FUNCTION__,"_Error_",GetLastError()); Sleep(3000); break; } } } } Sergey Gustaytis 2014.03.10 09:30 #5368 denis77515:专业人士先生,您好!不要拒绝一个编程的新人,看看代码,看看它写得是否正确。谁不是懒得去处理。我无法在策略测试器中进行测试,因为它是多货币。我在档案中附上了一个带有代码和指标 的文件。 我非常感兴趣的是,一个初学者是如何下定决心用这样的专家顾问进行交易,并编写一个交易系统,这是很值得的。我不为存款感到遗憾? 代码显示了很多错误,却没有进入交易算法,没有试图优化它。 请找出你的函数CountBuy_JPY()CountSell_JPY()CountBuy_GBP()之间的区别,在任何一个函数的输出中,你都会得到相同的结果,在买入中是所有未结的买入头寸,在其他中是所有的Sal头寸。试着把所有这些函数写在一起,得到两个带有符号和订单数量 的链接数组。 你与测试者的距离就像月亮一样遥远。你应该为每个函数写脚本,看看你得到什么,然后运行调试器,看看所有的变量。这是你逐渐向前迈进的唯一途径 Sergey Gustaytis 2014.03.10 09:35 #5369 evillive:我想写一个简单的EA,当我的账户达到指定的存款货币的盈利或亏损值时关闭所有的头寸(我是按几个符号开的),但它一出现就关闭了头寸((())。我不明白什么是错的。 分析条件......。而且建议是一样的,使用打印出来的脚本,暂时把交易操作 注释掉,调试 。 if(profit_c > tp_c || profit_c < sl_c) closeall(); profit_c > 80 ИЛИ profit_c < 120 [删除] 2014.03.10 09:40 #5370 evillive: 我想写一个简单的EA,当我的账户达到指定的存款货币的盈利或亏损值时关闭所有的头寸(我是按几个符号开的),但它一出现就关闭了头寸((())。 我不明白什么是错的。 input double tp_c = 80.0; input double sl_c = - 120.0; //// minus 120 input int slip=5; double profit_c ; void OnTick() { currencyprofit(); if(profit_c > tp_c || profit_c < sl_c) closeall(); } double currencyprofit() { profit_c = 0.0; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) profit_c = profit_c + OrderProfit(); } return(profit_c); } void closeall() { for(int i=OrdersTotal()-1;i>=0;i--) { int p=0; double price=0; if(OrderSelect(i,SELECT_BY_POS)) { switch(OrderType()) { case 0: price = MarketInfo(OrderSymbol(),MODE_BID); break; case 1: price = MarketInfo(OrderSymbol(),MODE_ASK); break; default: break; } bool tik= OrderClose(OrderTicket(),OrderLots(),price,slip,Red); if(tik==false) { Print(__FUNCTION__,"_Error_",GetLastError()); Sleep(3000); break; } } } } 1...530531532533534535536537538539540541542543544...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果你写一个简单的脚本,创建一个类型为OBJ_ARROW_RIGHT_PRICE的对象,然后将其删除,该对象并没有被删除。此外,ObjectType命令突然发现,创建的对象不是OBJ_ARROW_RIGHT_PRICE类型(==36),而是==22,即一个简单的 "向上的箭头"!!!。我是唯一一个有这种情况的人,还是所有人都有这种情况?
在这个问题上已经有了 "专家 "的意见:如阅读帮助,或没有足够的内存:)。
记忆是足够的。
看起来ObjectCreate 命令绘制了一个OBJ_ARROW_RIGHT_PRICE类型的对象 ,它不能被ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)命令删除,但可以被ObjectsDeleteAll(0,22)命令删除,就好像我们没有正确的价格标签,而是一个 "向上箭头"。 这是谁的错?
.........
要删除一个OBJ_ARROW_RIGHT_PRICE类型的对象,请使用ObjectsDeleteAll(0,OBJ_ARROW)命令,并强制指明子窗口。
p.s. OBJ_ARROW类型的对象是任何 "箭头",而不仅仅是 "向上箭头"。 ObjectCreate(...OBJ_ARROW...)立即创建一个 "向上箭头"。为什么它不在帮助中呢?
有一个脚本。
这甚至没有试图关闭目前开放的单一市场订单。为什么?
它没有在日志中写任何错误。
2014.03.10 04:39:11.093 closeallmarket AUDUSD,M30: 已初始化
2014.03.10 04:39:10.109 Script closeallmarket AUDUSD,M30: loaded successfully
替换
至
专业人士先生,您好!不要拒绝一个编程的新人,看看代码,看看它写得是否正确。谁不是懒得去处理。我无法在策略测试器中进行测试,因为它是多货币。带有代码和指标的文件附在档案中。
下午。
我不能从php到mql4做一个代码模拟。
就是说,从一个数组中。
需要得到一个数组
需要帮助。
替换
至
哦......。伙计,那是另一个时间,谢谢))))
我想写一个简单的EA,当我的账户达到指定的存款货币的盈利或亏损值时关闭所有的头寸(我是按几个符号开的),但它一出现就关闭了头寸((())。
我不明白什么是错的。
专业人士先生,您好!不要拒绝一个编程的新人,看看代码,看看它写得是否正确。谁不是懒得去处理。我无法在策略测试器中进行测试,因为它是多货币。我在档案中附上了一个带有代码和指标 的文件。
我非常感兴趣的是,一个初学者是如何下定决心用这样的专家顾问进行交易,并编写一个交易系统,这是很值得的。我不为存款感到遗憾?
代码显示了很多错误,却没有进入交易算法,没有试图优化它。
请找出你的函数CountBuy_JPY()CountSell_JPY()CountBuy_GBP()之间的区别,在任何一个函数的输出中,你都会得到相同的结果,在买入中是所有未结的买入头寸,在其他中是所有的Sal头寸。试着把所有这些函数写在一起,得到两个带有符号和订单数量 的链接数组。
你与测试者的距离就像月亮一样遥远。你应该为每个函数写脚本,看看你得到什么,然后运行调试器,看看所有的变量。这是你逐渐向前迈进的唯一途径
我想写一个简单的EA,当我的账户达到指定的存款货币的盈利或亏损值时关闭所有的头寸(我是按几个符号开的),但它一出现就关闭了头寸((())。
我不明白什么是错的。
。
我想写一个简单的EA,当我的账户达到指定的存款货币的盈利或亏损值时关闭所有的头寸(我是按几个符号开的),但它一出现就关闭了头寸((())。
我不明白什么是错的。