[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 289

 
TheXpert >> :

严格说来,不是。但非常接近。

更具体地说,它在哪里附近?

我想听听对以前的帖子的一些想法,关于代码、逻辑等。

>> 预先感谢你。

 

谢谢你的关注。

这就是EA的模样

//+------------------------------------------------------------------+
//| Bibliot.mq4 | |
//| Copyright © 2009, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#属性链接 "http://www.metaquotes.net"

#include <PointZigZag.mqh>.

int init()
{return(0);}
int deinit()
{return(0);}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{PointZigZag();
评论("Prod.-y21 = ",y21," ", "Pok.-x21 = ",x21)。
return(0);
}
//+------------------------------------------------------------------+


而这就是文件的模样。它在创建它的终端中工作。但在编译时,它写道:"未找到启动函数,无法运行。

//+------------------------------------------------------------------+
//| PointZigZag.mqh|
//| Copyright © 2009, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp.
#属性链接 "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| EX4进口 |
//+------------------------------------------------------------------+
#import "PointZigZag.ex4".

Extern inttern ExtDepth = 12; //------- 变量ZigZag
Extern inttern ExtDeviation = 5; //------- 变量ZigZag
Extern intBackstep = 3; //------- 变量ZigZag
Extern inttern ShiftBars = 2; //------- 变量ZigZag
//------- 变量ZigZag ------------------------------------------
双重y3, y2, y1, zz;//
int x3, x2, x1, sh;//
双倍x31, x21, x11; // ZigZag拐点
double y31, y21, y11; // ZigZag拐点
双倍时间ZZ,时间OO。
//------------------------------------------------------------------------------

double PointZigZag()
{y3=0;y2=0;y1=0。
sh=ShiftBars。
while (y3==0)
{zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh)。
如果(zz!=0 && zz!=EMPTY_VALUE)
{if (y1==0) { x1=sh; y1=zz; }
else if (y2==0) { x2=sh; y2=zz; }
else if (y3==0) { x3=sh; y3=zz; }}sh++;
}
如果(High[x1]>High[x2])。
{x11=高[x1];x21=低[x2];x31=高[x3]。
y11=0;y21=0;y31=0;TimeZZ=Time[x2];
否则
{y11=Low[x1]; y21=High[x2]; y31=Low[x3];
x11=0;x21=0;x31=0;TimeZZ=Time[x2];}

}
##进口
//+------------------------------------------------------------------+
 

我不是专家,但库文件不需要单独编译。因此出现了 "未找到启动功能 ,无法运行 "的信息。该库文件将被自动包含在代码中,并在编译EA时被编译(在有Start函数的地方)。

此外,我也不清楚。我建议注释掉#import "PointZigZag.ex4 "和#import。它应该是有效的。

 

更好的是,把所有的东西都放在一个EA里,把其他东西都扔掉。

//+------------------------------------------------------------------+
//| Библиот.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

extern int ExtDepth = 12; //------- переменные ZigZag
extern int ExtDeviation = 5; //------- переменные ZigZag
extern int ExtBackstep = 3; //------- переменные ZigZag
extern int ShiftBars = 2; //------- переменные ZigZag
//------- переменные ZigZag ------------------------------------------
double y3, y2, y1, zz;//
int x3, x2, x1, sh;//
double x31, x21, x11; // Точки перегиба ZigZag
double y31, y21, y11; // Точки перегиба ZigZag
double TimeZZ, TimeOO;
//------------------------------------------------------------------------------

int init()
{return(0);}
int deinit()
{return(0);}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{ PointZigZag();
Comment("Прод.-y21 = ", y21," ","Пок.-x21 = ", x21);
return(0);
}
double PointZigZag()
{ y3=0; y2=0; y1=0;
sh= ShiftBars;
while ( y3==0)
{ zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
if ( zz!=0 && zz!=EMPTY_VALUE)
{if ( y1==0) { x1= sh; y1= zz; }
else if ( y2==0) { x2= sh; y2= zz; }
else if ( y3==0) { x3= sh; y3= zz; }} sh++;
}
if (High[ x1]>High[ x2])
{ x11=High[ x1]; x21=Low[ x2]; x31=High[ x3];
y11=0; y21=0; y31=0; TimeZZ=Time[ x2];
}else
{ y11=Low[ x1]; y21=High[ x2]; y31=Low[ x3];
x11=0; x21=0; x31=0; TimeZZ=Time[ x2];}

}
//+------------------------------------------------------------------+
 
granit77 >> :

或者,更好的做法是,将它们全部收集在专家顾问中,并将其余的全部扔掉。

这都是可以理解的。但那是一个抽象的例子。

我只是想为其他目的创建一个不同的函数库,然后使用它们。

请再想一想可能是什么原因。>> 谢谢你。

 
gvi2504 >> :

这都是可以理解的。但那是一个抽象的例子。

我只是想为其他目的创建一个不同的函数库,然后使用它们。

请再想想,可能是什么原因。>> 谢谢你。

谢谢你的建议。我非常喜欢你的最后一句话,所以我把它还给你。我的猜测是,库文件写得不对,有#include和#import,还有一个内置函数。它是黄油。扔掉它,读一本教科书,再写一遍。

 

你们这些人是如何测试你们的EA的,比方说在一年的范围内?我读了很多资料,但我无能为力,因为我的M1图表不能超过2009年3月5日。相应地,我不能将测试期提前到3月5日。我曾尝试通过服务->报价档案 加载报价到MT,但 没有帮助。手动滚动也无济于事....这是我从经纪公司的技术支持中得到的信息。


"不幸的是,Metaquotes没有向交易中心提供一个特殊的程序,即所谓的 "历史服务器",所以有这些限制。另外,当你选择菜单 "服务-档案 "并点击 "下载 "时,你将得到警告,即从MetaQuotes服务器下载历史数据。

p.s. 一些交易中心(我们也在其中)试图使MetaQuotes能够让你从某个经纪公司下载数据(没有限制)。 然而,到目前为止,他们只承诺在MT5中提供这项服务。


如果我想在一个较长的时间间隔内检查我的专家顾问,我应该怎么做?

 
Noterday >> :

你们这些人是如何测试你们的EA的,比方说在一年的范围内?我读了很多资料,但我无能为力,因为我的M1图表不能超过2009年3月5日。相应地,我不能将测试期提前到3月5日。我曾尝试通过服务->报价档案加载报价到MT,但没有帮助。手动滚动也无济于事....这是我从我的经纪公司的技术支持中得到的信息。


"不幸的是,Metaquotes没有向交易中心提供一个特殊的程序,即所谓的 "历史服务器",所以有这些限制。另外,当你选择菜单 "服务-档案 "并点击 "下载 "时,你将得到警告,即从MetaQuotes服务器下载历史数据。

p.s.几个交易中心(我们也在其中)试图使MetaQuotes使你能够下载(没有限制)特定经纪公司的数据。 然而,到目前为止,他们只承诺在MT5中提供这种服务"。


而如果我想长期检查我的EA,我应该怎么做?

此外,在MT5中,这不仅仅是预期的,那里的一切都建立在М1上,其他的TF是由М1计算出来的(那些历史将只在М1中)好吧,放一个更大的窗口并从 MetaQuotes 下载,否则没有办法。如果你在开始日期和MQ之前没有运行MT,也没有保存你自己的动作,那就没办法了。

虽然问谁可能救了他们,但有的人甚至从MT-2开始就救了引号。

(对不起,我不知道MT-2之前发生了什么,但我没有太多的时间在外汇上)。

 
加载历史记录并(写)测试专家顾问在"开盘价"上至少有n1...
 
rid >> :
在af上加载历史记录和(写)测试EA的 "开盘价",至少是n1...

是的,确实,开始测试了 :)但在我看来,由于这样的混乱,系统不会显示自己。也许指标在这样的数据上计算不正确,或者其他什么原因......特别是由于系统是为分钟设计的。总之,谢谢你!

原因: