[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 239
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
iHighest e iLowest para ajudá-lo, e leia o algoritmo para construir ZZ
SZY: não é a tarefa mais fácil, o código será pequeno, mas o algoritmo é complexo, não consigo encontrar o código, mas procurei por um pico em High: High[iHighest(NULL,0,MODE_HIGH,i)
1. O que é "33"?
2. alto[iHighest(NULL,0,MODE_HIGH,i) dará um ponto. Como conseguir o segundo?
iLowest != segundo ponto.
1. O que é "33"?
2. alto[iHighest(NULL,0,MODE_HIGH,i) dará um ponto. Como conseguir o segundo?
1. Zig Zag.
2. não vai, só lhe dará a possibilidade de encontrar algum Alto para a linha superior e então você terá que escolher dois desses Altos para traçar a linha com
A dificuldade é encontrar os pontos através dos quais a linha será traçada mais tarde.
Não é difícil traçar linhas quando se pode ver estes pontos. Como você os "vê" programmaticamente?
Obrigado, corrigido!
A dificuldade é encontrar os pontos através dos quais a linha será traçada mais tarde.
Não é difícil traçar linhas quando se pode ver estes pontos. Como você os "vê" programmaticamente?
Obrigado, corrigido!
Bom dia a todos os conhecedores!
Por favor, ajude-me a corrigir o código no Expert Advisor https://www.mql5.com/ru/code - Ilan.
A idéia é que a EA tem um parâmetro ajustável para o levantamento de capital, que fecha todos os pedidos!
Entretanto, a função de travamento apareceu mais tarde, por isso nossa EA tem fechado todas as ordens abertas seguindo a tendência e deixa as posições de travamento intocadas. Então, como consertá-lo para que todos os pedidos sejam fechados com um determinado saque de capital próprio?
Aqui está a seção onde as ordens são fechadas (as ordens de tendência e de perda têm números mágicos diferentes). Tudo funciona aqui. O Expert Advisor está fechando todas as ordens. O drawdown é 4 ou mais vezes maior que o estabelecido, até o ponto de drenagem do depósito:
if (UseEquityStop) {
if (CurrentPairProfit < 0.0 && MathAbs(CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll(MagicNumber);
CloseThisSymbolAll(LMagN);
PrintF("Closed All due to Stop Out");
NewOrdersPlaced = FALSE;
Acontece que as ordens perdidas estão sendo cobertas, mas não são levadas em conta quando o lucro e o patrimônio líquido atuais são calculados! Aqui está o segmento que calcula o lucro atual:
double CalculateProfit() {
double ld_ret_0 = 0;
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == MagicNumber || OrderMagicNumber() == LMagN)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit();
}
return (ld_ret_0);
E aqui está o segmento que calcula a equidade:
double AccountEquityHigh() {
if ((CountTrades(MagicNumber) == 0) && (CountTrades(LMagN) == 0)) AccountEquityHighAmt = AccountEquity();
if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity;
else AccountEquityHighAmt = AccountEquity();
PrevEquity = AccountEquity();
return (AccountEquityHighAmt);
Destaquei em preto as seções que acrescentei. O que eu esqueci????? Por que não funciona?????
Bom dia a todos os conhecedores!
Por favor, ajude-me a corrigir o código no Expert Advisor https://www.mql5.com/ru/code - Ilan.
A idéia é que a EA tem um parâmetro ajustável para o levantamento de capital, que fecha todos os pedidos!
Entretanto, a função de travamento apareceu mais tarde, por isso nossa EA tem fechado todas as ordens abertas seguindo a tendência e deixa as posições de travamento intocadas. Então, como consertá-lo para que todos os pedidos sejam fechados com um determinado saque de capital próprio?
Aqui está a seção onde as ordens são fechadas (as ordens de tendência e de perda têm números mágicos diferentes). Tudo funciona aqui. O Expert Advisor está fechando todas as ordens. O drawdown é 4 ou mais vezes maior que o estabelecido, até o ponto de drenagem do depósito:
if (UseEquityStop) {
if (CurrentPairProfit < 0.0 && MathAbs(CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll(MagicNumber);
CloseThisSymbolAll(LMagN);
PrintF("Closed All due to Stop Out");
NewOrdersPlaced = FALSE;
Acontece que as ordens perdidas estão sendo cobertas, mas não são levadas em conta quando o lucro e o patrimônio líquido atuais são calculados! Aqui está o segmento que calcula o lucro atual:
double CalculateProfit() {
double ld_ret_0 = 0;
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == MagicNumber || OrderMagicNumber() == LMagN)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit();
}
return (ld_ret_0);
E aqui está o segmento que calcula a equidade:
double AccountEquityHigh() {
if ((CountTrades(MagicNumber) == 0) && (CountTrades(LMagN) == 0)) AccountEquityHighAmt = AccountEquity();
if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity;
else AccountEquityHighAmt = AccountEquity();
PrevEquity = AccountEquity();
return (AccountEquityHighAmt);
Destaquei em preto as seções que acrescentei. O que eu esqueci????? Por que não funciona?????
Talvez devesse? :
Talvez seja assim que deve ser?
é assim que se coloca o código para que se possa lê-lo.
Só este fim de semana estou usando o testador de estratégia pela primeira vez. Não consigo descobrir qual é o uso da função "Otimização". Selecionei diferentes parâmetros otimizáveis, mas o equilíbrio não muda. O que está essencialmente tentando otimizar e como? Alguém a usa? :)
Olá a todos!
Só neste fim de semana, pela primeira vez, estou usando o testador de estratégia. Não consigo entender qual é o uso da função "Otimização". Selecionei diferentes parâmetros otimizáveis, mas o equilíbrio não muda. O que está essencialmente tentando otimizar e como? Alguém a usa? :)
Tente usar F1 para começar.
Encontrar Interface do Usuário -> Testador.
Talvez https://www.mql5.com/ru/articles/mt4/tester ajude