[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 133

 
borilunad:

Muito obrigado pelo esclarecimento!

Só estou preocupado com o testador simulando barras de um minuto para modificações na abertura de cada barra de um minuto.

Vou tentar mudar Open[0] para iOpen(NULL,1,0) e acrescentar uma função para verificar a abertura da barra de um minuto.

Passaram-se alguns minutos, durante os quais eu afinei o código e o experimentei com o testador no M5 e me certifiquei de que neste caso o testador não abre barras de 1 minuto, embora prescrito, e o modifica apenas a cada 5 minutos, o que eu temia. Em todos os ticks é um pouco melhor, porque se modifica com mais freqüência. Mas na M1 apenas na abertura do bar funciona o mesmo, tanto com Open[0] como com iOpen(NULL,1,0), pelo qual ainda sou grato!

Agora usarei sempre iOpen verde, pois vejo que posso passar sem Open vermelho. O lucro verde é mais agradável do que o vermelho. (:))

Veja como os EAs looped são escritos, este é o padrão para multicurrency/multi-timeframes, pois elimina a necessidade de esperar por um tick no gráfico onde a EA está pairando, e permite que você processe todos os gráficos necessários em tempo real.
 
granit77:
Se o valor do indicador na primeira barra for maior que o valor da linha horizontal, E, o valor do indicador na segunda barra for menor que o valor da linha horizontal, então a linha do indicador cruzou a linha horizontal de baixo para cima.
A descrição da linha horizontal é um número constante, ou seja, seu valor na dimensão da janela indicadora. Vamos colocar o cursor do mouse sobre ele e ver este valor.

Obrigado. Agora, eu gostaria de me acomodar um pouco mais.

Digamos que este nível é ultrapassado. O indicador detecta a condição correta do mercado.

Mas o preço pode voltar dentro deste nível.

Não preciso redefinir o estado previamente determinado.

É importante para mim romper este mesmo nível. O que o preço se move para frente e para trás não me interessa, porque o momento de atravessar e fixar o nível pré-definido é importante.

Portanto, o que você escreveu é a situação do momento. Como fazer com que o novo estado determinado permaneça o mesmo quando o preço retornar.

Nosso indicador tem setas ARROWDN e ARROWUP no gráfico. Talvez elas devam ser aplicadas de alguma forma.

Por exemplo, se o valor da barra atual for maior que algum índice E

Aqui para colocar uma condição de que o preço NÃO quebrou a linha para cima ( OU a ARROTA não é iniciada )..., E o preço NÃO quebrou a linha para baixo ( OU a ARROTA não é iniciada ).

então.... é determinado pelo estado de fulano e fulano.

O indicador tem outra expressão

( ObjectFind(NomeInd+timestartpr+"CurExt_ARROWDN")!=-1) - este tipo de informação sobre a quebra da linha "CurExt_ARROWDN" para baixo.

Como posso indicar pela mesma expressão que não há avaria?

 
russcand:

Obrigado. E agora gostaria de decidir um pouco mais.

Digamos que este nível é ultrapassado. O indicador define a condição de mercado necessária.

Mas o preço poderia entrar neste nível novamente.

E preciso garantir que o estado previamente definido não seja redefinido.

Como o que é importante para mim é o avanço deste nível. O que o preço vai e vem não me interessa, pois há um momento de travessia e fixação da situação que já foi definida.

Portanto, o que você escreveu é a situação do momento. Como devo fazer para que a nova condição determinada permaneça inalterada quando o preço retornar?

Há também setas ARROWDN e ARROWUP no indicador (no gráfico). Talvez elas devam ser aplicadas de alguma forma.

Por exemplo, se o valor da barra atual for maior do que algum índice "AND ".

Aqui, colocar a condição de que o preço NÃO quebrou a linha para cima ( OU a ARROTA não é iniciada )..., E o preço NÃO quebrou a linha para baixo ( OU a ARROTA não é iniciada ).

então.... é determinado por um estado de sucessão e tal.

Há outra expressão no indicador

( ObjectFind(NomeInd+timestartpr+"CurExt_ARROWDN")!=-1) - este tipo de coisa diz que a linha "CurExt_ARROWDN" foi quebrada.

Como posso especificar a mesma expressão, mas que não há nenhuma inovação?



bool BreakDown=false;

...

como será quebrado:

BreakDown=verdadeiro;

 
tara:


bool BreakDown=false;

...

como ela funciona:

BreakDown=verdadeiro;

Sanx, você pode desenhar a fórmula em si? A partir deste ponto:

static bool BreakDown=false; // as it will try : BreakDown=true;
static bool BreakUp=false;

if ( iTime(Symbol(),0,0) >= CurExt // início do segmento

&& (
ObjectFind(NameInd+timestartpr+"CurExt_ARROWUP")!=-1 // break up
BreakUp=true;
|||

ObjectFind(NomeInd+timestartpr+"CurExt_ARROWDN")!=-1 // quebrado

BreakDown=verdadeiro;

)

)

Onde e como colocar BreakUp=true; e BreakDown=true; ou melhor, escreva corretamente a fórmula, pliz.... Caso contrário, é claro que o bilibe é desenhado no topo.

 
Por favor, diga-me o método de cálculo. Tomamos por exemplo os últimos 10 negócios e calculamos sua rentabilidade. Como calcular ter um histórico de todos os negócios (muito mais de 10) que a rentabilidade desses 10 negócios foi aleatória/não aleatória.
 
russcand:

Sanx, posso desenhar a fórmula em si? A partir deste ponto:

static bool BreakDown=false; // breakDown=true;
bool BreakUp=falso;

if ( iTime(Symbol(),0,0) >= CurExt // início do segmento

&& (
ObjectFind(NomeInd+timestartpr+"CurExt_ARROWUP")!=-1 // quebrar para cima
BreakUp=verdadeiro;
||

ObjectFind(NomeInd+timestartpr+"CurExt_ARROWDN")!=-1 // decompor-se

BreakDown=verdadeiro;

)

)

Onde e como colocar BreakUp=true; e BreakDown=true; ou melhor ainda, escreva a fórmula corretamente, pliz.... Porque é claro que o biliberal é desenhado no topo.


Desculpe, tente suas próprias condições primeiro :) A propósito, o Breakdown é uma avaria. Não para cima ou para baixo, apenas uma avaria.
 
Skydiver:
Por favor, diga-me o método de cálculo. Pegue por exemplo as últimas 10 operações e conte, por exemplo, a rentabilidade. Como calcular ter um histórico de todas as negociações (muito mais de 10) que a rentabilidade dessas 10 negociações foi aleatória/não aleatória.

Desculpe-me - mas por quê?
 
tara:

Desculpe-me, por quê?

Estou apenas tentando acertar esta coisa https://www.mql5.com/ru/forum/139348. Só não me chute com pensamentos de besteira e assim por diante. Eu acho que "a verdade está lá fora" e talvez parte dela esteja neste fio condutor. Por isso, estou cavando.
 
Depois de amanhã
 
tara:
Depois de amanhã

Receio não ver isso no fluxo de mensagens.