Como codificar? - página 307

 

...

Sim, você entendeu corretamente

A partir do fasle: mql é um C/C++ como linguagem, o que significa que falso == 0 e verdadeiro == 1. Portanto, você pode usar dessa forma. Você não pode declarar o tipo da variável global, pois elas são exclusivamente duplas, mas usando as formas superiores, você pode usá-las como se fossem booleanas.

crsnape@btinternet.com:
Ahh... estou vendo. Porque as Variáveis Globais guardam seus valores na memória. Então, como você diz quando termina o backtesting e seus 5000 dizem, isto é gravado na memória mesmo que o backtesting seja executado novamente, então nunca retornará falso porque o BarsGV não está abaixo de 5000? Caramba, isto é profundo.

E também, se gerar um erro, define HasOrderedGV como falso para que possa continuar com o resto do código?

Eu o entendi corretamente?

BTW- isto é permitido?

GlobalVariableSet(HasOrderedGV, falso);

Porque no livro MQL4 diz:

data/hora GlobalVariableSet([/TD][TD] nome dastring, valor duplo )
O segundo valor na minha instância é bool não o dobro?
 

Está funcionando novamente. Incrível.

Obrigado.

 

Ou foi...

Coloquei em minhas datas habituais de testes que são 04.01.2011- 20.07.2012. Funcionou bem ontem à noite quando inseri o BarsGV no init(), mas quando o testei esta manhã sem fazer nenhuma alteração, fiz apenas um pedido em 17.01.2011. Então eu o testei novamente 5 minutos depois, sem fazer nenhuma alteração e ele retornou cerca de 30 pedidos de 19.01.2011- 21.04.2011!

Basicamente, funciona como deveria, mas não tem a data de finalização especificada. Não há erros na revista, minha impressão () funciona como deveria, etc. Meu critério de entrada deve desenvolver negócios até o dia 20.07.2012.

Parece realmente temporário e só posso supor que tenha a ver com minha GlobalVariable. O que você acha?

 

Este é o meu Jornal:

2012.07.23 09:08:16 2011.03.21 16:18 Testador: tirar lucro #2 em 1.42100 (1.42100 / 1.42125)

2012.07.23 09:08:15 2011.03.04 14:39 Tester: ter lucro #1 em 1.40040 (1.40043 / 1.40068)

2012.07.23 09:08:14 2011.02.04 13:39 Testador: pare a perda #3 em 1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Bilhete número 3 Símbolo EURUSD Preço 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: EA tentando colocar em nível de lucro...sucesso

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: modificar #3 comprar 0.01 EURUSD a 1.37175 sl: 1.35700 tp: 1.41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Assumir posição de lucro calculada com sucesso

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Pedido Colocado com sucesso

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: EA tentando colocar ordem de compra...

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: abrir #3 comprar 0.01 EURUSD a 1.37175 sl: 1.35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Tamanho da posição calculado com sucesso usando porcentagem de risco derivada

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Percentual de risco pronto para uso em cálculo de lotes

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Pedido anterior em lucro. Risco de 3% alocado

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Bilhete número 2 obtido para último pedido aberto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Bilhete número 2 obtido para último pedido aberto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Verificação dos critérios de compra... bem sucedida. Pedido pronto para ser colocado

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Bilhete número 2 Símbolo EURUSD Preço 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: EA tentando colocar em nível de lucro...sucesso

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: modificar #2 comprar 0.01 EURUSD a 1.35995 sl: 1.33960 tp: 1.42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Assumir posição de lucro calculada com sucesso

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Pedido Colocado com sucesso

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: EA tentando colocar ordem de compra...

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: abrir #2 comprar 0.01 EURUSD a 1.35995 sl: 1.33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Tamanho da posição calculado com sucesso usando porcentagem de risco derivada

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Percentual de risco pronto para uso em cálculo de lotes

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Pedido anterior em lucro. Risco de 3% alocado

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Bilhete número 1 obtido para último pedido aberto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Bilhete número 1 obtido para último pedido aberto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Verificação dos critérios de compra... bem sucedida. Pedido pronto para ser colocado

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Bilhete número 1 Símbolo EURUSD Preço 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: EA tentando colocar em nível de lucro...sucesso

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: modificar #1 comprar 0.01 EURUSD a 1.34415 sl: 1.32540 tp: 1.40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Assumir posição de lucro calculada com sucesso

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Pedido Colocado com sucesso

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: EA tentando colocar ordem de compra...

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: abrir #1 comprar 0.01 EURUSD a 1.34415 sl: 1.32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Tamanho da posição calculado com sucesso usando porcentagem de risco derivada

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Percentual de risco pronto para uso em cálculo de lotes

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Nenhum pedido anterior identificado. Risco de 1% alocado

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Bilhete número -1 obtido para último pedido aberto

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Verificação dos critérios de compra... bem sucedida. Pedido pronto para ser colocado

2012.07.23 09:08:12 H4 Período entradas EA: MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

Funciona como um relógio, mas por alguma razão decide parar de fazer pedidos após um certo período de tempo...

 

...

Desculpe,

Mas esses dados não são suficientes para dizer o que está acontecendo com sua EA. Como eu disse algumas vezes, sem o código tudo que posso fazer é adivinhar, e a partir dos dados anexados não consigo nem mesmo adivinhar

crsnape@btinternet.com:
Este é meu Diário:

