新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 86 1...798081828384858687888990919293...1953 新评论 Artyom Trishkin 2017.01.21 21:46 #851 trader781:重写了844号帖子,以避免在这里再写代码至于零大小的数组--0可以是一个整数,可以相当于一个布尔赝品,可以是一个空,也可以是一个起点。 你说的 "零 "是什么意思并不重要。如果你 用零来确定一个数组的大小,称它为零姜饼,它将是零。这意味着数组将为零。 Artyom Trishkin 2017.01.21 21:51 #852 trader781:重写了844号帖子,以避免在这里再写代码至于零大小的数组--0可以是一个整数,可以是相当于一个布尔赝品,可以是一个空,也可以是一个起点。也请不要让我为你在正确的帖子中插入正确的代码。//+------------------------------------------------------------------+//| ProjectName |//| Copyright 2012, CompanyName |//| http://www.companyname.net |//+------------------------------------------------------------------+#property strict//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+struct myorder { int Ticket; double orderopenprice; int ordertype; double profit; double stoploss; double lot; }; myorder orders[];int i;int Magic=444;//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//---//--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) {//--- }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() { CalcOrders(); }//+------------------------------------------------------------------+void CalcOrders() { int count1=0; for(i=OrdersTotal()-1; i>=0; i--) { if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==Magic) && (OrderType()<2)) { count1++; ArrayResize(orders,count1); orders[count1-1].Ticket=OrderTicket(); orders[count1-1].lot=OrderLots(); orders[count1-1].orderopenprice=OrderOpenPrice(); orders[count1-1].ordertype=OrderType(); orders[count1-1].profit=OrderProfit(); orders[count1-1].stoploss=OrderStopLoss(); } } ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND); } //+------------------------------------------------------------------+现在看看你要填入什么数组,按什么字段进行排序。而最重要的是--你为什么需要这种分类?它的意义何在? Any questions from newcomers 如何编码? 求助帖 Mickey Moose 2017.01.21 22:02 #853 Artyom Trishkin:也请不要让我为你把正确的代码粘贴到正确的信息中。А теперь поглядите какой массив вы заполняете и по какому полю его сортируете. И, главное - зачем нужна эта сортировка? Какой в ней смысл?对 订单数组进行排序,从零值开始升序排列例如,如果我们有20个订单,其中18个很意外地上涨了几个点,我立即用手把它关闭了。 Alexey Viktorov 2017.01.22 09:11 #854 trader781:对 订单数组进行排序,从零值开始升序排列例如,如果我们有20个订单,其中18个绝对不小心涨了几个点,而我马上用手把它们关闭。如果你绝对需要按票据排序,你将不得不做两个数组。一个是结构数组,第二个是二维数组,在第一维中包含订单票,在第二维中包含计数器索引,即订单信息存储在结构数组中的索引。并在一个循环中同时填充这些数组。你想解决这个问题已经很久了,我甚至都不记得你想达到的目的了。可能还有其他所有的人。如果我没记错的话,你需要从订单列表中选择某个数字。那么,这有什么问题呢?只要做一个简单的一维数组,对门票进行排序,然后orderSelect(array[required], SELECT_BY_TICKET),就 可以了。然后按你的意愿来处理这个订单。 Artyom Trishkin 2017.01.22 09:19 #855 Alexey Viktorov:如果你绝对需要按票据排序,你必须做两个数组。一个是结构数组,第二个是二维数组,在第一维中包含订单票,在第二维中包含计数器索引,即订单信息存储在结构数组中的索引。并在一个循环中同时填充这些数组。你想解决这个问题已经很久了,我甚至都不记得你想达到的目的了。可能还有其他所有的人。如果我没记错的话,你需要从订单列表中选择某个数字。那么,这有什么问题呢?只要做一个简单的一维数组,对它进行排序,然后orderSelect(array[required], SELECT_BY_TICKET), 就可以了。然后你可以对这个订单做任何你想做的事。我也不记得我应该在那里做什么。但好事是,它确实如此。我特别要求他一开始写一个东西,然后我要求他仔细看他写的东西,让他自己明白这样是不行的--他需要在函数中就有另一个局部数组,我们要对它进行排序,然后从排序后的数组中填入全局数组。 Mickey Moose 2017.01.22 09:59 #856 Alexey Viktorov:如果你绝对需要按票据排序,你必须做两个数组。一个是结构数组,第二个是二维数组,在第一维中包含订单票,在第二维中包含计数器索引,即订单信息存储在结构数组中的索引。并在一个循环中同时填充这些数组。你想解决这个问题已经很久了,我甚至都不记得你想达到的目的了。可能还有其他所有的人。如果我没记错的话,你需要从订单列表中选择某个数字。那么,这有什么问题呢?只要做一个简单的一维数组,对它进行排序,然后orderSelect(array[required], SELECT_BY_TICKET), 就可以了。然后按你的意愿来处理这个订单。 不,我明白,有很多方法可以用不同的方式来做,并避免数组。如果我们已经有一个这样的数组,为什么还需要两个呢? Alexey Viktorov 2017.01.22 10:04 #857 trader781: 不,我明白,有很多方法可以用不同的方式来做,不需要数组。如果有一个结构,为什么要有两个?因为一个简单的数组是按数组第一维的值排序的,而一个 结构的数组是 如何排序的,我不知道。有趣的问题是...我现在要尝试对一个结构数组进行排序。 Vitaly Muzichenko 2017.01.22 10:11 #858 Alexey Viktorov:因为一个简单的数组是按数组第一维的值排序的,但一个 结构数组是 如何排序的,我不知道。这是一个有趣的问题,虽然...现在我将尝试对一个结构数组进行排序。 我完全不知道它在结构形式上有什么用。mq程序写在一个文件中,数组在一个滚动中处理,适合在一个屏幕中。在这种情况下,结构的意义是什么,是为了运动的兴趣? Mickey Moose 2017.01.22 10:23 #859 Alexey Viktorov:因为一个简单的数组是按数组第一维的值排序的,但我不知道一个 结构数组是 如何排序的。虽然这个问题很有趣...我准备尝试整理出一个数组结构。我不知道它是什么,也不知道它是关于什么的。但既然这个话题已经被提出来了,把它扔掉是很愚蠢的。还有类的数组。 Alexey Viktorov 2017.01.22 10:24 #860 Vitaly Muzichenko: 我根本不知道为什么需要以结构的形式出现。mq程序写在一个文件里,数组在一个滚动中处理,适合一个屏幕。在这种情况下,结构的意义是什么,是为了运动的兴趣?我们为了运动而写一切。首先,我们了解什么是有效的,以及它是如何工作的,然后我们开始思考如何更有效地写作。至于对结构数组的排序:正如我所料,实验失败了。在编译时,编译器已经说"表达式没有效果" 1...798081828384858687888990919293...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
重写了844号帖子,以避免在这里再写代码
至于零大小的数组--0可以是一个整数,可以相当于一个布尔赝品,可以是一个空,也可以是一个起点。
重写了844号帖子,以避免在这里再写代码
至于零大小的数组--0可以是一个整数,可以是相当于一个布尔赝品,可以是一个空,也可以是一个起点。
也请不要让我为你在正确的帖子中插入正确的代码。
//| ProjectName |
//| Copyright 2012, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=0;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1);
orders[count1-1].Ticket=OrderTicket();
orders[count1-1].lot=OrderLots();
orders[count1-1].orderopenprice=OrderOpenPrice();
orders[count1-1].ordertype=OrderType();
orders[count1-1].profit=OrderProfit();
orders[count1-1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
//+------------------------------------------------------------------+
现在看看你要填入什么数组,按什么字段进行排序。而最重要的是--你为什么需要这种分类?它的意义何在?
也请不要让我为你把正确的代码粘贴到正确的信息中。
对 订单数组进行排序,从零值开始升序排列
例如,如果我们有20个订单,其中18个很意外地上涨了几个点,我立即用手把它关闭了。
对 订单数组进行排序,从零值开始升序排列
例如,如果我们有20个订单,其中18个绝对不小心涨了几个点,而我马上用手把它们关闭。
如果你绝对需要按票据排序,你将不得不做两个数组。一个是结构数组,第二个是二维数组,在第一维中包含订单票,在第二维中包含计数器索引,即订单信息存储在结构数组中的索引。并在一个循环中同时填充这些数组。
你想解决这个问题已经很久了,我甚至都不记得你想达到的目的了。可能还有其他所有的人。
如果我没记错的话,你需要从订单列表中选择某个数字。那么,这有什么问题呢?只要做一个简单的一维数组,对门票进行排序,然后orderSelect(array[required], SELECT_BY_TICKET),就 可以了。然后按你的意愿来处理这个订单。
如果你绝对需要按票据排序,你必须做两个数组。一个是结构数组,第二个是二维数组,在第一维中包含订单票,在第二维中包含计数器索引,即订单信息存储在结构数组中的索引。并在一个循环中同时填充这些数组。
你想解决这个问题已经很久了,我甚至都不记得你想达到的目的了。可能还有其他所有的人。
如果我没记错的话,你需要从订单列表中选择某个数字。那么,这有什么问题呢?只要做一个简单的一维数组,对它进行排序,然后orderSelect(array[required], SELECT_BY_TICKET), 就可以了。然后你可以对这个订单做任何你想做的事。
我也不记得我应该在那里做什么。但好事是,它确实如此。
我特别要求他一开始写一个东西,然后我要求他仔细看他写的东西,让他自己明白这样是不行的--他需要在函数中就有另一个局部数组,我们要对它进行排序,然后从排序后的数组中填入全局数组。
如果你绝对需要按票据排序,你必须做两个数组。一个是结构数组,第二个是二维数组,在第一维中包含订单票,在第二维中包含计数器索引,即订单信息存储在结构数组中的索引。并在一个循环中同时填充这些数组。
你想解决这个问题已经很久了,我甚至都不记得你想达到的目的了。可能还有其他所有的人。
如果我没记错的话,你需要从订单列表中选择某个数字。那么,这有什么问题呢?只要做一个简单的一维数组,对它进行排序,然后orderSelect(array[required], SELECT_BY_TICKET), 就可以了。然后按你的意愿来处理这个订单。
不,我明白,有很多方法可以用不同的方式来做,不需要数组。如果有一个结构,为什么要有两个?
因为一个简单的数组是按数组第一维的值排序的,而一个 结构的数组是 如何排序的,我不知道。
有趣的问题是...我现在要尝试对一个结构数组进行排序。
因为一个简单的数组是按数组第一维的值排序的,但一个 结构数组是 如何排序的,我不知道。
这是一个有趣的问题,虽然...现在我将尝试对一个结构数组进行排序。
因为一个简单的数组是按数组第一维的值排序的,但我不知道一个 结构数组是 如何排序的。
虽然这个问题很有趣...我准备尝试整理出一个数组结构。
我不知道它是什么,也不知道它是关于什么的。
但既然这个话题已经被提出来了,把它扔掉是很愚蠢的。还有类的数组。
我根本不知道为什么需要以结构的形式出现。mq程序写在一个文件里,数组在一个滚动中处理,适合一个屏幕。在这种情况下,结构的意义是什么,是为了运动的兴趣?
我们为了运动而写一切。首先,我们了解什么是有效的,以及它是如何工作的,然后我们开始思考如何更有效地写作。
至于对结构数组的排序:正如我所料,实验失败了。在编译时,编译器已经说"表达式没有效果"