[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 621 1...614615616617618619620621622623624625626627628...631 新评论 Vladyslav Goshkov 2012.12.11 13:34 #6201 Desead: 例如,如果我决定用C/C++编写一个机器人,请帮助我。写一个不是问题,但我如何将其与metatrader连接起来?如何获得报价,如何发回买入/卖出信号? DLL--见示例。一个知道如何用C/C++写作的程序员,有可能无法处理МТ交付的标准例子,尽管论坛上有很多材料? Alexey Oreshkin 2012.12.11 13:50 #6202 VladislavVG: DLL--见示例。一个知道如何用C/C++写作的程序员有可能无法理解МТ交付的标准例子,尽管论坛上有很多材料? 我不是一个程序员,但有时会自己写一些最简单的东西。我不需要用任何语言写一个复杂的机器人,这完全不是问题。我想写一个 有自己接口的机器人,而不是以dll的形式执行部分功能,并从μl中调用它们。感谢上帝,有很多不同的视觉语言可以做到这一点,而没有很大的压力。 [Удален] 2012.12.11 13:52 #6203 lottamer: 是的,我现在明白了为什么在循环中的时间和在General.... 的时间有一个比较。我也明白这个逻辑--标记 "A",然后排除 "A",但首先,在这个 "A "可以被钉住的地方的所有选项我都试过了--而且顾问仍然把最后一张票还给我,而不是倒数第二张。.我输入了2个循环(2个函数)--第一个是你的原文,第二个是除 "A "以外的。一个接一个地运行。打印0.... 这个函数使用局部变量,所以它不应该作为一个单独的函数运行是次,在一个函数中一个接一个地做两个循环,或者将A声明为一个全局变量。我去买烟,你试试,如果不行,等我回来敲我,我们再想办法。 [Удален] 2012.12.11 14:20 #6204 Desead: 我不是一个程序员,但有时我会自己写最简单的东西。我想用任何语言写一个简单的机器人,这完全不是问题。我想在不调用Metatrader的情况下,用自己的界面写一个完整的机器人,而不是将其部分功能放在dll中,从μl中调用。我发明了很多不同的视觉语言,在这些语言中可以不费吹灰之力就能做到这一点。 如果你根本不想使用终端功能(超过一百种不同的内置功能,内置指标,程序界面本身),那么这就不是一个简单的专家顾问,而是你自己的终端,你自己的发展,我认为他们很难帮助你,特别是在这个分支。 elllfix 2012.12.11 14:21 #6205 rigonich: 这个函数使用局部变量,所以不要把它作为一个单独的函数运行是次,不要在一个函数中一个接一个地做两个循环,也不要把A声明为一个全局变量。我跑出去买烟,你一边试,如果你失败了,等我回来敲我的门,我们再想办法。 IS!!!!,有一个小错误......应该打印的不是Ticket而是LastClosetPoz()和Sec_LastClosetPoz()。我相信我的版本并不是最优雅的......但它是有效的......你如何将两个循环放在一个函数中......。我不知道......我试过了......我得到了错误......让它见鬼去吧!(如果不是太麻烦的话--给我看看--对我有用,如果不是的话--好吧,算了......)总之谢谢。然而,我有一种感觉,如果我需要弄清楚第35笔已完成的交易的票据......我的方法就会有麻烦了:)))) hahahah。天哪,这甚至还没有出现在地平线上......最多三个...... elllfix 2012.12.11 14:48 #6206 rigonich: 这个函数使用局部变量,所以不要把它作为一个单独的函数运行是次,不要在一个函数中一个接一个地做两个循环,也不要把A声明为一个全局变量。我去买点烟,你可以试试,如果不行,等我回来敲我,我们再想办法。 在我插入以下内容之前,一直在工作如果(OrderSelect( (LastClosetPoz (),SELECT_BY_TICKET)==true))Print("Stop loss", OrderStopLoss();誓词')'- 错误的参数计数 G:\Program_Files_2\MT4-demo\experts\000.mq4 (57, 60)我不明白它想要什么?--------------------------------------------------------------------------------------------想通了==true....这很奇怪,因为教程中的例子总是这么说......。而且它还将止损值四舍五入到第四位数......。 [Удален] 2012.12.11 14:51 #6207 lottamer: IS!!!!,有一个小错误......打印的内容应该是LastClosetPoz()和Sec_LastClosetPoz()而不是Ticket。我相信我的版本不是最优雅的......但它是有效的... 如何在一个函数中插入两个循环...我不知道......我试过了......我得到了错误......让它见鬼去吧!(如果不是太麻烦的话--给我看看--对我有用,如果不是的话--好吧,算了......)总之谢谢。然而,我有一种感觉,如果我需要弄清楚第35笔已完成的交易的票据......我的方法就会有问题了:)))),哈哈哈。天哪,这甚至还没有出现在地平线上......最多三个......int Ticket1,Ticket2。//+------------------------------------------------------------------+int fLastClosetPoz(){int Tot=OrdersHistoryTotal(),A,i;Ticket1=-1;Ticket2=-1; datetime time=0;如果(Tot>0){for(i=0;i<OrdersHistoryTotal();i++){如果(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) ==true){如果(OrderSymbol()==Symbol()){如果(OrderCloseTime()>time){time=OrderCloseTime();Ticket1=OrderTicket()。}}}否则继续。}}Tot=OrdersHistoryTotal();A=Ticket1;time=0。如果(Tot>0){for(i=0;i<OrdersHistoryTotal();i++){如果(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true){如果(OrderTicket()==A)继续。如果(OrderSymbol()==Symbol()){如果(OrderCloseTime()>time){time=OrderCloseTime();Ticket2=OrderTicket()。}}}否则继续。}}return(0);}//+------------------------------------------------------------------+P.S. 而且你需要使用嵌套循环(即循环中的循环) 来确定第35笔封闭交易。 [ARCHIVE!] Any rookie question, 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 帮助添加MaxTradesPerBar到EA elllfix 2012.12.11 14:59 #6208 rigonich: int Ticket1,Ticket2。//+------------------------------------------------------------------+int fLastClosetPoz(){int Tot=OrdersHistoryTotal(),A,i;Ticket1=-1;Ticket2=-1; datetime time=0;如果(Tot>0){for(i=0;i<OrdersHistoryTotal();i++){如果(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true){如果(OrderSymbol()==Symbol()){如果(OrderCloseTime()>time){time=OrderCloseTime();Ticket1=OrderTicket()。}}}否则继续。}}Tot=OrdersHistoryTotal();A=Ticket1;time=0。如果(Tot>0){for(i=0;i<OrdersHistoryTotal();i++){如果(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true){如果(OrderTicket()==A)继续。如果(OrderSymbol()==Symbol()){如果(OrderCloseTime()>time){time=OrderCloseTime();Ticket2=OrderTicket()。}}}否则继续。}}return(0);}//+------------------------------------------------------------------+ 打印零......不工作......不会再挖了,因为很明显,循环被简单地替换了一个--体积显然没有减少.....,我们已经有了一个工作版本。我可以在第一个变体中比较订单......而在这里我甚至看不到第二个变体在哪里......而第一个变体是零......。经过一些小修小补......这显然是在开发大脑,这个代码也成功了!:)) 谢谢 [Удален] 2012.12.11 15:15 #6209 lottamer: 在我插入以下内容之前,一直在工作如果 (Print("Stop loss", OrderStopLoss();)Print("Stop loss", OrderStopLoss();誓词')'- 错误的参数计数 G:\Program_Files_2\MT4-demo\experts\000.mq4 (57, 60)我不明白它想要什么? 同样是45,在这种形式下,OrderSelect(LastClosetPoz(),SELECT_BY_TICKET)默认在挂单和开单中选择,而这个订单不在其中。 把OrderSelect(LastClosetPoz(),SELECT_BY_TICKET, MODE_HISTORY) [Удален] 2012.12.11 15:38 #6210 lottamer: 打印零......不工作......我不会再深究了,因为很明显,周期只是用一个替换另一个--量显然没有减少.....,我们已经有一个工作的变体。此外,在第一个变体中,我可以比较订单......而在这里,我甚至看不到第二个变体在哪里......而第一个变体是零......。经过一些小修小补......这显然是在开发大脑,这个代码也成功了!:)) 谢谢 只要在函数调用 后打印Ticket1和Ticket2 变量即可。 1...614615616617618619620621622623624625626627628...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
例如,如果我决定用C/C++编写一个机器人,请帮助我。写一个不是问题,但我如何将其与metatrader连接起来?如何获得报价,如何发回买入/卖出信号?
DLL--见示例。一个知道如何用C/C++写作的程序员,有可能无法处理МТ交付的标准例子,尽管论坛上有很多材料?
DLL--见示例。一个知道如何用C/C++写作的程序员有可能无法理解МТ交付的标准例子,尽管论坛上有很多材料?
我不是一个程序员,但有时会自己写一些最简单的东西。我不需要用任何语言写一个复杂的机器人,这完全不是问题。我想写一个 有自己接口的机器人,而不是以dll的形式执行部分功能,并从μl中调用它们。感谢上帝,有很多不同的视觉语言可以做到这一点,而没有很大的压力。
是的,我现在明白了为什么在循环中的时间和在General.... 的时间有一个比较。
我也明白这个逻辑--标记 "A",然后排除 "A",但首先,在这个 "A "可以被钉住的地方的所有选项我都试过了--而且顾问仍然把最后一张票还给我,而不是倒数第二张。
.
我输入了2个循环(2个函数)--第一个是你的原文,第二个是除 "A "以外的。一个接一个地运行。
打印0....
这个函数使用局部变量,所以它不应该作为一个单独的函数运行是次,在一个函数中一个接一个地做两个循环,或者将A声明为一个全局变量。我去买烟,你试试,如果不行,等我回来敲我,我们再想办法。
我不是一个程序员,但有时我会自己写最简单的东西。我想用任何语言写一个简单的机器人,这完全不是问题。我想在不调用Metatrader的情况下,用自己的界面写一个完整的机器人,而不是将其部分功能放在dll中,从μl中调用。我发明了很多不同的视觉语言,在这些语言中可以不费吹灰之力就能做到这一点。
如果你根本不想使用终端功能(超过一百种不同的内置功能,内置指标,程序界面本身),那么这就不是一个简单的专家顾问,而是你自己的终端,你自己的发展,我认为他们很难帮助你,特别是在这个分支。
这个函数使用局部变量,所以不要把它作为一个单独的函数运行是次,不要在一个函数中一个接一个地做两个循环,也不要把A声明为一个全局变量。我跑出去买烟,你一边试,如果你失败了,等我回来敲我的门,我们再想办法。
IS!!!!,有一个小错误......应该打印的不是Ticket而是LastClosetPoz()和Sec_LastClosetPoz()。
我相信我的版本并不是最优雅的......但它是有效的......你如何将两个循环放在一个函数中......。我不知道......我试过了......我得到了错误......让它见鬼去吧!(如果不是太麻烦的话--给我看看--对我有用,如果不是的话--好吧,算了......)总之谢谢。
然而,我有一种感觉,如果我需要弄清楚第35笔已完成的交易的票据......我的方法就会有麻烦了:)))) hahahah。
天哪,这甚至还没有出现在地平线上......最多三个......
这个函数使用局部变量,所以不要把它作为一个单独的函数运行是次,不要在一个函数中一个接一个地做两个循环,也不要把A声明为一个全局变量。我去买点烟,你可以试试,如果不行,等我回来敲我,我们再想办法。
在我插入以下内容之前,一直在工作
如果(OrderSelect( (LastClosetPoz (),SELECT_BY_TICKET)==true))Print("Stop loss", OrderStopLoss();
誓词
')'- 错误的参数计数 G:\Program_Files_2\MT4-demo\experts\000.mq4 (57, 60)
我不明白它想要什么?
--------------------------------------------------------------------------------------------
想通了
==true....
这很奇怪,因为教程中的例子总是这么说......。
而且它还将止损值四舍五入到第四位数......。
IS!!!!,有一个小错误......打印的内容应该是LastClosetPoz()和Sec_LastClosetPoz()而不是Ticket。
我相信我的版本不是最优雅的......但它是有效的... 如何在一个函数中插入两个循环...我不知道......我试过了......我得到了错误......让它见鬼去吧!(如果不是太麻烦的话--给我看看--对我有用,如果不是的话--好吧,算了......)总之谢谢。
然而,我有一种感觉,如果我需要弄清楚第35笔已完成的交易的票据......我的方法就会有问题了:)))),哈哈哈。
天哪,这甚至还没有出现在地平线上......最多三个......
打印零......不工作......不会再挖了,因为很明显,循环被简单地替换了一个--体积显然没有减少.....,我们已经有了一个工作版本。我可以在第一个变体中比较订单......而在这里我甚至看不到第二个变体在哪里......而第一个变体是零......。
经过一些小修小补......这显然是在开发大脑,这个代码也成功了!:)) 谢谢
在我插入以下内容之前,一直在工作
如果 (Print("Stop loss", OrderStopLoss();)Print("Stop loss", OrderStopLoss();
誓词
')'- 错误的参数计数 G:\Program_Files_2\MT4-demo\experts\000.mq4 (57, 60)
我不明白它想要什么?
同样是45,在这种形式下,OrderSelect(LastClosetPoz(),SELECT_BY_TICKET)默认在挂单和开单中选择,而这个订单不在其中。 把OrderSelect(LastClosetPoz(),SELECT_BY_TICKET, MODE_HISTORY)
打印零......不工作......我不会再深究了,因为很明显,周期只是用一个替换另一个--量显然没有减少.....,我们已经有一个工作的变体。此外,在第一个变体中,我可以比较订单......而在这里,我甚至看不到第二个变体在哪里......而第一个变体是零......。
经过一些小修小补......这显然是在开发大脑,这个代码也成功了!:)) 谢谢
只要在函数调用 后打印Ticket1和Ticket2 变量即可。