2012.07.23 09:08:16 2011.03.21 16:18 Testador: obter lucro #2 em 1.42100 (1.42100 / 1.42125)

2012.07.23 09:08:15 2011.03.04 14:39 Tester: ter lucro #1 em 1.40040 (1.40043 / 1.40068)

2012.07.23 09:08:14 2011.02.04 13:39 Testador: pare a perda #3 em 1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Bilhete número 3 Símbolo EURUSD Preço 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: EA tentando colocar em nível de lucro...sucesso

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: modificar #3 comprar 0.01 EURUSD a 1.37175 sl: 1.35700 tp: 1.41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Assumir posição de lucro calculada com sucesso

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Pedido Colocado com sucesso

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: EA tentando colocar ordem de compra...

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: abrir #3 comprar 0.01 EURUSD a 1.37175 sl: 1.35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Tamanho da posição calculado com sucesso usando porcentagem de risco derivada

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Percentual de risco pronto para uso em cálculo de lotes

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Pedido anterior em lucro. Risco de 3% alocado

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Bilhete número 2 obtido para último pedido aberto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Bilhete número 2 obtido para último pedido aberto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Período EA EURUSD,H4: Verificação dos critérios de compra... bem sucedida. Pedido pronto para ser colocado

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Bilhete número 2 Símbolo EURUSD Preço 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: EA tentando colocar em nível de lucro...sucesso

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: modificar #2 comprar 0.01 EURUSD a 1.35995 sl: 1.33960 tp: 1.42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Assumir posição de lucro calculada com sucesso

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Pedido Colocado com sucesso

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: EA tentando colocar ordem de compra...

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: abrir #2 comprar 0.01 EURUSD a 1.35995 sl: 1.33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Tamanho da posição calculado com sucesso usando porcentagem de risco derivada

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Percentual de risco pronto para uso em cálculo de lotes

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Pedido anterior em lucro. Risco de 3% alocado

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Bilhete número 1 obtido para último pedido aberto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Bilhete número 1 obtido para último pedido aberto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Período EA EURUSD,H4: Verificação dos critérios de compra... bem sucedida. Pedido pronto para ser colocado

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Bilhete número 1 Símbolo EURUSD Preço 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: EA tentando colocar em nível de lucro...sucesso

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: modificar #1 comprar 0.01 EURUSD a 1.34415 sl: 1.32540 tp: 1.40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Assumir posição de lucro calculada com sucesso

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Pedido Colocado com sucesso

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: EA tentando colocar ordem de compra...

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: abrir #1 comprar 0.01 EURUSD a 1.34415 sl: 1.32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Tamanho da posição calculado com sucesso usando porcentagem de risco derivada

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Percentual de risco pronto para uso em cálculo de lotes

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Nenhum pedido anterior identificado. Risco de 1% alocado

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Bilhete número -1 obtido para último pedido aberto

2012.07.23 09:08:13 2011.01.19 04:00 H4 Período EA EURUSD,H4: Verificação dos critérios de compra... bem sucedida. Pedido pronto para ser colocado

2012.07.23 09:08:12 H4 Período entradas EA: MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

Funciona como um relógio, mas por alguma razão decide parar de fazer pedidos após um certo período de tempo...
 

Hello mladen, eu anexei o arquivo. Espero tê-lo escrito bem para que faça sentido!

Arquivos anexados:
 

...

Pelo que posso ver do código: barras contadas (a função IndicatorCounted()) não funciona em EAs (estou presumindo que você está usando isso, já que o código não tem a definição CountedBars)

Pode funcionar apenas em indicadores

crsnape@btinternet.com:
Hello mladen, eu anexei o arquivo. Espero tê-lo escrito bem para que faça sentido!
 

Desculpe, não sabia o que você quis dizer com a função CountedBars, pois não a usei em meu código, então baixei o arquivo que eu havia postado e aberto e é completamente diferente daquele que eu realmente anexei. Estranho?

Eu definitivamente anexei o certo, é porque tenho um cadeado ao lado do arquivo em meu computador - isso é tudo que consigo pensar?

Você deve ter pensado em que diabos quando você abriu esse código, porque quase nada nele tem.

 

...

Eu estava me referindo a esta parte do código

if (Bars > CountedBars)

CountedBars = Bars

else

return (-888);

E eu não vejo de forma alguma onde CountedBars é declarado (eu até não consigo compilar esse código - não apenas por causa da falta de declaração para essa variável)

crsnape@btinternet.com:
Desculpe, não sabia o que você quis dizer com a função CountedBars, pois não a usei em meu código, então baixei o arquivo que eu havia postado e aberto e é completamente diferente daquele que eu realmente anexei. Estranho?

Eu definitivamente anexei o certo, é porque tenho um cadeado ao lado do arquivo no meu computador - isso é tudo que eu consigo pensar?

Você deve ter pensado que diabos quando você abriu esse código, porque quase nada nele está escrito.
 

Desculpe, o código que você visualizou através do arquivo que anexei está completamente errado - ele não tem nenhuma semelhança com meu código atual, apesar de anexar o arquivo correto (eu verifiquei duas vezes o nome do arquivo).

Tudo que posso pensar é que o arquivo em que estou trabalhando tem um cadeado ao lado dele no meu sistema. Não sei o que isso é ou faz. Alguma idéia/?

PS- é minha própria EA porque eu usei o assistente de criação da EA e ele tem meu nome no topo ao lado dos direitos autorais,

Razão: