[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 616

 

严谨

又是25岁。我非常明确地问,我的第一步行动是否正确。你没有回答一个直接的问题,你没有说一个实质的字。

是的,当然,我读过教科书,但由于我的职业与编程无关,很明显,我要求的是一个清晰、简单、具体的算法。这有多难理解呢?如果你觉得很难就事论事地回答,那么何必呢?就这样走了。

作为评论--你不知道我遇到多少人,我作为一个普通医生,可以说他们是愚蠢的。很难想象,成年人不了解有关他们自己健康的基本问题。如果我对每个人的反应都和你一样,那么我作为一个专家将毫无价值。睡个好觉。

_______________

请--有人给我发电子邮件:neroy(dog)mail.ru,他可以直截了当地把EA代码粘贴到你需要的正确位置。

 
xant:

严谨

又是25岁。我非常明确地问,我的第一步行动是否正确。你没有回答一个直接的问题,你没有说一个实质的字。

是的,当然,我读过教科书,但由于我的职业与编程无关,很明显,我要求的是一个清晰、简单、具体的算法。这有多难理解呢?如果你觉得很难就事论事地回答,那么何必呢?就这样走了。

作为评论--你不知道我遇到多少人,我作为一个普通医生,可以说他们是愚蠢的。很难想象,成年人不了解有关他们自己健康的基本问题。如果我对每个人的反应都和你一样,那么我作为一个专家将毫无价值。睡个好觉。

_______________

请--有人给我发电子邮件:neroy(dog)mail.ru,他可以直截了当地把EA代码粘贴到你需要的正确位置。


你还没有要求把你的EA贴上所需的代码,你也没有公布EA的代码,首先你要求帮助解决关闭EA时数据丢失的问题,当你这样做时,你侮辱了帮助你的人,然后你问你的 "第一步 "是否正确,当你被告知是错误的并指出具体错误时,你再次侮辱了帮助你的人,所以我想没有人会愿意这样做。

P.S.我甚至想不出一个更简单、更清晰的算法,那就是把两个现成的函数,复制到我的EA中,把一个函数的调用放在init的开头,另一个放在start的结尾。

 
rigonich:

这实际上是你的代码,被别人部分地纠正了。


我的代码没有出现任何错误。但它也没有得到任何结果。

而他的代码甚至没有工作,因为24个错误....。

但我得到了这个想法......而且现在已经成功了。

 

当然,编译器是没有人性的。现在我的大脑几乎崩溃了,不知道为什么会出现错误

'(' -函数 定义意外 G:\Program_Files_2\MT4-demo\experts\3.mq4 (139, 14)

虽然这个专家顾问昨天工作得很好,但今天我刚开了一个多头IF,变成了几个空头....。

结果我漏掉了一个关于KILLOMETre的倒置逗号,从那里编译器显示错误!此外,他对倒置逗号保持沉默,他对FUNCTION不满意,你看....:((((((((

 

严谨

我可以逐一回应你的每一个字,但我不认为有什么意义了。如果有人固执己见,那就没有必要解释什么了。问题是如何组织。然后,当你提示说全局变量 比写入文件更好时,就出现了如何正确操作的问题。然后你的紧张的共同签署人给出了一段代码,不放过任何一个调侃的机会。这很简单--部分代码进入初始化块,部分代码进入主EA块。

这就是进入初始化块的内容。

 void fGet_MineGV (string fs_PrefName = "") // префикс имени переменной
     {
        string ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_1");
        if (GlobalVariableCheck (ls_Name)) SUA = GlobalVariableGet (ls_Name);
        ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_2");
        if (GlobalVariableCheck (ls_Name)) SUA1 = GlobalVariableGet (ls_Name);
        ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_3");
        if (GlobalVariableCheck (ls_Name)) BUA = GlobalVariableGet (ls_Name);
        ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_4");
        if (GlobalVariableCheck (ls_Name)) BUA1 = GlobalVariableGet (ls_Name);
     }

这就是进入主块的内容

 void fSave_MineGV (string fs_PrefName = "") // префикс имени переменной
{
 static datetime ldt_NewBar;
 datetime ldaTBeginBar = iTime (Symbol(), 1, 0)
 //---- Сохраняемся в начале каждой минуты
 if (ldt_NewBar == ldaTBeginBar) return;
 ldt_NewBar = ldaTBeginBar;
 //---- Сохраняем поочереди значения каждой переменной
 string ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_1");
 GlobalVariableSet (ls_Name, SUA);
 ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_2");
 GlobalVariableSet (ls_Name, SUA1);
 ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_3");
 GlobalVariableSet (ls_Name, BUA);
 ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_4");
  GlobalVariableSet (ls_Name, BUA1);
}

正如你所看到的,我已经重新命名了这些变量。

因此,我依次插入了第二部分代码,从变量计算后立即开始,一直到起始块的末尾,最后试图在最后一个大括号前插入。

从你高度专业的解释来看,这就是我应该做的,因为对任何初学者来说都很清楚。按照你的说法,它应该是有效的。但它并没有。这是我设法取得的最好成绩。

8 error(s), 0 warning(s)        
 

在库中找不到正确的函数

最后平仓 的获利规模。

也许有人有一个?

 

是否允许这样的连锁店?

if ( (A==1 && B==2) && (C==2 || D==3) && E==4)

也就是说,在一行中同时有AND和OR?

 
 lottamer:

是否允许这样的连锁店?

if ( (A==1 && B==2) && (C==2 || D==3) && E==4)

也就是说,在一行中同时有AND和OR?


答案是肯定的。有些语言是不允许的吗?什么,他们必须把所有的东西都简化为连词和非连词-正常形式吗?
 
lottamer:

在库中找不到正确的函数

最后一次平仓的获利规模。

也许有人有一个?


自己写吧--有1个单循环。只要努力去做就可以了。如果你失败了,请向我们展示你的循环代码--我们会帮助你。
 
xant:

严谨

我可以逐一回应你的每一个字,但我不认为有什么意义了。如果有人固执己见,那就没有必要解释什么了。问题是如何组织。然后,当你提示说全局变量比写入文件更好时,就出现了如何正确操作的问题。然后你的紧张的共同签署人给出了一段代码,不放过任何一个调侃的机会。这很简单--部分代码进入初始化块,部分代码进入主EA块。

这就是进入初始化块的内容。

这就是进入主块的内容

正如你所看到的,我已经重新命名了这些变量。

因此,我依次插入了第二部分代码,从变量计算后立即开始,一直到起始块的末尾,最后试图在最后一个大括号前插入。

从你高度专业的解释来看,这就是我应该做的,因为对任何初学者来说都很清楚。按照你的说法,它应该是有效的。但它并没有。这是我设法取得的最好成绩。


仔细阅读。这两个块被称为功能描述,它们不能放在其他功能描述的内部。在初始阶段应放置

{
fGet_MineGV()。
}

这些函数本身需要单独放在你的EA中,无论是在init还是在start中的任何自定义函数。

你那紧张的共同签署人并没有给你部分代码,而是给了你两个现成的函数,他为你写的