//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.05.2008 |//| Описание : Возвращает флаг закрытия последней позиции по стопу. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if (ocp==osl) return(True);
}
return(False);
}
...就可以了。
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.05.2008 |//| Описание : Возвращает флаг закрытия последней позиции по тейку. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, otp;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
otp=NormalizeDouble(OrderTakeProfit(), dg);
if (ocp==otp) return(True);
}
return(False);
}
这里: https://docs.mql4.com/ru/dateandtime/DayOfWeek
我已经看到了这个,它返回的是星期 几,但我需要知道下周的最后一天是哪一天。因为有的时候,最后一个工作日不是星期五
你的代码不起作用....:( 我只需要在停止.....,同时开立一个订单。没有指标...仅仅通过关闭lot....没想到这是一项如此艰巨的任务!
帮助我!!!。这很紧急!:(
能否请您修改测试后打开的图表模式?我正在使用我自己的模板,所有的标记都在那里......
在选中 "可视化 "的情况下启动测试器。
当测试仪加载历史记录并开始工作时,按下暂停按钮并在图上设置你的模式。
按下暂停按钮,继续进行测试。如果你愿意,你可以跳过可视化的内容(跳到按钮)。
当测试器完成后,你会看到图表上所有的箭头都有你的图案。
你的代码不适合....:( 我只需要在停止.....,同时开立一个订单。没有指标...仅仅通过关闭lot....没想到这是一项如此艰巨的任务!
这很紧急!!!。:(
我认为这可以通过记录悬挂的手数来解决。内置的MovingAverage Expert Advisor中的CalculateOrders()函数。
你已经下了一个订单->计算有效订单的数量->把 它记在一个变量中->。
在Start函数中检查每个迭代->如果订单数量减少->如果减少,作出必要的反应。
你的代码不适合....:( 只需要在停止.....,同时开立一个订单。没有指标...仅仅通过关闭lot....没想到这是个很难的任务!
帮助我!!!。这很紧急!:(
该函数返回在停止时关闭最后位置的标志。
...就可以了。
在这里 自己看一下。然后你可以写你自己的...
你好。
我正在研究一个专家顾问,我不知道下面这一行应该如何执行。
如果(profitbuy<=0)mtpb=tpb。
条件很清楚,不清楚的是在什么结果下,变量mtpb取得变量tpb的值。
你好。
我正在研究一个专家顾问,我不明白下面这一行应该如何执行。
如果(profitbuy<=0)mtpb=tpb。
条件很清楚,不清楚的是在什么结果下,变量mtpb取得变量tpb的值。
这里: https://docs.mql4.com/ru/dateandtime/DayOfWeek
我已经看到了这个,它返回的是星期几,但我需要知道下周的最后一天是哪一天。因为有的时候,一周的最后一天不是星期五。
目的并不能证明手段是正确的。
为了澄清,这里有一个问题:你自己,当你想确定 "下周 的哪一天是最后一天 "时,你是怎么做的?对了,你查一下当年的日历,看看你的国家具体有哪些假期,看看周末是否从一天转到另一天(比如从周日转到周四,为此每年的议会,即国家杜马,都会通过一份单独的文件),等等。你认为有谁会为这个目的不辞辛劳地在MQL中创建一个程序吗?就个人而言,对我来说,看日历更容易...
晚上好!对不起,我想了解一下原理,什么,这样的结构是不可能的?
int u; u=0-10; for( u;u<30; u++) {Alert("u",u); } 写入错误';' - 赋值期望C:\Òãîðóì MF Trader 4\documents\experts\cycle.mq4 (33, 31)
它在u;u之间显示了一个分号,我在帮助下检查了一次,请解释一下!