文章 "针对初学者以 MQL5 编写“EA 交易”的分步指南" - 页 12 1...5678910111213141516171819...30 新评论 Grenjohn 2014.10.28 12:02 #111 请原谅我,当时我不知道如何使用这个按钮,现在我想我知道了。extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.2; int ticket; void OnStart() { datetime date1=D'2014.10.28.13.22.13'; if(OrdersTotal()==0) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red); } if (OrdersTotal()==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00) { bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); bool close1=OrderClose(ticket,Lots,Bid,20,Green); } return(0); } [删除] 2014.10.28 12:22 #112 Grenjohn:请原谅我,当时我不知道如何使用这个按钮,现在我想我知道了。关键是条件:if( OrdersTotal() == 0 )它没有检查您指定的日期 date1 是否已经发生。现在,如果没有未结订单,您应该在第一个跳动点时立即下单!也就是说,您需要做的和这里一样、if (OrdersTotal()==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00)但要指定正确的日、时、分、秒(几秒钟)。是的,还有一件事。价格 sl 和 tp 应该标准化,否则可能会出错。 Grenjohn 2014.10.28 13:09 #113 它停止了与图表的连接,请告诉我将 sl 和 tp 价格正常化意味着什么?extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.3; int ticket; void OnStart() { datetime date1=D'2014.10.28.15.08.30'; if(OrdersTotal()==0 && Hour( )==15 && Minute( )==08 && Seconds( )>=30) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red); } if (OrdersTotal()==1 && Hour( )==15 && Minute( )==09 && Seconds( )>=00) { bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); bool close1=OrderClose(ticket,Lots,Bid,20,Green); } return(0); } Andrey Khatimlianskii 2014.10.28 14:26 #114 Grenjohn:请原谅,我不明白如何使用这个按钮,现在我想我明白了。extern datetime date1=D'2014.10.28 13:22:13'; extern datetime date2=D'2014.10.29 13:22:13'; extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.2; int ticket = 0; void OnStart() { static int flag = 0; switch ( flag ) { // 0 - 无位置 case 0: { // 当 date1 时间到时,打开一个仓位 if ( TimeCurrent() >= date1 ) { if ( ticket <= 0 ) { ticket = OrderSend( ... ); } if ( ticket > 0 ) { flag = 1; } } break; } // 1 是一个位置 case 1: { // 日期 2 到达时关闭位置 if ( TimeCurrent() >= date2 ) { if ( ticket > 0 && OrderSelect( ticket, SELECT_BY_TICKET ) && OrderCloseTime() <= 0 ) { if ( OrderClose( ticket, ... ) == true ) { ticket = 0; flag = 2; } } } break; } } }当日期 1 出现时,我们打开一个仓位,当日期 2 出现时,我们关闭它,之后我们什么也不做,直到重新启动。 [删除] 2014.10.28 16:10 #115 Grenjohn:有些东西已经停止与图表连接,请告诉我将 sl 和 tp 价格正常化意味着什么?https://www.mql5.com/zh/docs/convert/normalizedouble Документация по MQL5: Преобразование данных / NormalizeDouble www.mql5.com Преобразование данных / NormalizeDouble - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Grenjohn 2014.10.29 20:39 #116 非常感谢大家的帮助和耐心等待,但不幸的是,到目前为止,它还不起作用!?我想添加一个智能交易系统,但它没有被添加!?extern datetime date1=D'2014.10.29 22:29:10'; extern datetime date2=D'2014.10.29 21:30:00'; extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.30; int ticket = 0; void OnStart() { static int flag = 0; switch ( flag ) { // 0 - 无位置 case 0: { // 当 date1 时间到时,打开一个仓位 if ( TimeCurrent() >= date1 ) { if ( ticket <= 0 ) { ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red); } if ( ticket > 0 ) { flag = 1; } } break; } // 1 是一个位置 case 1: { // 日期 2 到达时关闭位置 if ( TimeCurrent() >= date2 ) { if ( ticket > 0 && OrderSelect( ticket, SELECT_BY_TICKET ) && OrderCloseTime() <= 0 ) { if ( OrderClose( ticket,Lots,Bid,20,Green) == true ) { ticket = 0; flag = 2; } } } break; } } } Andrey Khatimlianskii 2014.10.30 00:30 #117 Grenjohn:非常感谢大家的帮助和耐心等待,但不幸的是,到目前为止,它还不起作用!?我想添加一个智能交易系统,但它没有被添加!?这意味着您创建的不是智能交易系统,而是一个指标。通过向导 创建一个新的EA,然后只替换 OnStart 函数的代码和所有全局变量/外部参数。 [删除] 2014.10.30 05:34 #118 komposter:这意味着您创建的不是智能交易系统,而是一个指标。通过向导 创建一个新的EA,只替换 OnStart 函数的代码和所有全局变量/外部参数。 最有可能的情况是,他创建了一个智能交易系统,但使用的是 OnStart() 函数,该函数只适用于脚本。 [删除] 2014.10.30 05:40 #119 Grenjohn:非常感谢大家的帮助和耐心等待,但不幸的是,到目前为止,它还不起作用!?我试图添加一个智能交易系统,但它没有被添加!?在 MQL4 中创建一个新的智能交易系统,复制现有代码并替换以下行void OnStart()替换为void OnTick()这是为了以防万一,您想创建 一个智能交易系统。如果您想创建一个脚本,请创建一个新脚本,然后完全复制现有代码,不做任何更改(尽管在基于时间的交易中,脚本没有任何意义)。 Tron_KZ 2015.01.14 14:20 #120 来自文章: Новый бар характеризуется величиной тикового объема, равной 1, если он больше 1, то выполнение функции OnTick завершается.符合上述描述的代码在哪里?是我不明白,还是代码中没有这样的内容? 1...5678910111213141516171819...30 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请原谅我,当时我不知道如何使用这个按钮,现在我想我知道了。
请原谅我,当时我不知道如何使用这个按钮,现在我想我知道了。
关键是条件:
它没有检查您指定的日期 date1 是否已经发生。现在,如果没有未结订单,您应该在第一个跳动点时立即下单!也就是说,您需要做的和这里一样、
但要指定正确的日、时、分、秒(几秒钟)。
是的,还有一件事。价格 sl 和 tp 应该标准化,否则可能会出错。
它停止了与图表的连接,请告诉我将 sl 和 tp 价格正常化意味着什么?
请原谅,我不明白如何使用这个按钮,现在我想我明白了。
当日期 1 出现时,我们打开一个仓位,当日期 2 出现时,我们关闭它,之后我们什么也不做,直到重新启动。
有些东西已经停止与图表连接,请告诉我将 sl 和 tp 价格正常化意味着什么?
非常感谢大家的帮助和耐心等待,但不幸的是,到目前为止,它还不起作用!?
我想添加一个智能交易系统,但它没有被添加!?
非常感谢大家的帮助和耐心等待,但不幸的是,到目前为止,它还不起作用!?
我想添加一个智能交易系统,但它没有被添加!?
这意味着您创建的不是智能交易系统,而是一个指标。
通过向导 创建一个新的EA,然后只替换 OnStart 函数的代码和所有全局变量/外部参数。
这意味着您创建的不是智能交易系统,而是一个指标。
通过向导 创建一个新的EA,只替换 OnStart 函数的代码和所有全局变量/外部参数。
非常感谢大家的帮助和耐心等待,但不幸的是,到目前为止,它还不起作用!?
我试图添加一个智能交易系统,但它没有被添加!?
在 MQL4 中创建一个新的智能交易系统,复制现有代码并替换以下行
替换为
这是为了以防万一,您想创建 一个智能交易系统。如果您想创建一个脚本,请创建一个新脚本,然后完全复制现有代码,不做任何更改(尽管在基于时间的交易中,脚本没有任何意义)。
符合上述描述的代码在哪里?是我不明白,还是代码中没有这样的内容?