Да, так более информативно. Т.е. этот незамысловатый модуль должен давать коммент для
последующего присвоения ордеру. Когда открыта группа с комментом 1, он дает коммент 2 (это правильно).
Когда открыта 2-я группа, опять дает 1. Не могу понять.
//+------------------------------------------------------------------+//| Функция IsMainPendingOrder (установлен отложенный ордер): |//| возвращает истину, если в советнике уже установлен отложенный |//| ордер, в противном случае возвращает ложь. |//| Применим для функции с типом данных bool, чтобы хранить |//| логические значения true (истина) или false (ложь). |//+------------------------------------------------------------------+bool IsMainPendingOrder()
{
int orders_total=OrdersTotal(); // количество установленных отложенных ордеров//--- перебираем все установленные отложенные ордераfor(int i=orders_total-1; i>=0; i--)
{
ulong order_ticket=OrderGetTicket(i); // тикет ордера/* если отложенного ордера нет, значит и у нашего советника отложенного ордера нет */if(OrderSelect(i)==false)
returnfalse; // поэтому возвращаем ложь
}
/* если отложенный ордер уже есть и его мэджик совпадает с мэджиком нашего советника */if(OrderGetInteger(ORDER_MAGIC)==Magic_Number)
returntrue; // то возвращаем истину/* в противном случае, если отложенный ордер уже есть, но его мэджик не совпадает с мэджиком нашего советника */elsereturnfalse; // значит это чья-то чужая позиция, поэтому возвращаем ложь
}
//+------------------------------------------------------------------+//| Функция IsMainPendingOrder (установлен отложенный ордер): |//| возвращает истину, если в советнике не установлен отложенный |//| ордер, в противном случае возвращает ложь. |//| Применим для функции тип данных bool, чтобы хранить |//| логические значения true (истина) или false (ложь). |//+------------------------------------------------------------------+bool IsMainPendingOrder()
{
int orders_total=OrdersTotal(); // количество установленных отложенных ордеров//--- перебираем все установленные отложенные ордераfor(int i=orders_total-1; i>=0; i--)
{
ulong order_ticket=OrderGetTicket(i); // тикет ордера/* если отложенного ордера нет, значит и у нашего советника отложенного ордера нет */if(OrderSelect(i)==false)
returntrue; // поэтому возвращаем значение истинаelse// в противном случаеreturnfalse; // возвращаем значение ложь
}
/* если отложенный ордер уже есть и его мэджик совпадает с мэджиком нашего советника */if(OrderGetInteger(ORDER_MAGIC)==Magic_Number)
returntrue; // то возвращаем истину/* в противном случае, если отложенный ордер уже есть, но его мэджик не совпадает с мэджиком нашего советника */elsereturnfalse; // значит это чужой ордер, поэтому возвращаем значение ложь
谢谢你的参与。任务说明对我来说很清楚。我被困在执行中...
试着用了一下评论。到第二组为止,它的数字是正确的。第三天,它返回一个评论,尽管第一组仍然在市场上。这个想法不是为了乘以数字,而是为了占用空出来的数字。我希望我解释清楚了)。
不太清楚,但仍然使用按钮来插入代码
或ALT+s
大家晚上好!
我写了一个确定挂单 是否已经被设置的 函数,但这个函数由于某些原因而不能工作。能否请你告诉我们错误在哪里?真诚的,弗拉基米尔。
我自己也发现了这个错误!!!。
下面是一个正常工作的代码。可能对某人有用。问候,弗拉基米尔。
请告知如何组织或寻找哪种方式。
在这里,为了不进行条形计算,发明了缓冲器。每一个新的刻度线都只检查最后一个条形图(按照我的理解)。当一个新的条形图出现时,计算将只从这个条形图开始。
由于有了缓冲区,线条不会在整个历史上重新绘制,但会在最后的边缘增加一个额外的段。总共有8个缓冲区。
如果我需要做一百次计算(比方说画一条线100次,只改变一个变量),然后画出最好的结果,怎么办?在一个新的刻度线或计时器上做同样的事情,但用现有的 "历史 "结果(图纸)。我在哪里以及如何存储这些信息,以便我不必重新计算整个历史?
或者,更简单地说,如何增加指标中的缓冲区数量?也许把它们分别写到一个文件里?什么是更好的请告知如何组织或寻找哪种方式。
在这里,为了不进行条形计算,发明了缓冲器。每一个新的刻度线都只检查最后一个条形图(按我的理解)。当一个新的条形图出现时,计算将只从这个条形图开始。
由于有了缓冲区,线条不会在整个历史上重新绘制,但会在最后的边缘增加一个额外的段。总共有8个缓冲区。
如果我需要做一百次计算(比方说画一条线100次,只改变一个变量),然后画出最好的结果,怎么办?在一个新的刻度线或计时器上做同样的事情,但用现有的 "历史 "结果(图纸)。我在哪里以及如何存储这些信息,以便我不必在整个历史中进行这些计算?
或者,更简单地说,我如何增加一个指标中的缓冲区数量?也许可以单独写到一个文件中?什么是最好的方法?指标中共有512个缓冲区。
指标中共有512个缓冲区。
哦,哇。谢谢你。我一定是找错了地方。我将继续努力。
自己发现的错误!!!。
这里有一个正常工作的代码。可能对某人有用。问候,弗拉基米尔。
这对任何人都没有用。你的代码中存在严重的错误。而纠正他们是没有意义的。
你甚至不屑于学习语言的基础知识,并试图写一些东西。
要么认真对待,要么放弃。
没有人可以使用它。你的代码中存在严重的错误。而纠正他们是没有意义的。
你甚至不屑于学习语言的基础知识,就想写点什么。
要么认真起来,要么放弃。
新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论
并在这里等待帮助。
问候,弗拉基米尔。
早上好!是的,你说得很对。你需要放弃这种无意义的业务,也就是申请到
新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论
并在这里等待帮助。
真诚的,弗拉基米尔。
你是对的,放弃吧。
你甚至不理解我用俄语写的东西。
你为什么想进入编程领域?