Como posso aprender a criar objetos gráficos? MQL4. - página 6

 
         string   shortName="fraktalSDV"; 
         long   chart_ID=ChartID();        // ID графика
         int win_idx=ChartWindowFind(chart_ID,shortName);
         string nameobj=TimeToStr(Time[0]);
         string name=Time[0]+1; 
         Print("indikator=",win_idx);         
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            } 
           if(!ObjectCreate(chart_ID,name,OBJ_TREND,win_idx,Time[min1],minimum1,Time[1],Low_[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            }       
           ObjectSet(nameobj,OBJPROP_RAY,false); 
           ObjectSet(name,OBJPROP_RAY,false);
Menos 1, mesmo assim. Eu também tentei fazer o nome do indicador todas as letras pequenas, também nada.
 
forexman77:
Menos 1, mesmo assim. Eu também tentei fazer o nome do indicador todas as letras pequenas, também nada.
Você atribuiu win_idx=1; ? Basta pegar, e definir especificamente o número da subjanela.
 
Artyom Trishkin:
Você atribuiu win_idx=1; ? Basta pegar, e definir especificamente o número da subjanela.

Eu tentei, não ajudou. Talvez seja o indicador, mas os negócios parecem abrir corretamente?

Continuarei amanhã, já passou da minha hora de dormir.

 

Eu li na documentação que é melhor fazer o nome do indicador com parâmetros.

Eu fiz o seguinte no indicador:

IndicatorSetString(INDICATOR_SHORTNAME,"fraktalsdv("+Period_MA_1+","+ma_shift+","+price+","+Period_+")"); 

no Expert Advisor:

string   shortName="fraktalsdv("+Period_MA_1+","+ma_shift+","+price+","+Period_+")"; 

A janela com o indicador não é detectada.

 
forexman77:

Eu li na documentação que é melhor fazer o nome do indicador com parâmetros.

Eu fiz o seguinte no indicador:

no Expert Advisor:

A janela com o indicador não é detectada.

Há claramente um problema em seu código, pois o roteiro de teste encontra facilmente indicadores padrão que são exibidos na subjanela.
 
Karputov Vladimir:
Claramente um problema em seu código porque o roteiro de teste encontra facilmente os indicadores padrão que são exibidos na subjanela.

Mas, os negócios são abertos e eles se baseiam no indicador. E o indicador emite valores corretos quando imprime na EA.

Por alguma razão eu acho que é porque o indicador não tem # linha de propriedade estrita (não funciona com ele)

 
forexman77:

Mas, os negócios são abertos e eles se baseiam no indicador. E o indicador emite valores corretos quando imprime na EA.

De alguma forma me parece que o indicador não tem uma linha # de propriedade estrita (não funciona com ele)

Não, não é. Experimente a função WindowFind()
 
Artyom Trishkin:
Não, não é. Experimente a função WindowFind().
Devoluções -1.
 
forexman77:
Devoluções -1.

Procure por erros. Os indicadores são normalmente pesquisados através de

intChartWindowFind(
longchart_id,// ID do gráfico
nome_do_indicador de cadeia// nome curto do indicador, verINDICADOR_SHORTNAME

 
forexman77:

Nenhuma janela indicadora foi detectada.

Você quer encontrar o indicador que a EA cria para os cálculos no gráfico? Boa sorte.