int bar1=iBarShift(Symbol(),PERIOD_M1,iTime(Symbol(),PERIOD_D1,0));//Print(bar1); //first bar
int MaxVol=0;
int i=0, n=0;
para (i=bar1; i>0; i--)
{
// se (i<bar);
// se (TimeMinute(Time[i])!=Minute()) quebra;
se (iVolume(Símbolo(),0,i)>MaxVol)
{
MaxVol=iVolume(Símbolo(),0,i);
n=i;
}
//Print(MaxVol," MaxVol ", n, " n");
}
data/hora MaxVolT = iTime(NULL, PERÍODO_M1, n);
Bem, aqui o temos.
Agora você pode pensar em reduzir e simplificar o código.
Aqui você encontrou o primeiro bar. Isto significa que teremos que copiar tantas barras para a matriz. Isto reduz o código a três cordas.
1. encontrar a primeira barra.
2. Copiar os volumes do primeiro exemplo para a matriz
intCopyTickVolume(
string symbol_name, // имя символаENUM_TIMEFRAMES timeframe, // периодint start_pos, // откуда начнем (с нулевого или первого)
int count, // сколько копируем(первым пунктом определили)long volume_array[] // массив для копирования тиковых объемов(предварительно объявляем массив глобального уровня или локального)
);
Descarregado o arquivo de citações. Aqui está um exemplo de uma entrada: 4071656556,D,EUR/USD,2015-05-31 17:00:02.803000000,1.098020,1.098120 Os títulos dos campos são os seguintes: lTid,cDealable,CurrencyPair,RateDateTime,RateBid,RateAsk O que significam os dois primeiros campos?
Descarregado o arquivo de citações. Aqui está um exemplo de uma entrada: 4071656556,D,EUR/USD,2015-05-31 17:00:02.803000000,1.098020,1.098120 Os títulos dos campos são os seguintes: lTid,cDealable,CurrencyPair,RateDateTime,RateBid,RateAsk O que significam os dois primeiros campos?
As três primeiras colunas podem ser descartadas com segurança, elas não têm aplicação prática para criar citações para o MT4.
Eu uso muitos blocos no Expert Advisor, cada bloco tem o mesmo indicador. Posso declarar este indicador uma vez no OnTick() e depois em cada bloco eu não tenho que declará-lo novamente?
Eu uso muitos blocos no Expert Advisor, cada bloco tem o mesmo indicador. Posso declarar este indicador uma vez no OnTick() e depois em cada bloco eu não tenho que declará-lo novamente?
Você poderia me dizer por que existem avisos - conversão implícita de 'string' para 'número' e conversão implícita de 'número' para 'string' em locais variáveis (após o comando int e depois da mensagem). É provavelmente o mesmo aviso? Não sou bom em programação.
Além disso, diga-me mais, se o código funcionar mas houver apenas avisos, ele é ruim?
E mais uma pergunta, como faço para obter a hora local na mensagem? Eu escrevo mensagem= TimeLocal()+..... e nada acontece...
Desculpe, não quero ser indelicado. Por que você gostaria de fazer programação?
Embora haja muitas pessoas aqui que escrevem peças de código em vez de explicar para que serve. Você tem que me dar isso.
Eu prefiro explicar, mas não escrever pedaços e peças.
Consegui! Aí está. Obrigado.
int bar1=iBarShift(Symbol(),PERIOD_M1,iTime(Symbol(),PERIOD_D1,0));//Print(bar1); //first barConsegui! É isso aí. Obrigado.
int bar1=iBarShift(Symbol(),PERIOD_M1,iTime(Symbol(),PERIOD_D1,0));//Print(bar1); //first barBem, aqui o temos.
Agora você pode pensar em reduzir e simplificar o código.
Aqui você encontrou o primeiro bar. Isto significa que teremos que copiar tantas barras para a matriz. Isto reduz o código a três cordas.
1. encontrar a primeira barra.
2. Copiar os volumes do primeiro exemplo para a matriz
3. ArrayMaximum(a partir desta matriz)
Não está claro porque você está usando a variável n para
Descarregado o arquivo de citações. Aqui está um exemplo de uma entrada:
4071656556,D,EUR/USD,2015-05-31 17:00:02.803000000,1.098020,1.098120
Os títulos dos campos são os seguintes: lTid,cDealable,CurrencyPair,RateDateTime,RateBid,RateAsk
O que significam os dois primeiros campos?
Descarregado o arquivo de citações. Aqui está um exemplo de uma entrada:
4071656556,D,EUR/USD,2015-05-31 17:00:02.803000000,1.098020,1.098120
Os títulos dos campos são os seguintes: lTid,cDealable,CurrencyPair,RateDateTime,RateBid,RateAsk
O que significam os dois primeiros campos?
Olá!
Eu uso muitos blocos no Expert Advisor, cada bloco tem o mesmo indicador. Posso declarar este indicador uma vez no OnTick() e depois em cada bloco eu não tenho que declará-lo novamente?
Olá!
Eu uso muitos blocos no Expert Advisor, cada bloco tem o mesmo indicador. Posso declarar este indicador uma vez no OnTick() e depois em cada bloco eu não tenho que declará-lo novamente?
Como? Por favor, mostre-me um exemplo.
Leia o manual sobre a visibilidade das variáveis declaradas em diferentes níveis de código.
Olá,
Você poderia me dizer por que existem avisos - conversão implícita de 'string' para 'número' e conversão implícita de 'número' para 'string' em locais variáveis (após o comando int e depois da mensagem). É provavelmente o mesmo aviso? Não sou bom em programação.
Além disso, diga-me mais, se o código funcionar mas houver apenas avisos, ele é ruim?
E mais uma pergunta, como faço para obter a hora local na mensagem? Eu escrevo mensagem= TimeLocal()+..... e nada acontece...
Código snippet: