for(i=limit-1; i>=0; i--) //цикл расчета нерассчитанных баров, наверное
{
BufferMacdMain[i] = iMACD(NULL, 0, macd_fast, macd_slow, macd_signal, PRICE_CLOSE, MODE_MAIN, i); // расчет значения основной линии масд на i баре
BufferMacdSignal[i] = iMACD(NULL, 0, macd_fast, macd_slow, macd_signal, PRICE_CLOSE, MODE_SIGNAL, i); // расчет значения сигнальной линии масд на i баре
BufferMacdOsMA[i] = BufferMacdMain[i] - BufferMacdSignal[i]; // разница основной и сигнальной линии масд на i баре
BufferTop[i] = EMPTY_VALUE; // буфер заполняется EMPTY_VALUE на i баре (не рисуется на графиках)
BufferBottom[i] = EMPTY_VALUE; // буфер заполняется EMPTY_VALUE на i баре (не рисуется на графиках)
BufferCross[i] = EMPTY_VALUE; // буфер заполняется EMPTY_VALUE на i баре (не рисуется на графиках)double main2 = BufferMacdMain[i + 2]; // переменная берет значение основной линии масд на i+2 баре с массива BufferMacdMaindouble main1 = BufferMacdMain[i + 1]; // переменная берет значение основной линии масд на i+1 баре с массива BufferMacdMaindouble sig2 = BufferMacdSignal[i + 2]; // переменная берет значение сигнальной линии масд на i+2 баре с массива BufferMacdSignaldouble sig1 = BufferMacdSignal[i + 1]; // переменная берет значение сигнальной линии масд на i+1 баре с массива BufferMacdSignalif((main1>=sig1 && main2<sig2) || // если main1>=sig1 и main2<sig2 тогда будет выполнятся условие (сигнальная пересекает основную снизу вверх)
(main1<sig1 && main2>=sig2)) // если main1<sig и main2>=sig2 тогда будет выполнятся условие (сигнальная пересекает основную сверху вниз)
你好,重新表述你的问题,这不是很清楚。
谢谢你的答复。在我的EA中:
如果( 条件)
{两个买入止损单和卖出止损单打开}。
当其中一个订单打开时,我需要删除最近的订单,因为此刻可能还有其他订单,离当前价格更远。
我可以使用一个未结头寸 计数器+脚本来删除一个订单(如果我想得没错,我不知道如何做,我才刚刚开始)提前感谢您的信息。
有必要在其中一个仓位开盘时删除最接近的订单,因为此时可能还有其他订单--离当前价格很远。
我可以使用一个未结头寸计数器+脚本来删除一个订单(如果我想得没错,我不知道如何做,我才刚刚开始)提前感谢您的信息。
请学习术语,了解你所需要的东西确实是个问题。
你下了两个挂单,如果其中一个开盘,你要删除什么?
这是一个很好的概念,最近的订单是在开仓的方向 还是反对,或者你是说你必须删除相反的挂单?
是否有其他订单--它们来自哪里,来自手动交易? 来自同一个专家顾问,但在不同条件下打开?
你需要一个具体的答案,还是像问题一样模糊不清?(多花一分钟时间拟定你的问题--这对大家都有帮助)
读到这几行字,我想起我自己是如何被指责为文盲的,或者说是懒惰的,现在我更加意识到自己的错误行为。
1)什么是绘图机?(按你的理解)
2)搜索MACD背离的基本函数是什么?
3)在搜索引擎中写下 "分歧 "并选择 "代码库 "类别中的第三个链接 有这么难吗?
(如果你希望有人给你一个现成的工具,并解释一切--希望如此,这里有不同的人:既有信徒,也有非信徒)
我希望你知道什么是近义词!你难道不愿意有一个论坛来互相谈论形而上学吗?
绘图工具--与图表上的输出。
初级函数是指只用MQL4教科书就可以应用的函数,不需要使用复杂的表达式。
在检测MACD背离时如何使用指标缓冲区。
如何理解它?
我希望你知道什么是近义词!你认为这个论坛只是为了形而上学吗?
绘图--有输出到图表的功能。
初级函数是只用MQL4教程就可以应用的函数,不需要使用复杂的表达式。
检测MACD背离时如何使用指标缓冲区。
如何理解它?
首先,找出什么是发散,以及需要多少个值来确定它。这里有例子。
我希望你知道什么是近义词!你认为该论坛是为形而上学服务的吗?
绘图--有输出到图表的功能。
初级函数是只用MQL4教程就可以应用的函数,不需要使用复杂的表达式。
在检测MACD背离时如何使用指标缓冲区。
如何理解它?
这不是一个灵媒俱乐部;如果你想得到充分的答案,请问充分的问题。如果你不知道如何措辞,就从远处进去,但这样就会很清楚,你不必反复询问某个人的这个或那个术语是什么意思。
初级函数是不使用复杂表达式的函数。棒极了。
没有闭环括号的代码,没有条件后的函数--你希望得到什么?
请学习术语,因为准确理解你所需要的东西是一个真正的挑战。
你下了两个挂单,如果其中一个开盘,你必须删除哪个?
最近的订单--一个美妙的概念,最近的订单是在开仓方向还是在反对方向,还是说应该删除相反的挂单?
是否有其他订单--它们来自哪里,来自手动交易? 来自同一个专家顾问,但在不同条件下打开?
你需要一个具体的答案,还是像问题一样模糊不清?(多花一分钟时间来拟定你的问题--这对大家都有好处)。
是的,你说对了:当你打开一个订单时,你必须删除相反的挂单,其他订单来自同一个EA,但在不同的条件下打开。
提前感谢。
是的,你说对了:当你打开一个订单时,你必须删除相反的挂单,其他订单来自同一个EA,但在不同的条件下打开。
提前感谢。
如果我正确理解了你的要求:这种机制被称为OCO(One Cansel Other - 一个取消另一个)。这就是例如 "市场订单"(MT4术语)的接受和停止之间的关系--一个(接受或停止)被触发,另一个被自动删除,完全实现这一点并不是一件小事。不是指非常复杂的算法,而是指它不是初级的。我们必须写出订单的平行核算:输入并跟踪订单之间联系的特质。如果我没记错的话,这样的机制在MT5中也没有实现,尽管它是股票终端的标准功能,在服务器端工作。
我们可以在客户端实现这一机制,并 "玩弄 "魔术师(在这种情况下 "不是很困难"):所有必须保留的订单都有同一个魔术师。检查时:如果有一个市场,所有其他的都被删除。然后需要产生一个魔力,伴随着。为魔术师分配一个单独的数组:可能要支持多于一对的订单。不可能丢失魔力,因此要么是全局变量,要么是写到文件。如果我们以更全局的方式来做这件事(不仅考虑订单的连通性,而且考虑归属/外国),核算机制变得更加复杂:魔术师变得复杂,实际上我们需要扩展下单的标准算法,比我们使用 "基本"(用你的术语)函数做的要深得多,但仍然一切都在客户端,即如果终端关闭或通信丢失,订单将无法工作(被跟踪)。
如果我没有理解错的话:这种机制被称为OCO(One Cansel Other - 一个取消另一个)。这就是例如 "市场订单"(MT4术语)的接受和停止之间的关系--一个(接受或停止)被触发,另一个被自动删除,完全实现并不是一件小事。不是指非常复杂的算法,而是指它不是初级的。我们必须写出订单的平行核算:输入并追踪订单之间的联系的蛛丝马迹。如果我没有弄错的话,这样的机制在MT5中也没有实现,尽管它是股票终端的标准功能,在服务器端工作。
虽然,我们可以在客户端实现这一机制,并 "玩弄 "魔术师(在这种情况下将 "不是很困难"):所有必须保留的订单都有相同的魔术师。检查时:如果有一个市场,所有其他的都被删除。然后需要产生一个魔力,伴随着。为魔术师分配一个单独的数组:可能要支持多于一对的订单。不可能丢失魔力,因此要么是全局变量,要么是写到文件。如果我们以更全局的方式来做这件事(不仅考虑订单的连通性,而且考虑归属/外国),核算机制会变得更加复杂:魔术师将变得复杂,实际上我们需要将下订单的标准算法扩展得更深,而不是用 "基本"(用你的术语)函数来做,但无论如何,一切都在客户端:即如果终端被关闭或连接丢失,它将无法工作(跟踪订单)。
对不起,不知道有这么复杂。我将考虑如何简化系统。
对不起,我没有意识到它是如此复杂。我将考虑如何简化系统。
为了帮助。
这只是一个非常 "温和 "的实现,不具有可扩展性:它删除了EA的所有 订单,或者如果有市场的话,删除了某一特定符号的所有向导订单。也就是说,它认为所有下在工具上的订单(考虑到/不考虑魔术师)都是由CCA比率联系起来的。
情况可能根本不是这样。例如,在放置的20个订单中,可能有2或3组链接的订单,其余的根本就没有链接。这个EA不能扩展到这样的核算--我们必须重写一切,或者我们可以在手动模式下使用这个EA:那么链接订单组的主人的核算必须手动完成,我们必须在交易中 "悬挂 "尽可能多的订单组的EA。