aventuras de um novato - página 8

 
niko:

Hey CB,


Acho que Tim está de férias agora, pois não tenho notícias dele há alguns dias. Portanto, continuo com seu código, pois ele me ajudará a negociar (como agora estou negociando manualmente a estratégia, e isso significa acordar cedo, etc.). Alterei todo o código como você pediu, mas por alguma razão ele ainda retorna um erro (para fazer com "==" desta vez, muito estranho).


Outra coisa é que notei que a função de início não estava fechada. Então acrescentei "}" após a primeira função dentro do início (), se não fizermos isso, o código gera um erro com a seqüência de funções subseqüente fnGenerateSignal() (dizendo que a definição da função para isso é inesperada).


Obrigado, como sempre. Aguardo com expectativa seus comentários/alterações!

Nick

Oi Nick.

Você tem um conjunto inteiro de caracóis que são desnecessários no bloco inicial(). Assim, você pode remover tanto o primeiro { como o último }.

Você está faltando uma declaração condicional no bloco fnGenerateSignal(), portanto, como está escrito, ele sempre retornará "OP_BUY".

Não vejo nenhum problema com ==. Qual é o erro preciso que você está recebendo?

CB.

 
cloudbreaker:

Oi Nick.

Você tem um conjunto inteiro de caracóis que são desnecessários no bloco inicial(). Assim, você pode remover tanto o primeiro { como o último }.

Você está faltando uma declaração condicional no bloco fnGenerateSignal(), portanto, como está escrito, ele sempre retornará "OP_BUY".

Não vejo nenhum problema com ==. Qual é o erro preciso que você está recebendo?

CB.

Ei CB, obrigado por ter vindo ao resgate.

Eu acrescentei o condicional se a declaração que você destacou.

O == erro diz: "=="-diferentes tipos em comparação, e destaca a seguinte linha

se ((OrderSymbol() == Symbol()) && (OrderType() == sSignal))


Eu acho que o == erro é porque estamos comparando OrderType que é int com sSignal que é string, então eles não podem ser iguais. Eu vejo se posso mudar isso, e postar o que fiz.

 

Ei, mudei 'OP_BUY' para 1, OP_SELL para -1, para superar o erro de tipos incompatíveis (isto significava mudar fnGenerateSignal também). Ele não produz erros quando compilado.


Entretanto, quando eu o executo no testador de estratégia, ele ainda executa várias ordens de compra e venda, uma após a outra (e ele deve ter apenas 1 ordem em 1 direção). Alguma idéia?

Arquivos anexados:
 

Experimente e veja como você se sai.

- Verifique primeiro suas declarações condicionais no fnGenerateSignal() para ter certeza de que todos os menos e maiores thans estão corretos, pois tive que readicionar o primeiro.

- Se ainda não funcionar, então comece a inserir declarações Print() para que possamos ver o que as várias variáveis estão fazendo em pontos-chave.


CB

Arquivos anexados:
 
niko wrote >>

Ei, mudei 'OP_BUY' para 1, OP_SELL para -1, para superar o erro de tipos incompatíveis (isto significava mudar fnGenerateSignal também). Ele não produz erros quando compilado.

Entretanto, quando eu o executo no testador de estratégia, ele ainda executa várias ordens de compra e venda, uma após a outra (e ele deve ter apenas 1 ordem em 1 direção). Alguma idéia?

Hey Niko,

Bem-vindo de volta da Turquia.

Como vão as coisas?

Cumprimentos

Huckleberry

 

Oi Nick


Desculpe, não percebi que voltávamos de volta das ilhas.


Ainda bem que você se divertiu muito na Turquia.

Em anexo está o código atualizado com notas, etc.


A próxima tarefa é fazer elogios e depuração. Então você pode começar a testar. Um pouco mais de arrumação dos comentários no código também não seria uma má idéia.


Cumprimentos

Tim
Arquivos anexados:
 
TSWilson:

Na verdade eu arrumei alguns dos comentários na versão que acabei de publicar acima. :-)


CB

 
Ei pessoal, parece que toda a equipe está de volta à ação! Obrigado Tim I'l prossegue com seu código, e sempre que tenho a oportunidade, continuo com os CB's.
 
niko:
Ei pessoal, parece que toda a equipe está de volta à ação! Obrigado Tim I'l prossegue com seu código, e sempre que tenho a oportunidade, continuo com os CB's.

Posso apenas pedir-lhe que confirme algo sobre sua estratégia.

Se bem me lembro, você já havia dito antes que queria ter uma única EA que poderia ser lançada sobre qualquer par e que negociaria apenas sobre o par do gráfico em que foi lançada - e tomaria todas as suas decisões comerciais com base apenas no par do gráfico em que foi lançada. Assim, você teria apenas uma única base de código para manter. Ainda é esse o caso?


CB

 
cloudbreaker wrote >>

Posso apenas pedir-lhe que confirme algo sobre sua estratégia.

Se bem me lembro, você já havia dito antes que queria ter uma única EA que poderia ser lançada sobre qualquer par e que negociaria apenas sobre o par do gráfico em que foi lançada - e tomaria todas as suas decisões comerciais com base apenas no par do gráfico em que foi lançada. Assim, você teria apenas uma única base de código para manter. Ainda é esse o caso?

CB

Hey CB, O ideal é ter uma EA multipares - que é o que Tim e eu estamos tentando construir. Entretanto, uma EA de par único também é altamente desejável, pois me ensina a codificar. Seus estilos de codificação são diferentes e é um excelente exercício para mim ver como a mesma idéia pode ser codificada de forma diferente. Além disso, pensei que se terminássemos a EA única primeiro, então eu usaria isso para me ajudar no trabalho manual, mas parece que ambos os códigos serão terminados ao mesmo tempo agora.

Razão: