新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 676

 

Artyom Trishkin:

看起来我已经过度劳累了...

看起来像...))))))

根据帮助和各种教程中的说明创建EA 时,它创建的正是有关的模板。我就是这样理解的。然后,这个模板中的一些地方被纠正了。我个人不喜欢OnDeinit()站在OnTick()之前,我把它移到代码的最后。而且我也不喜欢一些非必要的....。总之,我的脑子里有自己的小虫子......

 
Andrey Sokolov:

这很明显,我对模板本身也很感兴趣

大约5年前,在metaeditora文件夹里有一个模板,之前是为自己制定的规则,现在全部挖在了终端文件夹 里--没有找到,但应该在某个地方,有一个纯文本文件

ZS。

发现我的旧终端,不在发行版中--已经部署了

以前有专家模板/指示器/脚本/库,一切都在路上。

....\experts\templates

和文件位于那里。

Include.mqt

图书馆.mqt

Expert.mqt

指标.mqt

脚本.mqt


我试着把模板文件夹复制到已安装的MT4文件夹中......没有成功((()

附加的文件:
templates.zip  7 kb
 
Igor Makanu:

大约5年前,在元编辑器文件夹里有一个模板,我曾经为自己编辑它,现在我已经搜索了终端文件夹,找不到它,但它一定在某个地方,它只是一个纯文本文件。

ZS。

发现我的旧终端,不在发行版中--已经部署了

以前有专家模板/指示器/脚本/库,一切都在路上。

....\experts\templates

和文件位于那里。

Include.mqt

图书馆.mqt

Expert.mqt

指标.mqt

脚本.mqt


我试着把模板文件夹复制到已安装的MT4文件夹中......没有成功((()

主持人放弃这种模板已经很久了。

 
Igor Makanu:

大约5年前,在元编辑器文件夹里有一个模板,我曾经为自己编辑它,现在我搜索了终端文件夹,没有找到它,但它一定在某个地方,它只是一个纯文本文件。

ZS。

发现我的旧终端,不在发行版中--已经部署了

以前有专家模板/指示器/脚本/库,一切都在路上。

....\experts\templates

和文件位于那里。

Include.mqt

图书馆.mqt

Expert.mqt

指标.mqt

脚本.mqt


我试着将模板文件夹复制到已安装的MT4文件夹中......唉,什么都没有(()

唉,又是 "唉,什么都没有"--即使是在MT4中也是如此。

我不明白发生了什么事!

伊戈尔!

你需要 "升级"!

否则,就不会有好的结果!他们在论坛上对你的评价是不同的!!。

 
Igor Makanu:

人们对你的评价并不重要,重要的是人们对你的评价。(С)

当引用聪明人的思想时(相对于你自己)--你应该做一个参考!!!。

根据出版物的规则,它必须如此。为了区分傻子和聪明人。

https://socratify.net/quotes/iuristy-bostona/171580

虽然墨索里尼也说过同样的话。

Не важно, что о тебе говорят, главное, что о тебе говорят
  • socratify.net
Если хочешь узнать человека, не слушай, что о нём говорят другие, послушай, что он говорит о других. Не важно, что тебе скажут другие о начале твоего пути. Важно, что они скажут после того когда ты добьешься своей цели. Вы знаете, что такое обаяние? Умение почувствовать, как тебе говорят «да», хотя ты ни о чем не спрашивал. Настоящий друг — это...
 
neverness:

当引用聪明人(不像你)的想法时,你应该做一个参考!!。

按照出版业的规则,应该是这样的。为了区分傻子和聪明人。

我们现在是直呼其名了吗?认可

你选择了错误的论坛来发泄你的怨气,正如你所要求的。"看着一个想冒犯你的人,这很有趣。就像猴子扔便便一样。你在玻璃后面,他的爪子都在***里"(互联网)。

 
Igor Makanu:

SELECT_BY_POS是在订单列表和你的设计中 "按队列 "选择一个订单。

您正在尝试选择一个订单,该订单是由订单队列# ...而你在这里使用的是票号,你只有一个订单和票号10023444......所以呢?在这里你需要一个 从1到2,3 的数字......好吧,你在市场上有多少订单,......纠正从0,1,2的数字。- 编号从数组中的0开始,一直到OrdersTotal()-1

SELECT_BY_TICKET应该工作,但只到你有票号的时候,也就是你在市场上的订单,上面有订单发送的检查,如果订单没有发送,票号=-1 !

总而言之,你的订单工作设计是不正确的。 如果你决定学习MQL,这里有现成的订单工作实例https://www.mql5.com/ru/forum/131859

谢谢你的帮助!问题是,订单确实打开了。我查过了。这张票被分配了。但在进一步尝试选择它时,我得到了一个-1的信息。与你所举的例子不同,我不是在选择一个符号等。我有一个订单,有一个已知的手数,交易,没有止损/止盈等等。正是在这个设计中(选择它是为了简单),当使用SELECT_BY_TICKET参数时,我得到了一个4051的错误。我理解在这种情况下使用SELECT_BY_POS是不正确的。这是一个实验,目的是为了更好地了解策略测试器的工作原理。这个实验表明,策略测试器在无法联系到服务器时,不会分配服务器分配的票据,而是简单地分配序号。尽管如此,问题仍然是为什么会出现4051的错误。此外,我试着在OrderSelect中放入0,并结合SELECT_BY_POS作为第一个参数。答案是一样的4051。
 
ski1973:
谢谢你的帮助!问题是,订单确实打开了。我查过了。一张票被分配了。但是当我进一步尝试选择它时,得到了一个-1的信息。与你所举的例子不同,我不是在选择一个符号等。我有一个订单,有一个已知的手数,交易,没有止损/止盈等等。正是在这个设计中(选择它是为了简单),当使用SELECT_BY_TICKET参数时,我得到了一个4051的错误。我理解在这种情况下使用SELECT_BY_POS是不正确的。这是一个实验,目的是为了更好地了解策略测试器的工作原理。这个实验表明,策略测试器在无法联系到服务器时,不会分配服务器分配的票据,而是简单地分配序号。尽管如此,问题仍然是为什么会出现4051的错误。此外,我试着在OrderSelect中放入0,并结合SELECT_BY_POS作为第一个参数。答案是一样的4051。

如果我没记错的话,策略测试器 是按订单队列生成票据的:1,2,3...。

唉,你需要自己寻找错误4051,重新打印你传递给OrderSelect的所有变量。

或者,您已经选择了一个已关闭的订单,已关闭订单的关闭时间将>0。

但我还是建议从已经存在的(工作中的)代码开始学习,这对我来说更容易些!"。

 
ski1973:
谢谢你的帮助!问题是,订单确实打开了。我查过了。这张票被分配了。但是当试图选择它时,我得到了一个-1的信息。与你所举的例子不同,我不是在选择一个符号等。我有一个订单,有一个已知的手数,交易,没有止损/止盈等等。正是在这个设计中(选择它是为了简单),当使用SELECT_BY_TICKET参数时,我得到了一个4051的错误。我理解在这种情况下使用SELECT_BY_POS是不正确的。这是一个实验,目的是为了更好地了解策略测试器的工作原理。这个实验表明,策略测试器在无法联系到服务器时,不会分配服务器分配的票据,而是简单地分配序号。尽管如此,问题仍然是为什么会出现4051的错误。此外,我试着在OrderSelect中放入0,并结合SELECT_BY_POS作为第一个参数。答案是一样的4051。

你的代码中有一个问题。

double Lots=0.01;
int slippage=30;


void OnTick()
{
int numer=-10;//На каждом новом тике из за этого присвоения процедура Subr2 будет возвращать ошибку!!!
if(OrdersTotal()==0)numer=Subr1();
if(OrdersTotal()>0)Subr2(numer);
return;
}

int Subr1()
{
int result=-1;
int_result=OrderSend(_symbol,OP_BUY,Lots,slippage,0,0);
if(int_res<0){PrintFormat("OrderSend error = ",GetError());}
return int_result;
}
void Subr2(int order)
{
if(!OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)){PrintFormat("OrderSelect error %d",GetLastError());return;} else PrintFormat("Ok, OrderTicket = ",OrderTicket());
}
 
你好,任何关于mql4在未来是否会被支持的信息,当似乎mt4的销售已经停止?
原因: