//---- input parameters---------
ЗАДАЕМ ВНЕШНИЕ ПАРАМЕТРЫ ПО КАЖДОЙ ПАРЕ
intinit(){return(0);
}intdeinit(){return(0);
}//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+intstart(){//*********************************************************************double ЗАДАЕМ ПЕРЕМЕННЫЕ ПО ПЕРВОЙ ПАРЕ
double ЗАДАЕМ ПЕРЕМЕННЫЕ ПО ВТОРОЙ ПАРЕ
... ... ... ...
double ЗАДАЕМ ПЕРЕМЕННЫЕ ПО ПОСЛЕДНЕЙ ПАРЕ
=========================================================
intOrders=OrdersTotal(); //получаем кол-во открытых ордеровif(Orders<3)//если открытых ордеров <3{if(выключатель 1 вкл){ОТКРЫВАЕМ ПЕРВУЮ ПАРУ }if(выключатель 2 вкл){ОТКРЫВАЕМ ВТОРУЮ ПАРУ }
... ... ...
if(выключатель N вкл){ОТКРЫВАЕМ ПОСЛЕДНЮЮ ПАРУ }}//========================================================================for(intx=0; x<OrdersTotal(); x++){if(OrderSelect(x, SELECT_BY_POS, MODE_TRADES)){if(UseTrailing1) - ТРЕЙЛИНГ ПЕРВОЙ ПАРЫ
... ... ...
if(UseTrailingN) - Трейлинг последней пары
}//======================================================================return(0);
}
//---- input parameters---------
ЗАДАЕМ ВНЕШНИЕ ПАРАМЕТРЫ ПО КАЖДОЙ ПАРЕ
intinit(){return(0);
}intdeinit(){return(0);
}//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+intstart(){//*********************************************************************double ЗАДАЕМ ПЕРЕМЕННЫЕ ПО ПЕРВОЙ ПАРЕ
double ЗАДАЕМ ПЕРЕМЕННЫЕ ПО ВТОРОЙ ПАРЕ
... ... ... ...
double ЗАДАЕМ ПЕРЕМЕННЫЕ ПО ПОСЛЕДНЕЙ ПАРЕ
=========================================================
intOrders=OrdersTotal(); //получаем кол-во открытых ордеровif(Orders<3)//если открытых ордеров <3{if(выключатель 1 вкл){ОТКРЫВАЕМ ПЕРВУЮ ПАРУ }if(выключатель 2 вкл){ОТКРЫВАЕМ ВТОРУЮ ПАРУ }
... ... ...
if(выключатель N вкл){ОТКРЫВАЕМ ПОСЛЕДНЮЮ ПАРУ }}//========================================================================for(intx=0; x<OrdersTotal(); x++){if(OrderSelect(x, SELECT_BY_POS, MODE_TRADES)){if(UseTrailing1) - ТРЕЙЛИНГ ПЕРВОЙ ПАРЫ
... ... ...
if(UseTrailingN) - Трейлинг последней пары
}//======================================================================return(0);
}
好的,VassaV,知道了 !
下面是另一个问题。在通常的代码中,当一个位置被打开 时,它被显示出来。
这里我们有 "门票 "价值。在我的EA中,该计划有些不同,像这样。
但我也需要 "票 "的价值!对于这一对。我不可能一上午都在做这个!谁知道呢 - 请告诉我怎么做?
对所有希望得到建议但没有时间回应的人来说,谢谢你们!
我想我自己已经解决了(今天下午)。它是这样的。
在锦标赛上测试专家顾问5分钟的条件,在学期结束前只有3个星期,结果对每个人来说几乎都是BEGINNING !
个别而言,我的专家顾问是在12个月的历史上对一个货币对进行测试,--不超过3-4分钟。它对所有蜱虫都有效。
但当我把几个EA合并成一个多币种EA时,测试时间就会增加到7-10分钟!
而且我禁用了所有的配对,除了我运行的一个。
我想请专业人士(不仅仅是)分享他们的经验和减少测试时间的方法。
专家顾问结构 如下。
在结束前的短短3周内,在锦标赛上测试专家顾问5分钟的条件,对每个人来说几乎都是一个开端!
我的专家顾问单独在一个货币对上对12个月的历史进行测试,不超过3-4分钟。它对所有蜱虫都有效。
但当我把几个EA合并成一个--多币种EA时,测试时间就会增加到7-10分钟!
我禁用了所有的配对,除了一个--我正在测试。
我想请专家(不仅仅是)分享他们减少测试时间的方法和途径。
专家顾问的结构 是这样的。
它的测试速度很慢,主要原因是指标
它们在这个结构中是不可见的,但你很可能有它们,否则它们最多需要一分钟的时间来测试。
指标必须被改变或移到EA的代码中。
洛基。
我对你的理解正确吗?
我的指标是我设置变量的地方。而显然,他们
也许应该把它移到里面的
对每一对进行相应的?
它允许你在12种货币对中的任何一种上进行测试,并在多个时间段进行测试。
15:18:05 2006.10.17 09:38 NRTR_GATOR EURUSD,M15:加载成功
15:18:09 2006.10.17 09:38 NRTR_GATOR EURUSD,M30:加载成功
15:18:09 2006.10.17 09:38 NRTR_GATOR EURUSD,H1:加载成功
15:18:09 2006.10.17 09:38 NRTR_GATOR EURUSD,H4:加载成功
15:18:09 2006.10.17 09:38 NRTR_GATOR EURUSD,Daily:加载成功。
15:18:09 2007.01.02 00:00 NRTR_GATOR EURUSD,M30: 注意,趋势未定义。从4月底开始的酒吧
15:18:09 2007.01.02 00 00:00 NRTR_GATOR EURUSD,M30: 警告!趋势没有被定义,它不能被定义。
15:18:09 2007.01.02 00:00 NRTR_GATOR EURUSD,H1: 警告!趋势没有被定义,它不能。从1的末尾开始的酒吧
15:18:09 2007.01.02 00:00 NRTR_GATOR EURUSD,H1: 警告!趋势没有被定义,它不能被定义。
......................................
15:18:23 2007.08.17 22:17 测试员:止损#242在1.3483(1.3483 / 1.3485)。
15:18:23 2007.08.17 22:59 NRTR_GATOR EURUSD,Daily: 删除
15:18:23 2007.08.17 22:59 NRTR_GATOR EURUSD,H4: 已删除
15:18:23 2007.08.17 22:59 NRTR_GATOR EURUSD,H1: 已删除
15:18:23 2007.08.17 22:59 NRTR_GATOR EURUSD,M30: 已删除
15:18:23 2007.08.17 22:59 ProtoType-IX EURUSD,M15: 测试完毕
在 "Every ticks "模式下,对15分钟进行测试需要18秒。
感谢那些回答问题的人。事情正在逐渐明朗化。 把火鸡塞进了屋里。而现在已经达到了极限。
Rosh,--已经尝试了十几次来接近你所说的专家。但是......每次我退缩的时候......。以我微薄的知识,我仍然无法掌握代码和它的结构。我很困惑,不太清楚从哪里开始,如何安排它的研究。 有许多不确定因素,我不能一下子搞定所有的事情。我开始了解一切,很快我就停下来思考--我从哪里开始,为了什么......。
借此机会,我有一个关于 "创建专家顾问的例子 "的问题^
多币种专家顾问的原理大致如下。
1.在计算指标时要指定具体货币和时间间隔,例如:iRSI("GBPUSD",60,GBPUSD_period,3,3,MODE_SMA,0,MODE_MAIN,i); //但这里有一个错误
2.使用MarketInfo获得价格、点数等。
3. 使用iLow(...)而不是Low[0],例如
并适用于所有货币对。
好运。
如果图表没有打开,或者打开的时间段与使用的时间段不同,你必须不断执行
检查每一个喷嚏 - 甚至iRSI可能不工作...直到终端复位...
尊敬的 - S.D.
在网上,我在专家顾问中(在指数中)对所有货币对设置了timef=1分钟(以检查性能)。
我把它放在第一对的图表上,时间为1分钟。但在其他的EA对上,时间框架往往是不同的。尽管如此,EA对所有的交易都是以时间-分钟为单位进行操作的,就像它在代码中实现的那样!
或者是我没有正确理解你的意思?
多币种专家顾问的原理如下。
1.在计算指标时指定具体货币和时间间隔,例如:iRSI("GBPUSD",60,GBPUSD_period,3,3,MODE_SMA,0,MODE_MAIN,i); //但这里有一个错误
2.使用MarketInfo获得价格、点数等。
3.使用iLow(...)而不是Low[0],例如
,并 在所有货币对上写入。
好运。
请你告诉我,替换的结构是否正确。
在多币种专家顾问代码中,当在别人的工具上工作时,在这样的一个工具上。
如果没有,请告知错误在哪里,如何正确操作?
预先感谢你。