我如何学习创建图形对象?MQL4。 - 页 5

 

我试着把EA的代码转移到脚本中。

脚本中的线条是重叠的,我不明白为什么它们在专家顾问中不起作用?

当开始可视化专家顾问时,谁能设法在图表的子窗口中绘制对象?


 
forexman77:

我试着把EA的代码转移到脚本中。

这些线条在脚本中是重叠的,我不明白为什么它们在EA中不起作用?

当开始可视化专家顾问时,谁能设法在图表的子窗口中绘制对象?


指定你要绘制的指标的子窗口的编号
 
Artyom Trishkin:
指定你要绘制的指标子窗口编号。

这样,它在EA中给出了-1。在脚本中,一切都很好,上面的图片。我读了你关于AD指标的文章,很多时候,我还不了解它。像往常一样,原因在一些小事上。

据我所知,由于某种原因,EA中没有检测到该窗口,错误为4206。

 
forexman77:

这样,它在EA中给出了-1。在脚本中,一切都很好,上面的图片。我读了你关于AD指标的文章,很多时候,我还不了解它。像往常一样,原因在一些小事上。

据我所知,由于某些原因,EA中没有检测到该窗口,错误为4206。

指标窗口需要时间来创建。指标窗口的绘制不能早于OnCalculate()的 第一次调用。你想在OnInit()中绘制所有的东西吗?
 
Karputov Vladimir:
指标窗口需要时间来创建。在指标窗口中,你可以不早于OnCalculate()的 第一次调用 来绘制。你想在OnInit()中绘制所有的东西吗?
不,只有在交易开仓后,即开仓线先走,当开仓后就开始渲染。

以下是EA中的代码。

string   shortName="fraktalSDV"; 
long   chart_ID=0;        // ID графика
int win_idx=ChartWindowFind(chart_ID,shortName);
string nameobj=TimeToStr(Time[0]);       
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            }
ObjectSet(nameobj,OBJPROP_RAY,false); 

在指标本身有一条线。

IndicatorShortName("fraktalSDV");

 
forexman77:

这样,它在EA中给出了-1。在脚本中,一切都很好,上面的图片。我读了你关于AD指标的文章,很多时候,我还不了解它。像往常一样,原因在一些小事上。

据我所知,由于某种原因,EA中没有检测到该窗口,错误为4206。

它没有找到指标子窗口。通过简短的指标名称 寻找指标窗口--就是你在指标窗口左上方看到的那个。你一定没有输入整个名字来搜索。
 
Artyom Trishkin:
它没有找到指标子窗口。通过简短的指标名称 寻找指标子窗口--就是你在指标窗口左上方看到的那个窗口。你可能没有输入整个名字来搜索它。

string shortName="fraktalSDV"

我这样称呼它。我试着在专家顾问中调用指标的名称并取消设置,到目前为止还没有成功。

这里是指标本身。我稍后将删除它。

 
forexman77:

string shortName="fraktalSDV"

我这样称呼它。我试着在专家顾问中调用指标的名称,到目前为止还没有成功。

试着在

int win_idx=ChartWindowFind(chart_ID,shortName);

我不应该把搜索指标的窗口,而是一个(图表上只有一个窗口吗?)

如果成功了,那么将窗口搜索返回到

long   chart_ID=0;        // ID графика

键入

long   chart_ID=ChartID();
 
Artyom Trishkin:

尝试

输入一个而不是指标窗口搜索(图表上是否有一个窗口?)

在图表本身的顶部有报价,在底部有指标的分隔符。
 
forexman77:
顶部是带有报价的图表本身,底部的分隔符是指标。
所以要按他们说的做;)你必须寻找错误...