[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 236

 
solnce600:
我不太清楚二进制搜索是什么意思。是在一个二维数组中搜索吗?但我有一个一维的。

对数组进行排序,如果你到目前为止还没有做的话,为了控制init()中的正确准备,取消打印其内容,也许不是全部,而是前20-50个元素。

P.S. 你看到二元和二维的身份了吗?终端看到你的数字是 "二进制 "代码,为了使ArrayBsearch()函数 正确工作,它需要对数组进行初步排序。

 
TarasBY:

你没看到那里有什么吗?

我看到ArrayBsearch()在任何地方都返回0(作为一个元素索引)。在你的数组的第0个单元中是数字1.0408。让我们回到代码中去。

现在将获得的变量值替换到这个条件中(在carite Bid上的范围是0.8-0.9,让我们取这个范围的最大值-0.9)。如果(0.9000 - 1.0408 <= 0) OrderSend()。条件满足了,对!!!。在完成阵列的过程中寻找错误。你可能没有注意ArrayBsearch()函数中的这个条款。

注意:二进制搜索只处理排序的数组。ArraySort() 函数用于对一个数字数组进行排序。

P.S.打印不应该以图片形式提供,而是在终端窗口中同时选择这个打印的几行(使用SHIFT--如果你不知道怎么做)(10-20行就够了),然后用SRC按钮将选择的行复制并粘贴到你的帖子中作为代码。

我知道问题出在ArrayBsearch()函数上。

但我还是不明白为什么这个函数不应该立即返回数组中的N个单项,其值与value 最接近

否则为什么massiv[S-1] 和massiv[S+1]要参与计算?

 
solnce600:

我理解问题出在ArrayBsearch()函数中

但我还是不明白为什么这个函数不应该立即返回数组中的N个单项 其值与value 最接近

否则为什么massiv[S-1] 和massiv[S+1]参与计算

问题不在ArrayBsearch()函数 中,而是在准备传入该函数的数组中!!!。

然后,它只是一个 "幻想的飞行"...你的想象力...

ArrayBsearch()函数返回一个值,为了找到代码歪曲的原因,我打印出了这些值。(顺序)索引为S的数组单元的值(由函数ArrayBsearch()返回),索引为S-1的给定数组(海量[])中最靠近左边的值,索引为S+1的最靠近右边的值,以及开单时的价格。

你来到一年级,你想偷看一个毕业班的学生......回到你的班级去吧!--类比。:))

 
TarasBY:

问题不在ArrayBsearch()函数中,而是在传递给该函数的数组的准备工作中!!。

然后,它只是一个 "幻想的飞行"...你的想象力...

ArrayBsearch()函数返回一个值,为了找到代码歪曲的原因,我打印出了这些值。(顺序)索引为S的数组单元的值(由函数ArrayBsearch()返回),索引为S-1的给定数组(海量[])中最靠近左边的值,索引为S+1的最靠近右边的值,以及开单时的价格。

你来到一年级,你想偷看一个毕业班的学生......回到你的班级去吧!--类比。:))

明白了。非常感谢您的帮助....,我总是有点急于求成,得过且过....,我认为这样做总体上是利大于弊。

我唯一不明白的是,....

在这里,我需要初始化一个有3000个值的数组。我是用EXCEL做的。

在我看来,这是一个漫长的、多步骤的、乏味的过程。

在这个过程中,是否有更好的算法?

谢谢。

 
solnce600:

我是用EXCEL做的。


通过DDE还是通过Lazybones?

如果你有历史的话,写一个宏并使之自动化。你在Word中打开它并启用宏编写,在那里转换,然后用宏把它保存为csv,并使用DDE。我不知道metatrader和metastock的数据文件格式,我自己没有时间去了解它。而如果双数组[3000]有零,那么就用for,但如果我没记错的话,它们的初始化是有零的。

 
solnce600:
明白了。非常感谢您的帮助....,我总是有点急于求成,得过且过....,我认为这样做总体上是利大于弊。

我唯一不明白的是....

我需要初始化一个有3000个值的数组,我用EXCEL做了这个工作。

我发现这是一个漫长、多步骤和乏味的过程。

在这个过程中,是否有更好的算法?

谢谢你。


请公布写有初始化值的文件...
 
gyfto:


通过DDE还是通过Loafer?

如果你有历史的话,写一个宏并使之自动化。在Word中打开它并启用宏写入功能,在那里进行转换,然后将其保存为csv宏并使用DDE。metatrader和metastock数据文件的格式由不得我,我没有时间去弄清楚。如果通过零,则通过为,但如果我没弄错的话,零是被初始化的。

谢谢,我会研究的。 我刚刚去了服务处--在EXCEL文件中保存了一对的历史。

我把所有数据按列拆开,在开盘价 的那一列中,我在每个值后面加一个逗号--我把它转置成一行--我排序--然后粘贴到编辑器中,即

包括mqh文件。

如果有提到DDE或Lazybear的信息,请给出。

谢谢你。

 
solnce600:

我只是简单地进入服务区--将一对夫妇的历史保存到EXCEL文件中。

我把一个包含所有数据的单列分成几列。 在有开盘价的那一列中,我在每个值后面加一个逗号--把它转成一行--排序--然后粘贴到编辑器中,即粘贴到

包括mqh文件。

如果有提到DDE或Lazybear的信息,请给出。

谢谢你。



你不需要DDE或lazybones。你只需要一个函数(10行代码)。 把文件扔到终端目录下,阵列就会被初始化...把文件给我。
 
Dima.A.:

你不需要DDE或Lazybones。你只需要一个函数(10行代码)。 把文件扔到终端目录下,阵列就会被初始化...把文件给我。

我需要初始化两个数组

1.双倍

2.数据时间

在第一个数组中,第1120行之后的一些数值由于某种原因--在我将分隔符号从逗号改为点号之后,它们被转换为不同的格式(我在那里有一个逗号)。

如果不难,请把这10行代码也发给我......,我将研究它们....,我想在将来自己学习做。

非常感谢您的帮助。

 
solnce600:
奇怪,这个文件有140公斤,我已经把它归档并附在post.....,但它不在那里。


缩短文件,我只需要其中的几行...