//+----------------------------------------------------------------------------+//| Версия : 30.03.2011 |//| Описание : Возвращает тип последней закрытой позиции |//| если Buy 1 , если Sell -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| symbol - наименование инструмента |//| magic - MagicNumber |//+----------------------------------------------------------------------------+int LastCloseDeal(string symbol, int magic)
{
int lastclosetime=-1;
int lastcloseticket=-1;
int lastdealtype=0;
for (int i=0; i<OrdersHistoryTotal(); i++)
{
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol()==symbol || OrderMagicNumber()==magic)
{
if (lastclosetime<OrderCloseTime())
{
lastclosetime=OrderCloseTime();
lastcloseticket=OrderTicket();
}
}
}
if (OrderSelect(lastcloseticket, SELECT_BY_TICKET, MODE_HISTORY))
{
if (OrderType()==OP_BUY) lastdealtype=1;
if (OrderType()==OP_SELL) lastdealtype=-1;
}
return(lastdealtype);
}
基本上,这个策略本身是非常长和复杂的,没有必要描述它,这是1点,以创建一个循环,即我需要找到一些东西,而不是总==1,不打开一个不符合要求的位置,即如果它关闭在ST,然后.........open 1,如果关闭在......... тп打开2,条件缺乏在市场上的订单,这是所有。
基本上,这个策略本身是非常长和复杂的,没有必要描述它,它是1点,以创建一个循环,即我需要找到一些东西,而不是总==1,不打开不符合要求的头寸,即如果由st关闭,那么.........open 1,如果由......... тп打开2,条件是市场上的订单不存在,这是所有。
那么你就是不想使用伊戈尔的函数。你需要一个函数来返回最后关闭的订单的类型,以及它被关闭的原因。它不会返回某种类型的最后一个关闭订单的原因。 我现在会试着想办法......。
那么你就是不符合你所使用的伊戈尔的功能。你需要一个函数来返回最后关闭的订单的类型,以及它被关闭的原因(tap或sl)。它不会返回某种类型的最后一个关闭订单的原因。我现在会试着想办法......。
如果你有类似于Klimovskoe的东西,只返回最后一个订单关闭的值,我将非常感谢你。
试着将这样的函数与Igor的函数结合起来。
你的这段代码应该是这样的
你的这段代码应该是这样的
谢谢你,我可以试一试。
你好,请帮助我在指定的点设置虚拟止损。 更准确地说:EA不需要发送新的SL数据,而只需将它们存储在变量中(或其他地方),并不断追踪,追踪,当价格达到一定水平时,它将向经纪公司发送一个关闭订单的信号,(一种带有虚拟止损的虚拟追踪止损)。换句话说,专家顾问包括一个从1点到DC服务器的无形水平上的追踪止损...它是现实的吗?
是的,它是真实的,当然了。你看一下未平仓的订单,它们有一个未平仓的价格,例如,我们有一个以X的价格开的买入订单,虚拟止损Y点,所以如果当前价格Z<=X-Y*点,该订单应该被关闭。当然,我们还应该考虑到点差,如果止损不是固定的,而是计算出来的,计算出来的数值必须安全地储存在某个地方,等等。
搜索 "虚拟止损"、"虚拟止损 "等。
这当然是现实的。如果我们查看未平仓的订单,它们的未平仓价格将被设定,例如,我们有一个以X价格开立的买入订单,虚拟止损是Y点,所以如果当前价格Z<=X-Y*点,订单将被关闭。当然,我们必须考虑到点差,如果止损不是固定的,而是计算出来的,那么计算出来的数值就必须安全地储存在某个地方,等等。
搜索 "虚拟止损"、"虚拟止损 "等。
我认为我们不能没有自己的某种订单簿记。
创建你自己的订单阵列,并在其中存储所有必要的虚拟停止数据。
是的,它是真实的,当然了。你看一下未平仓的订单,它们有一个未平仓的价格,例如,我们有一个以X的价格开的买入订单,虚拟止损Y点,所以如果当前价格Z<=X-Y*点,该订单应该被关闭。当然,我们还应该考虑到点差,如果止损不是固定的,而是计算出来的,计算出来的数值必须安全地储存在某个地方,等等。
搜索 "虚拟止损"、"虚拟止损 "等。
谢谢你的回答,只是追踪止损(trailing stop)的问题,我想追踪最小1点,我想在每一个tick 上向经纪公司发送orderModify - 这只是流氓行为IMHO ))
"如果止损不是固定的,而是计算出来的,那么计算出来的值必须安全地储存在某个地方"。
在哪里存储和如何调用它......我认为它必须是一个变量,或者我错了......