Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
在没有计时器的 MQL4 上一切运行正常。
在 MQL4 中不存在结构和类,您打算在这里放弃它们吗?
我认为
使用或不使用标准库是每个人的喜好问题(在最糟糕的情况下,您只能使用自己的代码),但仅仅因为 MT4 中不存在这些库就放弃所有优势,这并不合理.....。
我根本没写这个。
我写的是 MQL5 存在故障,在某些工具组合中会产生错误数据。
例如:如果在欧元兑美元图表 上叠加 EURJPY 或 EURGBP,一切正常。
但如果叠加 EURCAD,图表上的数据就会出错,而在 MQL4 中则不会出现这种错误。
我根本没写这个问题。
我写的是 MQL5 在使用某些工具组合时会出现故障并产生错误数据。
例如:如果在欧元兑美元图表上叠加 EURJPY 或 EURGBP,则一切正常。
但如果叠加 EURCAD,图表上的数据就会出错,而在 MQL4 中情况并非如此,没有错误。
我根本没写这个问题。
我写的是 MQL5 在使用某些工具组合时会出现故障并产生错误数据。
例如:如果在欧元兑美元图表上叠加 EURJPY 或 EURGBP,则一切正常。
但如果覆盖 EURCAD,图表上的数据就会出错,而在 MQL4 中情况并非如此,没有错误。
请给我一个有错误的例子。
//--------- 使用 MQL4 的选项 ---------
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
SetIndexBuffer(0,Buffer); // Assign array to buffer
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Line style
while(i > = 0){//-- Moving the indicator_buffer。= 0){//-- 从右向左移动(即从最高杆到仍在形成的 0 杆) --
Buffer[i] = (iHigh(InstrumentName,0,i) +iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- 下一个 Bar
}/next (while)
//----------- 现在几乎与 MQL5 中的变量相同 --------
#property indicator_separate_window // Indic.在单独窗口中绘制
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1Aqua
input string InstrumentName = "EURCAD";
double Buffer[];
int handle1;
copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);
//--Now we throw on EURUSD.
//--无论我们将指标放在哪个工具上,图表都不应该改变。
请正确插入代码,这样更容易理解。
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
int init()
{
SetIndexBuffer(0,Buffer); // Assign array to buffer
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Line style
}
int start()
{
while(i >= 0){
Buffer[i] = (iHigh(InstrumentName,0,i) +iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- 下一个 Bar
}//next (while)
}
//----------- 现在几乎与 MQL5 中的变量相同 --------
#property indicator_separate_window // Indic.在单独窗口中绘制
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1Aqua
输入字符串 InstrumentName = "EURCAD";
double Buffer[];
int OnInit()
{
{ IndicatorSetString(INDICATOR_SHORTNAME,InstrumentName);
SetIndexBuffer(0,Buffer,INDICATOR_DATA);
}
int OnCalculate(......)
{
copied=CopyClose(InstrumentName,0,0,0,CountBars,Buffer);
}
//--Now we throw it on EURUSD.
//--It doesn't matter on which instrument we place the indicator, the chart should not change.
请制作一个可重复的示例。也就是说,你需要现成的代码,你可以编译,扔到图表上并得到结果。
没有这些,很少有人会明白我们在说什么。我会帮助那些被剥夺意识的人。
理想情况下是不应该的,但我用算法让它吱吱作响,它只出现在 1 个 TF 上,其他的则断然显示出空虚 .....
即使经过一个小时的测试.....
并尝试上传历史记录