[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 58

 
artmedia70:

你不害怕陷入频繁的请求中吗?毕竟,每隔15-30秒,你就得在已有的仓位之外再开一个新仓位,或者删除已有的仓位。

你将无法改变未结头寸的数量。因此,你将不得不把它分成几个位置。

我对EA本身感兴趣。是的,而且已经开放的交易量可以通过简单的增加来增加,通过部分锁定来减少。
 
sergeev:

EA特点


17
darsey 08.08.2011 12:40
你好。是否有可能在mql4中对EA进行编程,使其每15-30秒调整一次手数?

调整地段的一种可能方式。
每隔15-30秒开一个新的小头寸,当你达到预期的利润时,你就把它全部关闭。
 
DhP:

调整地段的一种可能方式。
每隔15-30秒开一个新的小头寸,当你达到预期的利润时,你就把它全部关闭。
谢谢你。我将考虑一下。实际上,我有两个相关度为100%的系列,但波动率不同。我需要将一个系列转换为另一个系列。我看不出有什么出路,因为只有杠铃内的频率地段修正。对此有什么想法吗?我希望我可以在家里做HFT :(
 

下午好。

有一个EA,它有能力选择一个 在EA出现在图表上之前开出的订单。而具体到这个订单,有一个成交条件。假设我们有一个卖出订单,价格有条件地上涨,那么这个订单将在EA显示后立即被关闭。因此,一切都很好,如预期的那样关闭。但我们无法越过有结账时间的条件。我在条件前对这个函数发出警报,它的返回值是0!为什么?文件中写道,只有打开和待处理的返回值为零。为什么这个函数对封闭的也会返回0?我试着在关闭后暂停一秒钟(你永远不知道,也许数据没有来),但它仍然返回零。以下是本节的代码。

if (tempWho == 0 && pos != -1)
{
    if (OrderSelect(pos, SELECT_BY_TICKET))
    {
        ...
        //Тут закрываются ордера
        ...
            
        if (OrderCloseTime() != 0)
        {
            ...
        }
    }
}

谢谢你的关注。

 

伙计们,请告知如何一次下两个订单。什么都没有用。

// 如果最近的最大值接近入市,设置OP_SELLLIMIT订单
if (max<min)
{
1 - OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl_sell,tp_sell,",1,0,Red) 。
Alert (GetLastError()); //下单时的错误信息
//order_opened = true; //如果订单已经启动,不要打开
2 - OrderSend(Symbol(),OP_SELLLIMIT,lot_1,cena_sell_d_1,3,sl_sell,tp_sell_d_1,"",2,0,Red);
Alert (GetLastError()); //关于订单设置错误的信息

}
else //否则设置订单OP_BUYLIMIT
{

OrderSend(Symbol(),OP_BUYLIMIT,lot,cena_buy,3,sl_buy,tp_buy,"",5,0,Blue);
Alert (GetLastError()); //下单时的错误信息
//order_opened = true; //如果订单已经成功,不要再次打开

由于某些原因,只有一个订单打开。

1 - OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl_sell,tp_sell,"",1,0,Red);
Alert (GetLastError()); // 订单设置错误信息

 

sergey_r:

错误中说什么?具体来说,错误代码 是什么?

 

如果设置。

int order =OrdersTotal(); // 检查订单是否被设置
if (order == 0)

它在条件下打开卖出限价或买入限价,我需要两个卖出限价订单或一个买入限价订单

 

sergey_r:

你不明白。Alert(GetLastError();)中显示的是什么?

 
错误130。我知道了,我试着把销售限额做得一样,一切都正常了,我将寻找狗被埋葬的地方。
 

sergey_r:

正如你上面所说,这与第二个StopLoser有关。你可能在那里计算得不正确。仔细检查计算的那一段。

以防万一,以下是错误记录:https://docs.mql4.com/ru/trading/errors