[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 112

 

晚上好!

我有一个简单的问题。

出于什么原因,EA在初始化后,不能进入start();?

也许有人遇到过这样的问题?

从init(); 我退出 return(0); .

预先感谢您的回答!

 
你又怎么知道他 "没有去Start"?
 
BBSL:

晚上好!

我有一个简单的问题。

出于什么原因,EA在初始化后,不能进入start();?

也许有人遇到过这样的问题?

从init(); 我退出 return(0); .

预先感谢您的回答!

没有报价--没有开始。需要蜱虫来移动到开始+专家批准。
 

嗨,所有的人和利润!

我有这样一个问题。

在我的家用电脑上,我正在做一个图形布局。如何将其转移到另一台电脑上--哪个文件应该被覆盖?

我不能使用像复制整个MT4文件夹,然后用新的名字复制到另一台电脑的输出,因为它太复杂了。有趣的是,如果我把文件夹留在另一台电脑上,用旧的名字,图表上没有任何新的内容......。

谁知道呢,救命啊!

 

BBSL 我习惯于写 "start();"--你是这样写的吗? 那里不需要冒号,也许没有大括号

kiimar, 你关闭了吗? 如果是的话,你需要看一下代码

 
BBSL:

晚上好!

我有一个简单的问题。

出于什么原因,EA在初始化后,不能进入start();?

也许有人遇到过这样的问题?

从init(); 我退出 return(0); .

预先感谢您的回答!

答案更简单:在函数体的末尾出现return(0)运算符 并不意味着这个运算符会被执行。
 

如何检查订单是否被止盈或止损所触发?谢谢你的答复

 
BBSL:

出于什么原因,EA在初始化后,不能进入start();?

也许有人遇到过这个问题?

有时在init()中会有复杂的计算或加载历史记录,或者终端有大量的指标和EA使终端暂停或...

但如果在代码初始化过程中,终端机中断了代码,日志中会出现以下错误:"....超时在专家...."

如果日志没有显示错误,说明初始化成功了。 start()函数本身很容易检查--在第一行写 start() :Print("new tick") 。

 
Sayod 你是在什么时间段进行交易的,用什么参数?
 
Jaguar1974:

如何检查订单是否被止盈或止损所触发?谢谢你的答复


检查订单历史,如果收盘价等于SL或TP - 那么...,但我认为检查平仓订单的利润会更容易 - 如果>0,则采取否则...

这里有一段类似的有意义的代码。

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);
}