STARIJ: Tente escrever Data, Hora, Licitação e resultados de seus cálculos em arquivo para cada carrapato. Em seguida, carregue-o para o Excel e verifique. Não faz sentido reconciliar cada dúzia de linhas do programa!
Mas veja, você tem retorno em cada ramo do operador condicional, ou seja, ele é sempre executado. Portanto, tiramos do operador condicional:
Licitação[1] - é assim?
Obrigado. Vou tentar agora. Entendi a essência de seu código e já é uma grande conquista para mim :) Eu também vi minhas falhas.
STARIJ: Tente escrever Data, Hora, Licitação e resultados de seus cálculos no arquivo para cada carrapato. Em seguida, carregue-o para o Excel e verifique. Não faz sentido reconciliar cada dúzia de linhas do programa!
Mas veja, você tem retorno em cada ramo do operador condicional, ou seja, ele é sempre executado. Portanto, tiramos isso do escopo do operador condicional:
Licitação[1] - é assim?
Eu inseri o código no "construtor" do indicador personalizado. Eu o compilei. O compilador gerou 1 aviso: Dois OnCalculate são definidos. Será utilizada a versão OHLC (não entendo o que ela significa).
Compilado produto. Anexe isso à tabela. A janela separada para o gráfico é aberta mas não mostra nenhuma informação sobre o histograma, apesar dos carrapatos.
O que está errado? Por favor, aconselhar?
#property version"1.00"#property strict#property indicator_separate_window#property indicator_buffers2#property indicator_plots2//--- plot Label1#property indicator_label1"Label1"#property indicator_type1DRAW_HISTOGRAM#property indicator_color1clrRed#property indicator_style1STYLE_SOLID#property indicator_width11//--- plot Label2#property indicator_label2"Label2"#property indicator_type2DRAW_HISTOGRAM#property indicator_color2clrDarkTurquoise#property indicator_style2STYLE_SOLID#property indicator_width21//- local variablesint Tick, Tick2; // Для вставки программы используйте кнопку SRCdouble Bid1;
//--- indicator buffersdouble Label1Buffer[];
double Label2Buffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,Label1Buffer);
SetIndexBuffer(1,Label2Buffer);
Bid1=Bid;
//---return(INIT_SUCCEEDED);
}
void start() // Вместо start более модно писать OnTick
{
if(Bid > Bid1) Tick++;
else Tick2++;
Bid1=Bid;
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Eu inseri o código no "construtor" do indicador personalizado. Compilou-o. O compilador me deu 1 aviso: dois OnCalculate estão definidos. Será utilizada a versão OHLC (não sei o que significa).
Compilado produto. Anexe isso à tabela. A janela separada para o gráfico é aberta mas não mostra nenhuma informação sobre o histograma, apesar dos carrapatos.
O que está errado? Você pode aconselhar?
Quando você colar o código aqui, use o botão do editor de mensagens SRC - no topo do campo de mensagens há muitas coisas úteis no painel de formatação de mensagens.
Não é difícil levantar os olhos logo acima do texto que você está digitando, não é? E é muito mais agradável para as pessoas olharem para o código normal em vez da oscilação, não é?
Inseri corretamente seu código para você em seu posto (SRC)
Quando você colar o código aqui, use o botão SRC post editor - há muitos recursos úteis no painel de formatação do correio na parte superior da caixa postal.
Não é difícil levantar os olhos logo acima do texto que você está digitando, não é? E é muito mais agradável para as pessoas olharem para o código normal em vez do swag, não é?
Coloquei seu código em sua mensagem para você corretamente (SRC)
Emitido 1 aviso ao compilador: são definidos dois OnCalculate. Será utilizada a versão OHLC (não tenho certeza do que isso significa).
Compilado produto. Anexe isso à tabela. A janela separada para o gráfico é aberta mas não mostra nenhuma informação sobre o histograma, apesar dos carrapatos.
O que está errado? Por favor, aconselhar?
A função era chamada antes de Start, agora é chamada OnTick em Expert Advisor e OnCalculate em indicador. O compilador adverte: você tem a mesma função duas vezes sob nomes diferentes. Mova o conteúdo de Start para OnCalculate e exclua Start. Você também precisaria descrever em seu programa, o que e como ele deve ser exibido. Primeiro decida por si mesmo - que imagem deve estar ali? É melhor começar a estudar a linguagem MQL escrevendo scripts. Um consultor especializado é mais complicado, um indicador é ainda mais complicado
A função costumava ser chamada Start, agora é chamada OnTick na EA e OnCalculate no indicador. O compilador adverte: você tem a mesma função duas vezes sob nomes diferentes. Mova o conteúdo de Start para OnCalculate e exclua Start. Você também precisaria descrever em seu programa, o que e como ele deve ser exibido. Primeiro decida por si mesmo - que imagem deve estar ali? É melhor começar a estudar a linguagem MQL escrevendo scripts. O Expert Advisor é mais difícil, o indicador é ainda mais difícil.
Não posso inserir o conteúdo de Start na OnCalculate e recebo muitos erros
Tente escrever Data, Hora, Licitação e resultados de seus cálculos em arquivo para cada carrapato. Em seguida, carregue-o para o Excel e verifique. Não faz sentido reconciliar cada dúzia de linhas do programa!
Mas veja, você tem retorno em cada ramo do operador condicional, ou seja, ele é sempre executado. Portanto, tiramos do operador condicional:
Licitação[1] - é assim?
Obrigado. Vou tentar agora. Entendi a essência de seu código e já é uma grande conquista para mim :) Eu também vi minhas falhas.
O que é o botão SRC?
Tente escrever Data, Hora, Licitação e resultados de seus cálculos no arquivo para cada carrapato. Em seguida, carregue-o para o Excel e verifique. Não faz sentido reconciliar cada dúzia de linhas do programa!
Mas veja, você tem retorno em cada ramo do operador condicional, ou seja, ele é sempre executado. Portanto, tiramos isso do escopo do operador condicional:
Licitação[1] - é assim?
Eu inseri o código no "construtor" do indicador personalizado. Eu o compilei. O compilador gerou 1 aviso: Dois OnCalculate são definidos. Será utilizada a versão OHLC (não entendo o que ela significa).
Compilado produto. Anexe isso à tabela. A janela separada para o gráfico é aberta mas não mostra nenhuma informação sobre o histograma, apesar dos carrapatos.
O que está errado? Por favor, aconselhar?
Eu inseri o código no "construtor" do indicador personalizado. Compilou-o. O compilador me deu 1 aviso: dois OnCalculate estão definidos. Será utilizada a versão OHLC (não sei o que significa).
Compilado produto. Anexe isso à tabela. A janela separada para o gráfico é aberta mas não mostra nenhuma informação sobre o histograma, apesar dos carrapatos.
O que está errado? Você pode aconselhar?
Quando você colar o código aqui, use o botão do editor de mensagens SRC - no topo do campo de mensagens há muitas coisas úteis no painel de formatação de mensagens.
Não é difícil levantar os olhos logo acima do texto que você está digitando, não é? E é muito mais agradável para as pessoas olharem para o código normal em vez da oscilação, não é?
Inseri corretamente seu código para você em seu posto (SRC)
Quando você colar o código aqui, use o botão SRC post editor - há muitos recursos úteis no painel de formatação do correio na parte superior da caixa postal.
Não é difícil levantar os olhos logo acima do texto que você está digitando, não é? E é muito mais agradável para as pessoas olharem para o código normal em vez do swag, não é?
Coloquei seu código em sua mensagem para você corretamente (SRC)
Sim. Obrigado. Eu não sabia disso.
Emitido 1 aviso ao compilador: são definidos dois OnCalculate. Será utilizada a versão OHLC (não tenho certeza do que isso significa).
Compilado produto. Anexe isso à tabela. A janela separada para o gráfico é aberta mas não mostra nenhuma informação sobre o histograma, apesar dos carrapatos.
O que está errado? Por favor, aconselhar?
A função era chamada antes de Start, agora é chamada OnTick em Expert Advisor e OnCalculate em indicador. O compilador adverte: você tem a mesma função duas vezes sob nomes diferentes. Mova o conteúdo de Start para OnCalculate e exclua Start. Você também precisaria descrever em seu programa, o que e como ele deve ser exibido. Primeiro decida por si mesmo - que imagem deve estar ali? É melhor começar a estudar a linguagem MQL escrevendo scripts. Um consultor especializado é mais complicado, um indicador é ainda mais complicado
A função costumava ser chamada Start, agora é chamada OnTick na EA e OnCalculate no indicador. O compilador adverte: você tem a mesma função duas vezes sob nomes diferentes. Mova o conteúdo de Start para OnCalculate e exclua Start. Você também precisaria descrever em seu programa, o que e como ele deve ser exibido. Primeiro decida por si mesmo - que imagem deve estar ali? É melhor começar a estudar a linguagem MQL escrevendo scripts. O Expert Advisor é mais difícil, o indicador é ainda mais difícil.
Não posso inserir o conteúdo de Start na OnCalculate e recebo muitos erros
O indicador só exibe informações desde o início. A janela Dados (Ctrl-D) mostra os dados do castiçal, para o qual o cursor está apontando
:)
E como você formula a situação criada com nomes de funções?
start - nome obsoleto. OnTick() é o nome real da função de manuseio de carrapatos.
De qualquer forma, não faz nenhuma diferença como você o define, apenas a palavra "na moda" me fez sorrir.
start - nome obsoleto. OnTick() é o nome real da função de manuseio de carrapatos.
De qualquer forma, não importa como você o define, é apenas a palavra "na moda" que o faz sorrir.