Ajuda na codificação - página 372

 
AtApi:
Obrigado mladen!o problema desta maneira é que não remove realmente a string da matriz, apenas muda o valor da string para "remover" tanto no valor original quanto no valor duplicado...então se eu quiser filtrá-los mais tarde eu removerei o valor original também...espero que eu esteja claro...

Não

É por isso que a condição if (myArray != "remover ") está na última linha desse código. Somente os valores diferentes de "remover" são copiados para a nova matriz depois de ajustar o novo tamanho da matriz (adicionando um novo elemento).

 

ok, vou testá-lo e lhe avisarei!

sempre obrigado do fundo do meu coração!!

 
mladen:
Não funciona. É por isso que a condição if (myArray != "remover") está na última linha desse código. Somente os valores diferentes de "remover" são copiados para o novo array depois de ajustar o novo tamanho do array (adicionando um novo elemento).

Funciona muito bem, graças a um monte!!

 

Mladen

O nicetrader1.03 e os erros desapareceram..... então eu o levei de volta ao tester, não podia negociar, mas dando os erros.anexei parte do erro da revista abaixo:

Acho que isto é o resultado das funções de trailing stop que adicionamos, bcos ot estava negociando antes de ,,,,. Só quero aperfeiçoar o modelo para todos nós aqui.... gentilmente me ajudar a reajustar a trailing stop para trabalhar com o modelo.TrailingStart, que é o limite de lucro que precisa ser alcançado antes que o trailing stop possa ser ativado; o TrailingStop, que é a quantidade de pips que iremos rastrear a partir de novos máximos de lucro; e o TrailingStep, a quantidade de novos pips que precisa ser obtida antes que o trailing stop possa ser aumentado pelo valor do ganho.

mladen:
Esses avisos foram removidos: newnicetrader_1.03.mq4
Arquivos anexados:
errorimage.png  212 kb
 
Mastercash:
Mladen

O nicetrader1.03 e os erros desapareceram..... então eu o levei de volta ao tester, não podia negociar, mas dando os erros.anexei parte do erro da revista abaixo:

Acho que isto é o resultado das funções de trailing stop que adicionamos, bcos ot estava negociando antes de ,,,,. Só quero aperfeiçoar o modelo para todos nós aqui ,,,,, e me ajudar a trabalhar novamente com o modelo.TrailingStart, que é o limite de lucro que precisa ser alcançado antes que o trailing stop possa ser ativado; o TrailingStop, que é a quantidade de pips que iremos rastrear a partir de novos máximos de lucro; e o TrailingStep, a quantidade de novos pips que precisam ser ganhos antes que o trailing stop possa ser aumentado pelo valor do ganho.

O erro 134 significa: não há dinheiro suficiente. O tamanho do lote do pedido é muito grande para o patrimônio da conta, não é resultado de nenhuma função de negociação adicionada, uma vez que eu não adicionei nenhuma função de negociação a essa EA - se você adicionou tais funções, por favor, revise-as, uma vez que eu não tenho idéia de quais mudanças no código foram feitas por você

 

Como posso calcular o lucro total dos pedidos atualmente abertos?

 
apprentice coder:
Como posso calcular o lucro total dos pedidos atualmente abertos?

codificador aprendiz

Você pode fazer algo assim (swaps e comissões incluídas, portanto o resultado é um lucro exato) :

double colectProfit()

{

double profitSoFar=0;

//

//

//

//

//

for (int i=OrdersTotal()-1; i>=0; i--)

{

OrderSelect(i, SELECT_BY_POS,MODE_TRADES);

if (!TrailAllSymbols)

if (OrderSymbol()!=Symbol()) continue;

if (OrderMagicNumber() < magicNumberfrom) continue;

if (OrderMagicNumber() > magicNumberto) continue;

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

profitSoFar += (OrderProfit()+OrderSwap()+OrderCommission());

}

return(profitSoFar);

}

 
mladen:
codificador aprendiz

Você pode fazer algo assim (swaps e comissões incluídas, portanto o resultado é um lucro exato) :

double colectProfit()

{

double profitSoFar=0;

//

//

//

//

//

for (int i=OrdersTotal()-1; i>=0; i--)

{

OrderSelect(i, SELECT_BY_POS,MODE_TRADES);

if (!TrailAllSymbols)

if (OrderSymbol()!=Symbol()) continue;

if (OrderMagicNumber() < magicNumberfrom) continue;

if (OrderMagicNumber() > magicNumberto) continue;

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

profitSoFar += (OrderProfit()+OrderSwap()+OrderCommission());

}

return(profitSoFar);

}

Entendi.

Eu estava pensando em algo na linha, mas a troca causou resultados errados às vezes. Obrigado

 

Sim, mas começa este erro quando eu acrescentei a parada de trilha, mas levei tempo para explicar. Esta parada de trilha precisa de uma parada de trilha, para mim é como a que eu acrescentei que é a primeira função no lado superior do código, não está funcionando.

mladen:
Erro 134 significa: não há dinheiro suficiente. O tamanho do lote do pedido é muito grande para o patrimônio da conta, não é resultado de nenhuma função de negociação adicionada, uma vez que eu não adicionei nenhuma função de negociação a essa EA - se você adicionou tais funções, por favor, revise-as, uma vez que eu não tenho idéia de quais mudanças no código foram feitas por você
 

Este posto para Mladen, oi, senhor, foi o que eu recebi quando tentei convencer o especialista em meta editor, fisher m11 ea, o que isso significa? Obrigado!

'Fisher M11 ea.mq4'Fisher M11 ea.mq411

'stdlib.mqh'stdlib.mqh11

'stderror.mqh'stderror.mqh11

função deve retornar um valorFisher M11 ea.mq4945

variável 'cerrada' não utilizadaFisher M11 ea.mq4788

variável 'preço' não usadoFisher M11 ea.mq47710

variável 'ticket' não usadoFisher M11 ea.mq4767

declaração de 'c' esconde declaração global na linha 57Fisher M11 ea.mq419182

variável 'i' não utilizadaFisher M11 ea.mq435618

declaração de 'deslizamento' esconde declaração global na linha 60Fisher M11 ea.mq453112

declaração de 'mágica' esconde declaração global na linha 14Fisher M11 ea.mq453228

valor de retorno da 'OrderSelect' deve ser verificadoFisher M11 ea.mq46844

valor de retorno da 'OrderSelect' deve ser verificadoFisher M11 ea.mq47914

nem todos os caminhos de controle retornam um valorFisher M11 ea.mq48011

declaração de 'deslizamento' esconde declaração global na linha 60Fisher M11 ea.mq484112

declaração de 'mágica' esconde declaração global na linha 14Fisher M11 ea.mq484228

valor de retorno da 'OrderSelect' deve ser verificadoFisher M11 ea.mq410104

nem todos os caminhos de controle retornam um valorFisher M11 ea.mq410201

valor de retorno de 'OrderSelect' deve ser verificadoFisher M11 ea.mq410934

valor de retorno de 'OrderSelect' deve ser verificadoFisher M11 ea.mq411873

declaração de 'deslizamento' esconde declaração global na linha 60Fisher M11 ea.mq4126711

valor de retorno de 'OrderSelect' deve ser verificadoFisher M11 ea.mq414013

0 erro(s), 19 advertência(ões)120

Razão: