错误、漏洞、问题 - 页 39

 
通过复印在另一张纸上,我准备在服务台提出申请
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd:

你还记得DebugBreak()的具体设置 位置吗?

目前还没有办法复制它。

在Servicedesk#18435 中提出了请求

我在所有循环之前设置了DebugBreaks。

 
Urain:

在servicedesk #18435 提出了一个请求

Zy DebugBreaks 放在所有循环之前。

是的,谢谢你。

我已经做了一次。

 
alexvd:

是的,谢谢你。

我已经做了一次。

后来我又增加了两个编译版本,一个可以用,一个坏了,不知道为什么它们的重量几乎相差两倍。
 
ddd06:

我想知道关于从EA调用指标第18261号 请求的命运(数值与指标不匹配)。

如果他们以某种方式作出回应就好了......

请再次检查你的服务台,问题已经解决了。
 

我有一个关于MACD样本 的问题。

我在Alpari演示中设置了一个带有SL50和TP200的专家顾问。

我在英镑兑美元上建立了一个头寸,一段时间后,专家顾问修改了该头寸,并在日志中输入了以下数据

> 2010.07.08 20:01:46 交易 '3037120' : 修改失败 卖出 0.10 GBPUSD sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [无效的止损]

问题是为什么SL会成为残疾人?这个位置似乎已经被修改了(或者至少之前被移到了BU)...

同时,战略测试员 根本没有说脏话......。

PS

附有指标设置的文件...

 

有一个二维数组maVal[a][b] 。如何将muVal 值复制到[b],因为我需要通过[a]浏览数组并比较[b]的值。

CopyBuffer(maHandle,0,0,3,maVal); 不适合。这是个繁琐的代码。

   bool Buy_Condition_1=((ma1Val[2]<ma1Val[1]) && (ma1Val[1]<ma1Val[0])||
                         (ma2Val[2]<ma2Val[1]) && (ma2Val[1]<ma2Val[0])||
                         (ma3Val[2]<ma3Val[1]) && (ma3Val[1]<ma3Val[0])||
                         (ma4Val[2]<ma4Val[1]) && (ma4Val[1]<ma4Val[0])||
                         (ma5Val[2]<ma5Val[1]) && (ma5Val[1]<ma5Val[0])); // MA растет
 
Interesting:

sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [无效站]

问题是为什么SL会成为残疾人?而这个位置似乎已经被修改了(至少之前被移到了BU)...

如果我的订单在没有任何SL或TP变化的情况下被修改,我的日志也会与我争吵。
 

我们写一个简单的脚本。

void OnStart(){
  Alert("-----------------------------------");
  Alert("Period() = ",Period()," минут");
  Alert("------------ ",Symbol()," ------------");
}

我们在同一交易工具的不同时间段上依次抛出,从M1开始往上抛。结果:在M1至M30的时间框架内,周期是正确的。

但在H1的时间框架下,一个绝对奇妙的数字被抛出。

最有趣的是,H2时间框架,(以及随后的小时线)与H1时间框架相差无几。


H1的周期=16386,H2的周期=16387,H3的周期=16388,以此类推--数字的不同在于最后一位数字。

我对绕过这个错误的方法不感兴趣,而是对修复这个错误本身感兴趣。我希望它根本就被删除。

 
drknn:

我们写一个简单的脚本。

我们在同一交易工具的不同时间段上依次抛出,从M1开始往上抛。结果:在M1至M30的时间框架内,周期是正确的。

但在时间框架H1上,一个绝对奇妙的数字被抛了出来。

最有趣的是,H2时间框架(以及随后的小时时间框架)与H1时间框架相差不远。


H1的周期=16386,H2的周期=16387,H3的周期=16388,以此类推--数字的不同在于最后一位数字。

我对绕过这个错误的方法不感兴趣,而是对修复这个错误本身感兴趣。因此,它根本就不存在。

> 我对绕过这个错误的方法不感兴趣,而是对修复这个错误本身感兴趣。我根本不希望它出现在那里。

不要认为我是无礼或催促,而是指出你刚才的这个虫子杀了我......

关于问题的实质(建议)。

这不是MQL4,Period() 并不代表TF中的秒/分钟数。

要获得一个时期内的秒数,你需要使用PeriodSeconds 函数。


而如果你试图将Period表达为一个数字,那么你将得到与枚举ENUM_TIMEFRAMES 中的周期标识符相对应的数字值。


PS

当我需要将Period翻译成MQL4格式时,我使用这个函数

//Fumction PeriodToMinute
int PeriodToMinute(ENUM_TIMEFRAMES Value)
//Возвращает число секунд в периоде
{
//----------------------------------------------------------------------------//
//Служебные переменные
int Result;
//----------------------------------------------------------------------------//
Result = PeriodSeconds(Value)/60;
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}

为了避免关于 "周期化 "的不必要的问题,这里还有两个功能。MinuteToPeriod和PeriodToStr。

//Fumction MinuteToPeriod
ENUM_TIMEFRAMES MinuteToPeriod(int Value)
//Преобразовывает число сикунд в период, возвращаемый как ENUM_TIMEFRAMES
{
//----------------------------------------------------------------------------//
//Work variables / Служебные переменные
ENUM_TIMEFRAMES Result;
//----------------------------------------------------------------------------//
  switch(Value)
  {
  //Перирд текущещего графика
  case   0: return(PERIOD_CURRENT); break;
  //Минуты
  case   1: return(PERIOD_M1);  break;   //1 минута
  case   2: return(PERIOD_M2);  break;   //2 минуты
  case   3: return(PERIOD_M3);  break;   //3 минуты
  case   4: return(PERIOD_M4);  break;   //4 минуты
  case   5: return(PERIOD_M5);  break;   //5 минуты
  case   6: return(PERIOD_M6);  break;   //6 минуты
  case  10: return(PERIOD_M10); break;   //10 минуты
  case  12: return(PERIOD_M12); break;   //12 минуты
  case  15: return(PERIOD_M15); break;   //15 минуты
  case  20: return(PERIOD_M20); break;   //20 минуты
  case  30: return(PERIOD_M30); break;   //30 минуты
  //Часы
  case  60: return(PERIOD_H1); break;    //60 минут  - 1 час
  case 120: return(PERIOD_H2); break;    //120 минут - 2 часа  
  case 180: return(PERIOD_H3); break;    //180 минут - 3 часа
  case 240: return(PERIOD_H4); break;    //240 минут - 4 часа
  case 360: return(PERIOD_H6); break;    //360 минут - 6 часов
  case 480: return(PERIOD_H8); break;    //480 минут - 8 часов
  case 720: return(PERIOD_H12); break;   //720 минут - 12 часов
  //Старшие ТФ
  case 1440: return(PERIOD_D1); break;   //1 день
  case 10080: return(PERIOD_W1); break;  //1 неделя 
  case 43200: return(PERIOD_MN1); break; //1 месяц 
  //Default
  default: return(PERIOD_CURRENT);
  }
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}
//Function PeriodToStr
string PeriodToStr(ENUM_TIMEFRAMES Value)
//Функция возвращает тексовое представление ТФ (периода)
{
//----------------------------------------------------------------------------//
//Work variables / Служебные переменные
string Result; //Возвращаемое значение
//----------------------------------------------------------------------------//

  switch(Value)
  {
  //Минуты
  case PERIOD_M1:  Result = "M1";  break; //1 минута
  case PERIOD_M2:  Result = "M2";  break; //2 минуты
  case PERIOD_M3:  Result = "M3";  break; //3 минуты  
  case PERIOD_M4:  Result = "M4";  break; //4 минуты    
  case PERIOD_M5:  Result = "M5";  break; //5 минут
  case PERIOD_M6:  Result = "M6";  break; //6 минут
  case PERIOD_M10: Result = "M10"; break; //10 минут
  case PERIOD_M12: Result = "M12"; break; //12 минут
  case PERIOD_M15: Result = "M15"; break; //15 минут
  case PERIOD_M20: Result = "M20"; break; //20 минут
  case PERIOD_M30: Result = "M30"; break; //30 минут
  //Часы
  case PERIOD_H1:  Result = "H1";  break; //60 минут   - 1 час
  case PERIOD_H2:  Result = "H2";  break; //120 минут  - 2 часа
  case PERIOD_H3:  Result = "H3";  break; //180 минут  - 3 часа
  case PERIOD_H4:  Result = "H4";  break; //240 минут  - 4 часа
  case PERIOD_H6:  Result = "H6";  break; //360 минут  - 6 часов  
  case PERIOD_H8:  Result = "H8";  break; //480 минут  - 8 часов
  case PERIOD_H12: Result = "H12"; break; //720 минут  - 12 часов
  //Старшие ТФ
  case PERIOD_D1:  Result = "Day";   break; //День
  case PERIOD_W1:  Result = "Week";  break; //Неделя
  case PERIOD_MN1: Result = "Month"; break; //Месяц
  //Unknown
  default: Result = "Unknown";
  break;
  }
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}