double history(){
int i;
//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордера double profit;
datetime time;
time = 0;
profit = 0;
for(i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в переменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистаяPrint("история чистая");
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевымPrint("последний ордер был прибыльным, или нулевым");
}
if(profit < 0 ){//действия если последний ордер был убыточнымPrint("последний ордер был убыточным");
}
return(profit);// вернем в качестве результата функции значение прибыли последнего ордера из истории, так на всякий случай ;)
}
Vadim,你能用Java编码吗?
谁能贴出最简单的脚本来计算经典马丁格尔交易的手数:如果前一笔交易以亏损收盘,那么下一笔交易就以双倍手数开盘。我自己写的。
外部的双倍Lot=0.1;外部的双倍MM_koef=2;外部的int magic=56565;
双倍Lots=Lot。
{OrderSelect(OrdersHistoryTotal(), SELECT_BY_POS, MODE_HISTORY); //验证历史上的最后一笔订单 if( OrderMagicNumber() == magic && ( ( OrderType() == OP_BUY &&)(OrderOpenPrice()-OrderClosePrice())<0) //对于买入意味着损失 || (OrderType() == OP_SELL && (OrderOpenPrice()-OrderClosePrice())>0) //对于卖出意味着损失 ) ) Lots=OrderLots()*MM_koef;Print(Lots); }如果(Lots<=0)Lots=Lot。
....OrderSend(Symbol(), OP_BUY, Lots, .......
在Martin上自动计算的批次不工作,但由于某种原因被接受等于0.1?谁能告诉我
这里有一些类似的东西供你参考。
能否请你告诉我为什么无法在这里登录https://www.mql5.com/ru/auth_login?我无法输入我的用户名和密码(光标不闪烁或根本就没有光标)。
你有问题。
我试过了。登录时没有任何问题。
你有问题。
我试过了。没有任何问题就进去了。
我应该怎么做,重新注册?或者我应该去哪里寻求帮助?
我想先尝试重新启动计算机......)
重新启动并没有帮助
是什么原因导致在OrderModify的EA中,有时会自动完成修改,有时会显示窗口,你必须按按钮确认(MT中用F9打开的窗口)。
代码中只有一行OrderModify(......),上述描述的逻辑恰恰没有实现。
我有一个想法,如果OrderModifu失败了,经纪公司会发出信号,打开这个窗口。这有可能吗?