aventuras de um novato - página 6

 
cloudbreaker:

Não se preocupe. Com apenas algumas emendas, ele deve realmente fazer o trabalho por você.

Você deve começar alterando o "erro" TakeProfit que eu incorporei para você. Dê uma olhada em como o StopLoss é feito para ter uma pista.

Uma vez que você o tenha colocado em funcionamento, espero que você comece a adicionar no manuseio de erros, e algumas coisas fáceis de serem feitas pelo operador como declarações Print() para que você possa ver facilmente nos logs o que ele está fazendo.

Pseudo código é importante antes de se comprometer com o código (mesmo para programadores experientes), mas não o cozinhe demais.

Você parece atrair ajuda devido à sua maneira bem-humorada. Meu palpite é que você ou trabalha em RH ou está interessado em psicologia humana?


CB

Hey CB,


É bom que alguém tenha dito que eu tenho uma boa maneira de ser. Sou psicólogo por formação, 2 graus com ênfase na avaliação e desenvolvimento da personalidade e psicologia positiva. Tenho trabalhado muito com RH e treinado gerentes em como fazer com que seu pessoal desfrute mais do trabalho (o que resulta, em última análise, em um resultado final mais alto e maior criatividade).


Vocês são maravilhosos aqui. Estou maravilhado com a boa natureza humana, e vou retribuir a ação e ajudá-los a me proporcionar mil dobras quando chegar o momento. ('Pay It Forward' - veja o filme se ainda não o viu ;)

 

Hey Tim,


Descobri o que me propuseram fazer (penso eu). O código está abaixo, é isso correto. Estou publicando-o aqui, apesar de ter incluído o EA para que outros que estejam procurando por informações semelhantes possam ver rapidamente o que está acontecendo.


string Pair[] = {"EURUSD","GBPUSD","USDJPY","USDCHF","AUDUSD"}; //***Global Declaration of Array 'Pair' so we can call it in 'start' function   


int count = ArraySize( Pair);                //computer doesn't know how many elements array has, this is necessary to set the value for 'for' loop
for (int c=0; c< count; c++)                   //loop started to go through each element of the Array. After this I don't know how to use this, i guess we substitute OrderSend(Symbol) part with the array name so it loops through that. is that so?
    


ps: a propósito, meus arquivos mq4 não aparecem todos na pasta mt4>experts, tenho cerca de 30 experts, mas apenas cerca de 5 aparecem lá se eu entrar na pasta através das janelas ou tentar anexar algo aqui (mas todos aparecem através do mt4). alguma idéia por quê? (é por isso que eu postei .txt)

Arquivos anexados:
 

Oi Nick,


Muito bem feito!


Vou agora elevar um pouco a fasquia e sugerir que agora você possa escrever o código para a função EntryRules mais um pouco de outras coisas que você precisará chamar efetivamente de função.


Acrescentei alguns comentários, idéias de pensamento e sugestões ao código para que você possa dar uma olhada. Também marquei as áreas TODO para que você possa trabalhar. Veja o que você pode fazer com isso e poste-o de volta no fórum quando estiver pronto. Se você ficar sobrecarregado, basta postar de volta o que você fez. Eu posso dividi-lo em pedaços menores de trabalho, se necessário.


Um par de possibilidades em relação a seus arquivos mq4 que faltam. Você poderia ter os atributos do arquivo definidos como ocultos? MetaTrader parece me deixar editar arquivos ocultos se eu passar pelo comando de modificação no painel do navegador. Outra possibilidade é que os arquivos estejam em outra pasta, como a pasta de indicadores. Talvez você possa tentar uma busca no Windows por todos os arquivos mq4 em todos os subdiretórios do metatrader e incluir todos os arquivos ocultos (use o botão de opções avançadas para winXP) em sua busca.


Atenciosamente

Tim

.

Arquivos anexados:
 

Se você estiver usando Vista, e tiver o UAC (User Account Control) ligado, então verifique aqui se seus arquivos estão faltando:

C:Usuários: seu nome de conta>AppData>Local>VirtualStore>Arquivos de programa>MT4 instalar diretório>experts

 
cloudbreaker:

