//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает флаг существования позиции или ордера около рынка |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| op - торговая операция ( -1 - любая операция) |//| mn - MagicNumber ( -1 - любой магик) |//| ds - расстояние в пунктах от рынка ( 1000000 - по умолчанию) |//+----------------------------------------------------------------------------+boolExistOPNearMarket(stringsy="", intop=-1, intmn=-1, intds=1000000){inti, k=OrdersTotal(), ot;
if(sy=="" || sy=="0")sy=Symbol();
doublep=MarketInfo(sy, MODE_POINT);
if(p==0)if(StringFind(sy, "JPY")<0)p=0.0001; elsep=0.01;
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ot=OrderType();
if((OrderSymbol()==sy) && (op<0 || ot==op)){if(mn<0 || OrderMagicNumber()==mn){if(ot==OP_BUY || ot==OP_BUYLIMIT || ot==OP_BUYSTOP){if(MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())<ds*p)return(True);
}if(ot==OP_SELL || ot==OP_SELLLIMIT || ot==OP_SELLSTOP){if(MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))<ds*p)return(True);
}}}}}return(False);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает индекс ордера или позиции по тикету. |//+----------------------------------------------------------------------------+//| Параметры: |//| ti - тикет ордера, позиции |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+intGetIndexByTicket(intti, stringsy="", intop=-1, intmn=-1){inti, k=OrdersTotal();
if(sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)){if((mn<0 || OrderMagicNumber()==mn) && OrderTicket()==ti)return(i);
}}}return(-1);
}
谢谢你!我已将e-TFL_v2 的修正版上传到网站。
我不知道......我刚刚在NorthFinance演示中完成了对该专家顾问的测试。昨天我给我的莫斯科朋友打电话。他抱怨的是同一个专家顾问。他说,它按线开仓,然后越来越多,直到你停下来,开了很多仓。因此,有两个测试的目标。
1.关于你的问题。检查一般功能。
2.关于我朋友的问题。我只从一条线上开了一个头寸。
为了检查它,我把e-TFL_v2 专家顾问放在5分钟时间段的EURUSD、GBPUSD、USDCHF和USDJPY。使用趋势线,我在最后20-30个柱子上画了通道。结果,专家顾问如愿以偿地工作了。欧元从底线被买入,而日元从顶线被卖出。对于磅数和糜费,一切也都是正确的。所以你应该自己去检查。专家顾问的工作。
谢谢你!我已将e-TFL_v2 的修正版上传到网站。
我不知道......我刚刚在NorthFinance演示中完成了对该专家顾问的测试。昨天我在莫斯科的朋友给我打电话。他抱怨的是同一个专家顾问。他说,它按线开仓,然后越来越多,直到你停下来,开了很多仓。因此,有两个测试的目标。
1.关于你的问题。检查一般功能。
2.关于我朋友的问题。我只从一条线上开了一个头寸。
为了检查它,我把e-TFL_v2 专家顾问放在5分钟时间段的EURUSD、GBPUSD、USDCHF和USDJPY。使用趋势线,我在最后20-30个柱子上画了通道。结果,专家顾问如愿以偿地工作了。欧元从底线被买入,而日元从顶线被卖出。对于磅数和糜费,一切也都是正确的。所以你应该自己去检查。专家顾问的工作。
也许,我不太理解EA的逻辑,但在我看来,如果使用一条线,发生错误的条件将得到满足,idPriceLevel() 将设置为False。如果我说错了,请解释一下。
如果使用单线,将满足发生错误的条件,idPriceLevel() 将被设置为False,这将不会打开仓位。
是的,这是正确的。该EA的正常运行需要两条线:一条线在价格之上,第二条线在当前价格 之下。我已经纠正了网站上的描述。谢谢你!
如果使用单线,将满足发生错误的条件,idPriceLevel() 将被设置为False,这将不会打开仓位。
是的,这是正确的。该EA的正常运行需要两条线:一条线在价格之上,第二条线在当前价格之下。我已经纠正了网站上的描述。谢谢你!
这就是为什么我的位置没有打开,因为我用一条线工作。现在一切都很清楚了。谢谢你的无私努力。你的功能非常清晰,描述得很清楚。也许我们现在正在开发的大部分EA,现在都会使用你们的功能。
函数ExistOPNearMarket()。
该函数返回一个标志,表明市场附近存在一个订单或头寸(与市场的指定距离,单位为点)。要检查的订单或头寸的更精确选择是由外部参数指定的。
函数ExistPosByPrice()。
该函数返回一个标志,表示在给定的开盘价上存在一个头寸。要检查的位置的更精确选择是由外部参数定义的。
GetAmountLotFromOpenPos()函数。
该函数返回未结头寸的手数之和。要考虑的位置的更精确选择是由外部参数指定的。
GetIndexByTicket()函数。
该函数按票数返回订单或位置的索引。更准确地选择要搜索的订单或头寸是由外部参数指定的。
你好
我想知道你是否有一个函数来确定作为参数传递给它的两个序列的相关性?
你好
我想知道你是否有一个函数来确定作为参数传递给它的两个序列的相关性?
不...但我对这个话题有兴趣。如果你提供计算相关性的公式,我将写出这个函数。
ZS.我不会自己去找这些公式。我也不会去找材料的链接。也就是说,我没有了解这个问题的愿望。只有一个愿望,就是用现成的公式写一个函数。
你好
我想知道你是否有一个函数来确定作为参数传递给它的两个序列的相关性?
不...但我对这个话题有兴趣。如果你提供计算相关性的公式,我将写出这个函数。
ZS.我不会自己去找这些公式。我也不会去找材料的链接。也就是说,我没有了解这个问题的愿望。只有在准备好的公式上写函数的愿望。
相关公式