[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 996 1...9899909919929939949959969979989991000100110021003...1145 新评论 techno 2010.11.30 19:33 #9951 总是这样,先回答一个问题,然后写一个顾问,然后随着新想法的到来无休止地改变它,可怜的艺术媒体,所以很快所有的程序员都会离开,没有人可以帮助) Julia Sharipova 2010.11.30 19:42 #9952 Techno 完全同意你的观点,但我是要求你开一个主题,而不是在其他地方,这个主题说什么? 初学者的任何问题,为了不使论坛杂乱无章。专业人士不走。没有你就无处可去。 如果讨论不适合在主线上进行,版主可以把它放在一个单独的主题上。 然后这个案子纯粹是自愿的,我没有要求替我写所有的工作,就像我上面说的,我在学习,我想那些刚加入的新人也是如此,他们学到了很多。 techno 2010.11.30 19:45 #9953 ex_kalibur: Techno 完全同意你的观点,但是......。 那么,到目前为止,从上面写的职权范围来看,你建议一切都应该为你写。这个主题是专门为初学者在编程和培训过程中出现的问题而设计的,而不是为了满足他们所有的愿望) Julia Sharipova 2010.11.30 19:47 #9954 因此,如果大家都同意职权范围,而且都清楚,那就继续。首先,我附上所有的模板文件 附加的文件: usualexpertw_1_.mq4 3 kb check.mq4 2 kb terminalo_1_.mqh 4 kb informc_1_.mqh 7 kb events.mqh 6 kb lot.mqh 3 kb criterion.mqh 4 kb trade_1.mqh 3 kb close_all_1.mqh 3 kb open_ord_1.mqh 3 kb errors.mqh 3 kb Julia Sharipova 2010.11.30 19:49 #9955 Techno: 到目前为止,从上述书面的职权范围来看,你提议为你写好一切。该主题是针对初学者在编程和训练过程中的问题而设计的,不是为了满足他们的所有愿望) 我一开始就提出了问题,但后来变得非常复杂,由于该程序有一个复杂的结构,并有传入的文件,所以不可能显示代码,因此我将重新开始,从我离开的地方开始。 Александр 2010.11.30 19:56 #9956 我想把我的EA从mq4改写成mq5。你能告诉我,在mq5中测试和优化EA的速度会快多少吗? Victor Nikolaev 2010.11.30 19:57 #9957 ex_kalibur: 因此,如果大家都同意职权范围,而且都清楚,那就继续。首先我附上所有的模板文件 为什么这么复杂? Julia Sharipova 2010.11.30 20:10 #9958 Vinin: 为什么这么复杂? 因为我被难住了,我甚至无法提出一个合格的问题 Julia Sharipova 2010.11.30 20:13 #9959 让我们从 "标准 "函数开始吧 为了确定通道,我们将分别使用ZigZag指标,让我们设置它的参数。 //-------------------------------------------------------------------- // Criterion.mqh //--------------------------------------------------------------- 1 -- // Функция вычисления торговых критериев. // Возвращаемые значения: // 10 - открытие Buy // 20 - открытие Sell // 11 - закрытие Buy // 21 - закрытие Sell // 0 - значимых критериев нет // -1 - используется другой финансовый инструмент //--------------------------------------------------------------- 2 -- // Внешние переменные: eextern int ExtDepth=12; extern int ExtDeviation=5; extern int ExtBackstep=3; //----------------------------------------------------------------------- int Criterion() // Пользовательская функция { string Sym="EURGBR"; if (Sym!=Symbol()) // Если не наш фин. инструмент { Inform(16); // Сообщение.. return(-1); } // .. и выход double High, Low ; //------------------- Параметры технич. индикат: ------------------- High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar); Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar); int TicSpred=100; double Spread[1000]; if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);} for (int q=TicSpred;q>0;q--){ if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;} for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];} Spread[0]=(Ask-Bid)/delta; double CountedSpred; for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];} //--------------------------------------------------------------- 5 -- // Вычисление торговых критериев if (Bid <= Low && Ask< High -CountedSpred/2*delta ) return(10); if ( Bid>= High ) return(20); [WARNING CLOSED!] Any newbie Any questions from newcomers 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. Julia Sharipova 2010.11.30 20:22 #9960 // 交易标准的计算 如果(Bid <= Low && Ask< High -CountedSpred/2*delta) return(10); If ( Bid>= High ) 返回(20)。 在这里我被卡住了,根据任务,我们应该首先获得平均价差的历史,我应该怎么做? 我希望我的100个单元格阵列被完全填满 1...9899909919929939949959969979989991000100110021003...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Techno 完全同意你的观点,但我是要求你开一个主题,而不是在其他地方,这个主题说什么?
初学者的任何问题,为了不使论坛杂乱无章。专业人士不走。没有你就无处可去。
如果讨论不适合在主线上进行,版主可以把它放在一个单独的主题上。
然后这个案子纯粹是自愿的,我没有要求替我写所有的工作,就像我上面说的,我在学习,我想那些刚加入的新人也是如此,他们学到了很多。
Techno 完全同意你的观点,但是......。
到目前为止,从上述书面的职权范围来看,你提议为你写好一切。该主题是针对初学者在编程和训练过程中的问题而设计的,不是为了满足他们的所有愿望)
我想把我的EA从mq4改写成mq5。你能告诉我,在mq5中测试和优化EA的速度会快多少吗?
因此,如果大家都同意职权范围,而且都清楚,那就继续。首先我附上所有的模板文件
为什么这么复杂?
为什么这么复杂?
让我们从 "标准 "函数开始吧
为了确定通道,我们将分别使用ZigZag指标,让我们设置它的参数。
//--------------------------------------------------------------------
// Criterion.mqh
//--------------------------------------------------------------- 1 --
// Функция вычисления торговых критериев.
// Возвращаемые значения:
// 10 - открытие Buy
// 20 - открытие Sell
// 11 - закрытие Buy
// 21 - закрытие Sell
// 0 - значимых критериев нет
// -1 - используется другой финансовый инструмент
//--------------------------------------------------------------- 2 --
// Внешние переменные:
eextern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
//-----------------------------------------------------------------------
int Criterion() // Пользовательская функция
{
string Sym="EURGBR";
if (Sym!=Symbol()) // Если не наш фин. инструмент
{
Inform(16); // Сообщение..
return(-1);
} // .. и выход
double
High,
Low ;
//------------------- Параметры технич. индикат: -------------------
High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);
Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);
int TicSpred=100;
double Spread[1000];
if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}
for (int q=TicSpred;q>0;q--){
if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}
for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}
Spread[0]=(Ask-Bid)/delta;
double CountedSpred;
for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}
//--------------------------------------------------------------- 5 --
// Вычисление торговых критериев
if (Bid <= Low && Ask< High -CountedSpred/2*delta )
return(10);
if ( Bid>= High )
return(20);
// 交易标准的计算
如果(Bid <= Low && Ask< High -CountedSpred/2*delta)
return(10);
If ( Bid>= High )
返回(20)。
在这里我被卡住了,根据任务,我们应该首先获得平均价差的历史,我应该怎么做?
我希望我的100个单元格阵列被完全填满