[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 9

 
O que em mql4 é uma boa maneira de limitar as perdas (parar a EA) se tudo der errado? Inventei apenas para redefinir o valor máximo do AccountEquity() no arquivo ini de tempos em tempos e parar de negociar se o valor atual do AccountEquity() for menor em alguma porcentagem definida do que o valor salvo. Por favor, informe.
 
igrok2008 писал(а) >>
Os exemplos acima descrevem o código de compra e venda para CCI, RSI e WPR. Por que exatamente estes indicadores são utilizados? Na minha opinião, eles são os mais fáceis de aprender como construir um Expert Advisor. O princípio de compra e venda é o mesmo para eles. menos de -100 (para CCI), -70 (para RSI) e 20 (para WPR), respectivamente, a venda será: +100, -30 e 80. Parece-me (cruzado mais de uma vez) que os erros estão nas condições comerciais, mas onde eu não entendo..... Trata-se do princípio de ESCREVER corretamente as condições comerciais (acho que sim).............. Isso é o que eu queria lhe perguntar........
double CCI = NormalizeDouble(iCCI(NULL, 0,Period,PRICE_CLOSE,1), Digits);

if(CCI[1] > -100)
Espere um minuto, de onde vem este SSI[1]?
acontece que o código não é compilado, então nenhuma compilação está errada?
 
MuruFigi писал(а) >>
O que em mql4 é uma boa maneira de limitar as perdas (parar a EA) se tudo der errado? Inventei apenas para redefinir o valor máximo do AccountEquity() no arquivo ini de tempos em tempos e se o valor atual do AccountEquity() for menor em alguma porcentagem definida do que o valor salvo, então pare de negociar. Por favor, informe.

Procure o indicador de equidade e equilíbrio por Cirurgião. Está em CodeBase.

 
Korey >> :
Espere um minuto, onde está a CCI[1]?
acontece que o código não passa a compilação, ou seja, a ausência de compilação está errada?

CCI[1] é a CCI para a primeira barra.

O que é compilação? Compilar um EA (indicador, roteiro) é o que você faz no metaeditor, pressionando F5 (compilar) ??????????

Eu acho que, porque a primeira barra ainda não está formada, então o cálculo deve ser feito na primeira barra. Daí a CCI[1]. O que estou errado em 15??????

 
igrok2008 >> :

>> o que eu estou errado sobre??????

Em tudo. Os conselheiros já se dispersaram, percebendo que ainda é preciso ler um livro didático para compreender os conceitos básicos. Caso contrário, não haverá conversa.

Por exemplo, CCI[1] mesmo um "programador" como eu lê como chamando uma célula de uma matriz chamada CCI e indexada [1]. O que você quis dizer com isso?

 
granit77 >> :

Em tudo. Os conselheiros já se dispersaram, percebendo que ainda é preciso ler um livro didático para compreender os conceitos básicos. Caso contrário, a conversa não vai funcionar.

Por exemplo, mesmo um "programador" como eu lê CCI[1] como uma chamada de uma célula de array com nome CCI e índice [1]. O que você quer dizer com isso?

Mais ou menos o mesmo. E o link para o tutorial? Ou é o tutorial MQL4 "MQL4Bookrussian"??????????????

 
igrok2008 >> :

Mais ou menos a mesma coisa.

Que tal um link para um livro didático? Ou talvez seja o tutorial da MQL4 "MQL4Bookrussian"???????????????

1. Se for a mesma coisa, onde e por que você declarou (criou) esta matriz? Você pode chamar algo que existe.

2. Tutorial de links no topo da página. Eu pessoalmente achei os artigos de Rosh mais adequados.

 
granit77 >> :

1. Se o mesmo, onde e por que você declarou (criar) esta matriz? Você pode chamar o que existe.

2. Link do tutorial no topo da página. Eu pessoalmente achei os artigos de Rosh mais adequados.

1 entrada CCI[1]>-100 é uma condição comercial para comprar

2 ler (superficialmente) o tutorial, ler até 30 páginas de funções úteis do KimIV, ler artigos "para bonecos" e em nenhum lugar encontrar a resposta à pergunta PORQUE a condição simbólica DEVERÁ ser escrita desta forma se (a besteira sabe o quê<*****&&& a besteira sabe como>******). Por que deveria ser.

tratat E trat, não apenas se(trat<******). Isso é o que não está claro para mim. Claro que a vinina me explicou antes (para MA) claramente o que é o quê, MAS PORQUE você DEVE UTILIZAR a lógica E ..... unexpliced.................

Ainda não chegou aos artigos da Rosha, obrigado pela dica.............

 
igrok2008 >> :

1 entrada CCI[1]>100 é uma condição de compra comercial

Por que deveria ser tratata E trutu e não apenas se(tratata<******). Isso é o que não está claro para mim. Claro que a vinina me explicou antes (para MA) inteligivelmente o que é o quê, MAS PORQUE você DEVE UTILIZAR a lógica E ..... unexpliced........

1. Não se trata de que tipo de condição é, trata-se do que você está comparando e com o que. Você pensa que está comparando o valor do indicador CCI com o nível, enquanto ao invés do indicador você está escrevendo o valor de uma célula de um array CCI[] personalizado inexistente e desnecessário que simplesmente tem o mesmo nome, ou seja, espaço vazio. Este é um erro grosseiro que o compilador não será capaz de compilar.

2. Se você estiver recebendo um sinal de um indicador de seta no qual um valor aparece somente quando ocorre uma condição, você está escrevendo:

se(trata>0) entrar; isto porque o sinal é discreto, se não há seta o buffer está vazio e não há mais nada a verificar

Se você rastrear a linha indicadora atravessando um determinado nível (o buffer está cheio de linha, o sinal é analógico), então esta escrita se(trata> nível) causará a entrada de sinal contínuo enquanto a linha indicadora estiver acima do nível. Mas não é isso que você quer, você quer receber um sinal no momento da travessia. E o momento da travessia é capturado precisamente através dos tratata e trutata.

Ou seja, nós lemos e escrevemos nas variáveis os valores CCI na barra de zero e na primeira barra. Verificamos se a CCI estava mais alta na primeira barra (anterior). Se a CCI na barra de zero já caiu abaixo deste nível, então ocorreu uma cruz. Combine estas duas condições com uma lógica AND e temos um único sinal cruzado.

//объявляем переменную cci_0 и присваиваем ей значение индикатора CCI на нулевом (текущем) баре
double cci_0=iCCI(NULL,0, CCIperiod, CCIprice,0);
//объявляем переменную cci_1 и присваиваем ей значение индикатора CCI на первом (предыдущем) баре
double cci_1=iCCI(NULL,0, CCIperiod, CCIprice,1);
//если значение индикатора CCI на нулевом (текущем) баре уже меньше уровня 100
//а предыдущее его значение (на первом баре) было больше уровня 100
//значит произошло пересечение, и мы даем сигнал на продажу
if( cci_0<100 && cci_1>100) SignalSell=true;
 
granit77 >> :

1. Não se trata de qual é a condição, mas do que você está comparando e com o que você está comparando. Você pensa que está se comparando ao nível do indicador CCI, mas ao invés do indicador você está escrevendo o valor de uma célula de um array CCI[] personalizado inexistente e desnecessário que simplesmente tem o mesmo nome, ou seja, espaço vazio. Este é um erro grosseiro que o compilador não será capaz de compilar.

2. Se você estiver recebendo um sinal de um indicador de seta no qual um valor aparece somente quando ocorre uma condição, você está escrevendo:

se(tratata>0) entrar; isto porque o sinal é discreto, se não há seta, o buffer está vazio e não há mais nada a verificar

Se você rastrear a linha indicadora atravessando um determinado nível (o buffer está cheio de linha, o sinal é analógico), então esta escrita se(trata> nível) causará a entrada de sinal contínuo enquanto a linha indicadora estiver acima do nível. Mas não é isso que você quer, você quer receber um sinal no momento da travessia. E o momento da travessia é capturado precisamente através dos tratata e trutata.

Ou seja, nós lemos e colocamos nas variáveis os valores CCI a zero e a primeira barra. Verificamos se a CCI estava mais alta na primeira barra (anterior). Se a CCI na barra de zero já caiu abaixo deste nível, então ocorreu uma cruz. Combine estas duas condições com lógica AND e obtemos um único sinal cruzado.

wo......Wo.......Wo.............. understand.... entenda.....shaz esta tarde, responderei OBRIGADO ao granit77. Mesmo à primeira vista, você pode ver que VOCÊ tem paciência angelical,

não como os professores da escola hoje.....

Razão: