double history(){
int time = 0;double profit = 0;//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor(int 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){//действия если история чистая
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
}
if(profit < 0 ){//действия если последний ордер был убыточным
}
return(0);
}
那么我想就是这样了。
是这样吗?
现在我明白了。
谢谢你。
没有这样的内置函数,你必须自己编写,我在这里展示了一个例子:https://www.mql5.com/ru/forum/131277/page113
谢谢
没有这样的内置函数,你必须自己编写,我在这里展示了一个例子:https://www.mql5.com/ru/forum/131277/page113
以及如何规定专家顾问只有这一个开仓交易的条件。
alsu:
那么你就不需要size-1,否则第一次运行时索引为0-1,数组大小为 零。
那么它应该是这样的。
那么你就不需要size-1,否则索引将是0-1,而数组的大小在第一次运行时将是零。
然后它是这样的。
在程序开始时有初始化 int size=1。
没有这样的内置函数,你必须自己编写,我在这里展示了一个例子:https://www.mql5.com/ru/forum/131277/page113
为什么当我附上这段代码时,它开出的交易数量多得令人难以置信?
在程序的开始有一个初始化 int size=1;
为什么当我附上这段代码时,它开启的交易数量多得令人难以置信?
这不可能,因为在代码中。
没有交易https://book.mql4.com/ru/trading/ordersend
它不可能是相同的,因为在代码中。
没有交易https://book.mql4.com/ru/trading/ordersend
我已经插入了
if(profit == 0 &&time == 0){//如果历史记录是干净的,则采取行动
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,Bid-6*Point)。
返回。
}
如果(利润>=0){//如果最后一笔订单是盈利的,或者是零,则采取行动
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-12*Point,Bid+12*Point) 。
返回。
}
如果(利润<0 ){/行动 如果(利润<0 ){/行动 如果最后一个订单无利可图
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+15*Point,Bid-15*Point)。
返回。
}
return(0);
}