Se você estiver usando Vista, e tiver o UAC (User Account Control) ligado, então verifique aqui se seus arquivos estão faltando:

C:Usuários: seu nome de conta>AppData>Local>VirtualStore>Arquivos de programa>MT4 instalar diretório>experts

Obrigado CB, eu o encontrei. Criei um atalho para acesso rápido.

 

Hey Tim,


Ouf, é uma da manhã aqui no Reino Unido, estou exausto, tenho que ir ao trabalho pela manhã. Tenho trabalhado no código de acordo com suas sugestões. Ainda há muitas coisas desconhecidas, mas está progredindo bem. Cheguei o mais longe que pude sem sua ajuda.


Recortei muitos comentários no código para facilitar a manipulação visual (colei-os no final para minha futura referência), e também criei uma seção no final para mostrar o que fiz e em que ordem, também para lhe fazer perguntas lá, etc. Como um "Registro de Atividade". Se você escrever nesse log, seria mais fácil para mim trabalhar através do código, logicamente, psicologicamente e sequencialmente também.


Ficarei aguardando seu feedback!

Nick

Arquivos anexados:
 
niko wrote >>

Hey Tim,

Ouf, é uma da manhã aqui no Reino Unido, estou exausto, tenho que ir ao trabalho pela manhã. Tenho trabalhado no código de acordo com suas sugestões. Ainda há muitas coisas desconhecidas, mas está progredindo bem. Cheguei o mais longe que pude sem sua ajuda.

Recortei muitos comentários no código para facilitar a manipulação visual (colei-os no final para minha futura referência), e também criei uma seção no final para mostrar o que fiz e em que ordem, também para lhe fazer perguntas lá, etc. Como um "Registro de Atividade". Se você escrever nesse log, seria mais fácil para mim trabalhar através do código, logicamente, psicologicamente e sequencialmente também.

Ficarei aguardando seu feedback!

Nick

Oi Nick,


Desculpe por estar trabalhando tanto.

Você parece estar fazendo progressos. Uma vez que você compreenda o conceito de arrays e funções, penso que muito da neblina se levantará.

Sugiro que você apenas se concentre em tentar terminar a função EntryRules e sua chamada a partir da função (principal) start. Acho que estamos quase lá.

Arrumar as perguntas de comentários antigos etc. no código é uma boa jogada.

Tenha calma, você está fazendo um bom progresso.

Em breve você terá notícias suas


Cumprimentos

Tim

Arquivos anexados:
 

Hey Tim,

haha, está tudo bem. O ideal é chegar à fase de depuração antes de ir de férias nesta quarta-feira à noite (por 8 dias, Turquia, Izmere - finalmente um feriado!). Estou no trabalho no momento, mas retomarei a codificação durante a hora do almoço e assim que chegar em casa. Assim o terei com você esta noite!

Obrigado por toda a sua ajuda Tim!

nick,,

 

Hey Tim,


Eu fiz a parte que você me pediu para fazer para o código. Obrigado por fornecer respostas detalhadas às minhas perguntas e por escrever muitos comentários ao longo do código para me ajudar a entender o assunto. Estou começando a ver como as coisas se unem, como usar arrays corretamente e chamar funções específicas (e o papel das variáveis globais e locais).


Anexei a última versão de nosso código.


Uma pergunta, há alguma razão para não termos feito funcionar as Regras de Entrada para conter tudo (incluindo bandeiras) para nos dar uma condição de compra/curta, mas em vez disso, nós a chamamos com bandeiras mais tarde para tomar a decisão de entrada?

Arquivos anexados:
 

Para a CB:


Ei, alto-falante! Eu fiz tudo o que pude com as tarefas de Tim e assim decidi começar a olhar seu código com mais detalhes.


Eu analisei seu código, tentando entender e corrigir os erros nele contidos. Consegui reduzir os erros a apenas 'parênteses desequilibrados' para fnGenerateSignal(). Não sei por que diz "desequilíbrio" neste caso.


Como sempre, eu apreciaria sua opinião sobre meu progresso com seu código! Tenha em mente que ainda há muitos pedaços e bobs que não entendo, mesmo as coisas muito básicas.

Arquivos anexados: