Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado por isso.
Que papel esta linha faz SetIndexStyle(0, DRAW_LINE) no código acima quando acabamos de usar Objetos para traçar linha? Precisamos mencioná-los de alguma forma, eu entendo o papel dos buffers Não sei por que um buffer deve ser ligado a um índice e por que um índice deve ter estilo, pois o que vemos está fora da chamada createObject com atributos de preço?
Você viu que você mesmo usando o código acima as velas têm bordas curvas e não retângulos puros como tabela de preços?
Eu já expliquei isso.
Se você quer retângulos, desenhe retângulos em vez de objetos de linha de tendência.
Olá Phy
Desculpe por ser uma dor, RECTANGLE opção dint work, é por isso que estou incomodando você, obrigado por sua paciência e por favor tente isto e me avise, eu consertei os cálculos do HA.
Por favor, tente uma última vez obrigado, gostaria de conseguir este trabalho retangular corretamente.
#Janela_do_indicador_de_propriedade
#property indicator_buffers 6
#indicador de propriedade_color1 CLR_NONE
#indicador de propriedade_color2 CLR_NONE
duplo alto[];
duplo baixo[];
duplo aberto[];
duplo fechamento[];
duplo haOpen1[]; duplo haOpen1[];
duplo haFechar1[]; duplo haFechar1[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0, DRAW_LINE);
SetIndexStyle(1, DRAW_LINE);
SetIndexStyle(2, DRAW_LINE);
SetIndexStyle(3, DRAW_LINE);
SetIndexStyle(4, DRAW_LINE); SetIndexStyle(4, DRAW_LINE);
SetIndexStyle(5, DRAW_LINE); SetIndexStyle(5, DRAW_LINE);
SetIndexBuffer(0, alto);
SetIndexBuffer(1, baixo);
SetIndexBuffer(2, aberto);
SetIndexBuffer(3, fechar);
SetIndexBuffer(4, haOpen1);
SetIndexBuffer(5, haClose1);
return(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start(){
string basename = "Heikin-Ashi";
IndicatorShortName(basename);
int window = WindowFind(basename);
para (int i = Bars-100; i >= 0; i--){
// estes dois índices são usados para controlar o tamanho da subjanela
// não são visíveis
alto[i] = Alto[i];
baixo[i] = baixo[i];
duplo haOpen, haHigh, haLow, haClose,haDiffCo;
haOpen=(haOpen1[i+1]+haClose1[i+1])/2;
haOpen1[i] = haOpen;
haClose=(Open[i]+High[i]+Low[i]+Close[i])/4;
haClose1[i] = haClose;
haHigh=MathMax(haOpen,High[i]);
haBaixo=Matemática(haAbrir,Baixo[i]);
string name1 = "Heikin-Ashi-HL-"+i;
if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(name1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 2);
nome da cadeia2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(name2) != -1) ObjectDelete(name2);
ObjectCreate(name2, OBJ_RECTANGLE, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 5);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name2, OBJPROP_RAY, 0);
if (haOpen < haClose) {
ObjectSet(nome1, OBJPROP_COLOR, Chartreuse);
ObjectSet(name2, OBJPROP_COLOR, Chartreuse);
}else{
ObjectSet(nome1, OBJPROP_COLOR, Vermelho);
ObjectSet(nome2, OBJPROP_COLOR, Vermelho);
}
}
retorno(0);
}
As velas devem ser linhas de tendência
Largura do corpo 2 ou mais provável, 3
Eu não sei do que você está falando sobre "arredondamento" das linhas
Mostrar uma foto
Às vezes, quando você rola para a esquerda, você obtém isso também (verde e vermelho misturado)
Sim, eu vejo isso.
Acho que você tem algumas barras obsoletas para apagar lá.
descubra o que está errado, depois pense em como você pode consertá-lo. existem barras duplicadas, o que está acontecendo?
Olá Phy
Se eu estiver certo, o problema pode ser devido ao fato de eu fazer isso
SetIndexStyle(0, DRAW_LINE);
SetIndexStyle(1, DRAW_LINE);
SetIndexStyle(2, DRAW_LINE);
SetIndexStyle(3, DRAW_LINE);
SetIndexStyle(4, DRAW_LINE); SetIndexStyle(4, DRAW_LINE);
SetIndexStyle(5, DRAW_LINE); SetIndexStyle(5, DRAW_LINE);
Eu faço o acima exposto e faço os amortecedores a serem desenhados e, ao mesmo tempo, faço
if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(name1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 2);
nome da cadeia2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(name2) != -1) ObjectDelete(name2);
ObjectCreate(name2, OBJ_TREND, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 5);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name2, OBJPROP_RAY, 0);
Então tanto os dados em buffer quanto os objetos são desenhados um sobre o outro, Estou correto?
Devo remover a configuração do código de estilo de índice, pois estou apenas usando o buffer para armazenamento de dados e não quero desenhá-lo?
Eu estou certo?