编码帮助 - 页 371 1...364365366367368369370371372373374375376377378...786 新评论 [删除] 2014.10.15 14:36 #3701 2014.10.15 12:36:23.875 测试器。无法加载 Experts\Fisher Auto EA v1 m11 [删除] 2014.10.15 14:37 #3702 2014.10.15 12:36:23.875 无法打开文件'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2] 。 Mladen Rakic 2014.10.15 14:43 #3703 grego: 2014.10.15 12:36:23.875 无法打开文件'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2] 。 如果你的EA被编译了,而且正如我所看到的,它可以被加载到实时图表上,唯一能导致这种情况的是新的metatrader 4和它的回测器的错误。但请检查 EA是否被正确编译了 [删除] 2014.10.15 14:59 #3704 LeftNum1 "的声明在第20行隐藏了全局声明 fisher m111.mq4 119 8 也许是专家和指标之间的问题!? Mladen Rakic 2014.10.15 14:59 #3705 grego: 2014.10.15 12:36:23.875 无法打开文件'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2] 。 对该EA进行快速的视觉回测 它正在工作,并且正在打开(和关闭)订单。使用默认参数 附加的文件: backtest.gif 66 kb AtApi 2014.10.15 16:12 #3706 大家好......又是一个小请求。 谁能告诉我如何从一个字符串数组中删除 重复的值? 请告诉我 谢谢! Mladen Rakic 2014.10.15 16:36 #3707 AtApi: 大家好......又是一个小请求。谁能告诉我如何从一个字符串数组中删除重复的值? 请告诉我 谢谢! 你不能删除一个数组元素,除非它是/它们是数组的最后一个元素。因为在99.999%的情况下都不会是这样,所以你必须创建一个新的空数组,并将现有数组中唯一的元素添加到新创建的数组中。 AtApi 2014.10.15 16:43 #3708 谢谢你的回答,那么我应该这样做吗? int numDups = 0, prevIndex = 0; string tempArray[]; for (int x = 0; x < ArraySize(myArray); x++) { bool foundDup = false; for (int j = 0; j < x; j++) { if (myArray[x] == myArray[j]) { foundDup = true; numDups++; // Increment means Count for Duplicate found in array. continue; } } if (foundDup == false) { tempArray[prevIndex] = myArray[x]; prevIndex++; } } Mladen Rakic 2014.10.15 16:54 #3709 AtApi: 谢谢mladen的回答......那么我应该这样做吗? int numDups = 0, prevIndex = 0; string tempArray[]; for (int x = 0; x < ArraySize(myArray); x++) { bool foundDup = false; for (int j = 0; j < x; j++) { if (myArray[x] == myArray[j]) { foundDup = true; numDups++; // Increment means Count for Duplicate found in array. continue; } } if (foundDup == false) { tempArray[prevIndex] = myArray[x]; prevIndex++; } } [/CODE] 试试这样的方法。 [CODE] string tempArray[]; for (int i = 0; i < ArraySize(myArray); i++) for (int j = i+1; j < ArraySize(myArray); j++) 如果(myArray == myArray[j])myArray[j]="删除"。 for (i = 0; i < ArraySize(myArray); i++) if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1] =myArray; } AtApi 2014.10.15 17:07 #3710 mladen: 试试这样的方法。 string tempArray[]; for (int i = 0; i < ArraySize(myArray); i++) for (int j = i+1; j < ArraySize(myArray); j++) if (myArray == myArray[j]) myArray[j]="remove"; for (i = 0; i < ArraySize(myArray); i++) if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1]=myArray; } 谢谢mladen! 这个方法的问题是,它并没有真正从数组中删除 字符串,它只是将字符串的值改为 "删除",对原始和重复的值都是如此......所以如果我想以后过滤它们,我也会删除原始值......我希望我清楚了。 1...364365366367368369370371372373374375376377378...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
2014.10.15 12:36:23.875 测试器。无法加载 Experts\Fisher Auto EA v1 m11
2014.10.15 12:36:23.875 无法打开文件'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2] 。
2014.10.15 12:36:23.875 无法打开文件'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2] 。
如果你的EA被编译了,而且正如我所看到的,它可以被加载到实时图表上,唯一能导致这种情况的是新的metatrader 4和它的回测器的错误。但请检查 EA是否被正确编译了
LeftNum1 "的声明在第20行隐藏了全局声明 fisher m111.mq4 119 8
也许是专家和指标之间的问题!?
2014.10.15 12:36:23.875 无法打开文件'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2] 。
对该EA进行快速的视觉回测
它正在工作,并且正在打开(和关闭)订单。使用默认参数
大家好......又是一个小请求。
谁能告诉我如何从一个字符串数组中删除 重复的值?
请告诉我
谢谢!
大家好......又是一个小请求。
谁能告诉我如何从一个字符串数组中删除重复的值?
请告诉我
谢谢!你不能删除一个数组元素,除非它是/它们是数组的最后一个元素。因为在99.999%的情况下都不会是这样,所以你必须创建一个新的空数组,并将现有数组中唯一的元素添加到新创建的数组中。
谢谢你的回答,那么我应该这样做吗?
int numDups = 0, prevIndex = 0;
string tempArray[];
for (int x = 0; x < ArraySize(myArray); x++)
{
bool foundDup = false;
for (int j = 0; j < x; j++)
{
if (myArray[x] == myArray[j])
{
foundDup = true;
numDups++; // Increment means Count for Duplicate found in array.
continue;
}
}
if (foundDup == false)
{
tempArray[prevIndex] = myArray[x]; prevIndex++;
}
}
谢谢mladen的回答......那么我应该这样做吗?
int numDups = 0, prevIndex = 0;
string tempArray[];
for (int x = 0; x < ArraySize(myArray); x++)
{
bool foundDup = false;
for (int j = 0; j < x; j++)
{
if (myArray[x] == myArray[j])
{
foundDup = true;
numDups++; // Increment means Count for Duplicate found in array.
continue;
}
}
if (foundDup == false)
{
tempArray[prevIndex] = myArray[x]; prevIndex++;
}
}
[/CODE]试试这样的方法。
[CODE] string tempArray[];
for (int i = 0; i < ArraySize(myArray); i++)
for (int j = i+1; j < ArraySize(myArray); j++)
如果(myArray == myArray[j])myArray[j]="删除"。
for (i = 0; i < ArraySize(myArray); i++)
if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1] =myArray; }
试试这样的方法。
for (int i = 0; i < ArraySize(myArray); i++)
for (int j = i+1; j < ArraySize(myArray); j++)
if (myArray == myArray[j]) myArray[j]="remove";
for (i = 0; i < ArraySize(myArray); i++)
if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1]=myArray; }
谢谢mladen!
这个方法的问题是,它并没有真正从数组中删除 字符串,它只是将字符串的值改为 "删除",对原始和重复的值都是如此......所以如果我想以后过滤它们,我也会删除原始值......我希望我清楚了。