[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 13

 

Que tipo de homem você é, você não pode ajudar uma pobre garota, tudo o que peço é uma bagatela.

Aqui está um link para MA colorido, por exemplo.https://www.mql5.com/ru/code/9145

Eu só preciso de um exemplo, mas mais simples e claro com uma linha colorida no topo ou no fundo das barras, sem algoritmos de cálculo.

Por favor, responda ao meu pedido. Agradecemos antecipadamente.

 
rigonich:


A fim de traçar uma linha indicadora, você deve:

1. criar arrays com determinadas propriedades, chamadas buffers indicadores, dos quais serão obtidas as coordenadas dos pontos utilizados para construir a linha indicadora. As funções prontas incorporadas no terminal são utilizadas para este fim.

2. definir o estilo de desenho da linha indicadora selecionando-a entre as opções disponíveis. isto também pode ser feito usando as funções embutidas do terminal.

3. preencher esta matriz com alguns valores. isto é feito na função para iniciar o indicador. e iniciar o programa desenhando o indicador.

O terminal não tem função incorporada que altera o estilo de desenho de um buffer, ou seja, ele pode desenhar diferentes partes de uma linha em estilos diferentes. Isto requer a criação de uma função personalizada, mas não é fácil, e você deve conhecer pelo menos o básico da programação.

Eu entendo, não sei como parar a linha vermelha em uma barra, por exemplo i=20, iniciar a linha verde a partir desta barra, etc.
 
Yulia:

Que tipo de homem você é, você não pode ajudar uma pobre garota, tudo o que peço é uma bagatela.

Aqui está um link para MA colorido, por exemplo.https://www.mql5.com/ru/code/9145

Eu só preciso de um exemplo, mas mais simples e claro com uma linha colorida no topo ou no fundo das barras, sem algoritmos de cálculo.

Por favor, responda ao meu pedido. Agradecemos antecipadamente.


Exemplos de tais indicadores em kodobase, mas não são simples, porque este indicador não pode ser feito usando apenas ferramentas de terminal embutidas, porque o terminal não tem as ferramentas embutidas necessárias para isso (quero dizer, ferramentas para construir indicadores).
 

Profissionais, como posso armazenar dados durante vários dias e depois editar esses dados?

Eu sei sobre o php, mas o banco de dados MySQL é utilizado para armazenar alguns dados,

Eu não consigo entender como armazenar algumas informações e onde colocá-las para poder usá-las e editá-las mais tarde?

Se houver tal coisa em mql4, por favor explique com um pequeno exemplo.

Eis o que preciso fazer: levar a quantia de fundos disponíveis na conta naquele momento, inseri-la no banco de dados, e depois que a EA tiver negociado 10% a mais ou a menos, aumentamos o lote ou o diminuímos com base na nova quantia.

É para isto que serve o banco de dados, para lembrar que agora há $1000 na conta

Uma vez que a EA tenha atingido $1100, aumente o lote.

Suma = 1100; // o valor atual é de $100 a mais, o Expert Advisor tem negociado com sucesso.

procent = 10; // 10%

baza = 1000; // extraímos a quantia anterior do banco de dados.

raznica = (baza/procent)+baza;// tomamos 1000/10=100, a diferença é de 10% e adicionamos à quantidade da base que obtemos 100+1000=1100


se (Suma>=raznica ) // 1100 >=1100 comparar se o montante atual for maior que a soma da base + 10%;

{

aumentamos o lote e adicionamos a quantia de 1100 à base; após a EA comercializar a quantia de 10% de 1100=110, aumentamos novamente o lote e adicionamos a nova quantia à base, etc.

}


Espero ter explicado bem. talvez haja outras idéias ou soluções sobre como implementar isto?

 
pasha5282:

Profissionais, como posso armazenar dados durante vários dias e depois editar esses dados?

Eu sei sobre o php, mas o banco de dados MySQL é utilizado para armazenar alguns dados,

Eu não consigo entender como armazenar algumas informações e onde colocá-las para poder usá-las e editá-las mais tarde?

Se houver tal coisa em mql4, por favor explique com um pequeno exemplo.

Eis o que preciso fazer: levar a quantia de fundos disponíveis na conta naquele momento, inseri-la no banco de dados, e depois que a EA tiver negociado 10% a mais ou a menos, aumentamos o lote ou o diminuímos com base na nova quantia.

É para isto que serve o banco de dados, para lembrar que agora há $1000 na conta

Uma vez que a EA tenha atingido $1100, aumente o lote.

Suma = 1100; // o valor atual é de $100 a mais, o Expert Advisor tem negociado com sucesso.

procent = 10; // 10%

baza = 1000; // extraímos a quantia anterior do banco de dados.

raznica = (baza/procent)+baza;// tomamos 1000/10=100, a diferença é de 10% e adicionamos à quantidade da base que obtemos 100+1000=1100


se (Suma>=raznica ) // 1100 >=1100 comparar se o montante atual for maior que a soma da base + 10%;

{

aumentamos o lote e adicionamos a quantia de 1100 à base; após a EA comercializar a quantia de 10% de 1100=110, aumentamos novamente o lote e adicionamos a nova quantia à base, etc.

}


Espero ter explicado bem. talvez haja outras idéias ou soluções sobre como implementar isto?


Variáveis ou matrizes de variáveis são utilizadas para este fim. Na verdade, o MySQL também é um conjunto de variáveis e um conjunto de regras que permitem que você trabalhe com este conjunto.
 
Yulia:
É claro para mim, não sei como em uma barra, por exemplo i=20 para parar a linha vermelha, a partir desta barra para iniciar a verde, etc.
Para que uma linha seja desenhada em cores diferentes (é montada a partir de "peças" separadas de linhas de cores diferentes), você precisa ativar quantos tampões quiser que as cores da linha sejam desenhadas.

Em seu exemplo, na barra 20 os valores devem ser colocados no buffer que desenha a linha verde, e todos os outros buffers nessa barra devem ter um valor Vazio que não está desenhado no gráfico. O seu valor padrão é EMPTY_VALUE.


P.S. O link colorido MA que você citou é elementar e muito claro para implementar o que lhe escrevi acima.

 
TarasBY:
Para que uma linha seja desenhada em cores diferentes (ela é montada a partir de "peças" separadas de linhas de cores diferentes), você deve usar tantos tampões quantos quiser que a linha seja desenhada.
Em seu exemplo, na barra 20, você colocaria valores no buffer que desenha a linha verde, enquanto todos os outros buffers nessa barra deveriam ter um valor vazio que não está desenhado no gráfico. O seu valor padrão é EMPTY_VALUE.

para ser mais preciso, não quantas cores, mas quantas barras, e o número máximo de tampas indicadoras -- 8...
 
TarasBY:
Para que uma linha seja desenhada em cores diferentes (ela é coletada de "pedaços" de linhas de cores diferentes), é necessário usar tantos tampões quantos forem necessários para a linha desenhada.
Em seu exemplo, na barra 20, você colocaria valores no buffer que desenha a linha verde, e todos os outros buffers nessa barra deveriam ter um valor vazio que não está desenhado no gráfico. O seu valor padrão é EMPTY_VALUE.

Eu tentei tudo, se eu colocar o valor de 20 bar no buffer verde, então o vermelho é puxado ainda mais, se eu atribuir EMPTY_VALUE ao buffer vermelho 20, então o vermelho ao 20 não é puxado. Por favor, mostre-me um exemplo, eu ficaria muito grato a você

//--------------------------------------------------------------------
// userindicator.mq4 // Destinado a ser usado como exemplo no tutorial MQL4.
//--------------------------------------------------------------------
#janela_do_cartão_indicador de propriedade// O indicador é desenhado na janela principal
#property indicator_buffers 2 // número de amortecedores
#indicador de propriedade_cores1 Vermelho// cor da primeira linha
#indicador de propriedade_color2 Verde// cor da segunda linha

duplo Buf_0[],Buf_1[]; //declaração de arrays (para amortecedores indicadores)
//--------------------------------------------------------------------
int init() {// Função especial init()
SetIndexBuffer(0,Buf_0);// atribuição de uma matriz para o buffer
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);//Line style
SetIndexBuffer(1,Buf_1);// atribuindo uma matriz ao buffer
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);//Line style
retornar; // Saída do init especial. init()
}
//-------------------------------------------------------------------
int start() { // início de função especial( )
int i,// índice de barras
Barras_contadas; // Número de barras contadas
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted();//número de barras calculadas
i=Bars-Counted_bars-1;// Índice do primeiro não contado

while(i>=0) // loop através das barras não contadas
{

Buf_0[i]=Alto[i];
Buf_1[i]=
i--;

}
retornar;
}

 
Como faço para obter o código aqui mesmo? Tenho que usar Scr ou algo assim? O que tenho que fazer para colocar o código no comentário?
 
rigonich:

Para ser mais preciso, não quantas cores, mas quantas barras, e o número máximo de tampas indicadoras -- 8...

Você já pensou bem nas barras???? Veja o MA colorido no link, coloque-o em sua tabela com um período de, digamos, 14, e conte o número de barras de diferentes cores ali.

Ou você está falando de "Thomas" e eu estou falando de "Eurya"...

Razão: