// этот код будет работать корректно только если в истории отсутствуют отложенные ордера.
int SchLossOrders(){
string SMB=Symbol();
int Sch=0;
int i;
for (i=OrdersHistoryTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { Print("Ошибка ",GetLastError()," при выборе ордера");}
else {
if(OrderProfit()<0 && (OrderType()==OP_BUY || OrderType()==OP_SELL)){
Sch++;
}
else{
return(Sch);
}
}
}
return(Sch);
}
在EA的开头,我们写道。
if(SchLossOrders()>=10){
// 10 последних сделок были убыточными - выполняем какое-то действие
}
能否请教一下,是否有可能将mql4中的一些文本写入文件,例如*.txt,然后检索这些数据进行交易。 我们的想法是,EA将学会自己进行交易,当价格每两根柱子变化>100*Point时,EA将记住这些值,然后尝试使用它们(指标值+/-n%,开出一个订单)。 这也可以在EA中实现,但关闭MetaTrader后所有变量值似乎都被重置为零
帮助我写一个函数,如果最后10个头寸以负数被关闭,它将执行某个动作。
预先感谢是的,是的,我得到了你......。但在我放弃我辛苦赚来的钱之前,我想确定我需要的脚本在公共领域中是不可用的
脚本通常被设计用来执行一个简单的统一动作。最好是使用一组脚本,每个脚本都与不同的热键绑定。
比如说。
以此类推。
你可以通过搜索在数据库中找到相应的现成的脚本,谷歌请求,如反向脚本site:mql4.com。
帮助我写一个函数,如果,例如,最后10个头寸以负数被关闭,将执行某个动作。
预先感谢要计算出在循环中亏损关闭的最后一笔订单的数量并不困难。但是,我们怎样才能写出能执行不明确动作的代码呢?
你好!这里有一个问题...是不是因为大量的输入条件和辅助函数,以及外部变量如extern double,使得EA可能变得迟钝? 这只是测试器中的一个谜...第一个把所有东西都隐藏在代码中的机器人比所有东西都是extern double的机器人有更多的缩水......尽管两者的变量参数相同。(它们也是一样的)。
再次检查变量的值--也许它们是不同的,在编译第一个变量时,它们的工作方式会有所不同。
除此之外,将它们与搜索中的这个程序进行比较 - 下载 - WinMergeU.exe。
我从https://www.mql5.com/ru/code/9274 下载
我从这里下载了一个脚本,可以自动设置预设的取值和损失,但它们开始跟随价格浮动,你能告诉我问题出在哪里,如何设置才能让它们静止?
我们需要一个代码来计算
这并不困难。写一个子程序。
在EA的开头,我们写道。