Auto-aprendizagem da linguagem MQL5 a partir do zero - página 63

 
MrBrooklin:

Olá Peter! Fico feliz em tê-lo de volta ao telefone. Por um lado, você está certo sobre a dificuldade da tarefa, por outro lado me fez olhar para o auto-estudo de um ângulo diferente. Portanto, não há nada de errado com isso. Mais ainda, se eu conseguir lidar com as paradas de trilha e fornecer o resultado pronto a todos, será minha pequena vitória no aprendizado da MQL5.

Agora não estou publicando deliberadamente nenhuma linha de código e comentários escritos, porque preciso conseguir pelo menos alguns resultados eu mesmo, sem a ajuda de ninguém. A tarefa de parada de trilha é clara, a assistência inicial dos participantes deste tópico é fornecida, e agora tudo depende de mim. Tudo o que preciso agora é de paciência.

Atenciosamente seu, Vladimir.

Eu entendo o papel crucial do super-tarefa no auto-estudo e espero que você mesmo possa escrever a versão mais simples, mas o problema é este:

Muito mais interessante do que a parada de trilha é o conjunto de ferramentas linguísticas - condições, laços, funções e muitas outras coisas que permitem realizar coisas fantásticas, entre as quais a parada de trilha é apenas um grão de areia no oceano). O domínio deste kit de ferramentas abrirá a porta para um novo, surpreendente e anteriormente desconhecido para você Mundo.

É estranho ver uma pessoa que admira a moldura da Mona Lisa de Leonardo, por mais estranho que seja ver um fascínio por percorrer funções, loops e arrays, ou seja, coisas muito mais interessantes que lhe permitem resolver QUALQUER problema. É claro que este entendimento não chega imediatamente.

Os melhores votos para atingir seu objetivo!
 
Реter Konow:
Compreendo o importante papel do excesso de auto-aprendizagem e espero que você mesmo seja capaz de escrever uma versão simples da tarefa, mas o problema é este:

Muito mais interessante do que o trailing são as ferramentas da linguagem - condições, loops, funções e muitas outras coisas que permitem implementar coisas fantásticas, entre as quais o trailing é apenas um grão de areia no oceano). O domínio deste kit de ferramentas abrirá a porta para um novo, surpreendente e anteriormente desconhecido para você Mundo.

É estranho ver uma pessoa que admira a moldura da Mona Lisa de Leonardo, por mais estranho que seja ver um fascínio por percorrer funções, loops e arrays, ou seja, coisas muito mais interessantes que lhe permitem resolver QUALQUER problema. É claro que este entendimento não chega imediatamente.

Desejo que você atinja seu objetivo!

Obrigado, Peter, por seu desejo! Acredite, nem sempre é possível entender uma pessoa, especialmente quando você não a conhece de forma alguma. E não há nada de errado com isso.

No processo de elaboração do código de uma EA com o título de trabalho Trailing Stop, visito periodicamente este tópico, porque sou o iniciador de sua criação e, portanto, tenho que responder as perguntas que me são dirigidas. Quando eu tiver algo para mostrar, a comunicação se tornará muito mais interessante.

Cumprimentos, Vladimir.

 
Posso colocar um vídeo financeiro interessante no ramo.
Muito interessante, literalmente, quem não será proficiente em programação, num futuro próximo, será uma espécie de pessoa deficiente.... a partir do minuto 40, aproximadamente.
Aqui está

https://youtu.be/aVqismh5zJI
 

Bom dia e bom humor para todos!

Minha quarentena terminou e estou de volta ao normal novamente. É uma pena que agora haja menos tempo para o auto-estudo. Durante esta ausência, eu progredi significativamente no aprendizado da linguagem de programação MQL5 e na escrita do código EA. Ainda não vou pedir ajuda aos membros deste tópico, pois não quero interromper meu Conselheiro Especialista de fazer coisas importantes. Primeiramente, não quero distraí-los de seu importante trabalho. Em segundo lugar, a busca independente de erros me permitirá estudar o idioma muito mais profundamente. Eu não estabeleço um prazo para escrever o código inteiro, portanto, não estou correndo uma corrida de cavalos. Desta forma, o material aprendido pode ser melhor assimilado.

Cumprimentos, Vladimir.

 
Vasiliy Sokolov:

Você está começando do lugar errado novamente, e o código contém um erro. Comece com as funções. Escreva a estrutura do algoritmo usando apenas suas próprias funções. Depois pensaremos como implementá-los. Comece com o modelo padrão que é aberto ao criar um novo EA em metaeditor.

É melhor fazer a parada para que a conta líquida comece. Desta forma, será mais fácil trabalhar com a posição, pois haverá apenas uma posição para um símbolo. Ela pode ser transformada em um híbrido na segunda versão.

Olá Vasily! Espero ter corrigido o erro no código do laço. Deveria ter sido escrito desta forma:

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

Estou fazendo todo o resto como você aconselhou. Mais uma vez obrigado!

Cumprimentos, Vladimir.

 

Olá a todos e bom humor!

Eu continuo estudando MQL5. Já faz muito tempo que estou preso no lugar, pois estou tendo dificuldades para entender uma coisa simples. Escrevi um código, que deve abrir uma posição de compra com lote 0,1 às 9h e fechá-la forçosamente às 23h50, se nem o Stop Loss nem o Trailing Stop forem acionados durante o dia de negociação. Eu coloquei o código na função OnTick(). Atualmente, quando o testador de estratégia é iniciado, duas posições de compra de 0,1 lote cada são abertas em 1-2 segundos. Se eu diminuir o lote, por exemplo, para 0,01, então 22 posições são abertas em 8-10 segundos. O saldo inicial é de 50000 Rublos. Par de moedas EURUSD. Suponho que tenha algo a ver com carrapatos e margem. Procurei muitas informações em meu site, mas ainda não tive nenhum efeito.

Favor informar o que devo fazer ou que condição devo especificar para abrir apenas uma posição com o lote especificado e não mais.

Atenciosamente, Vladimir.


 
MrBrooklin:

Você poderia me informar o que devo fazer ou que condição devo estabelecer para abrir apenas uma posição com o lote especificado e não mais?

Atenciosamente, Vladimir.

Olá! estabeleça um limite para as posições em aberto;

input int               MaxOpenedPositions=1;
//ниже подсчёт открытых позиций, код Вы уже начали писать)

for(int i=PositionsTotal()-1; i>=0; i--)
 
VVT:

Olá! estabeleça um limite para as posições em aberto;

Olá!

Obrigado pela dica. Para ser honesto, meus pensamentos já estavam focados de alguma forma na proibição de atualizações de citações após a abertura da primeira posição. Vou tentar limitar o número de posições em aberto.

Cumprimentos, Vladimir.

 
MrBrooklin:

Olá a todos e bom humor!

Eu continuo estudando MQL5. Já faz muito tempo que estou preso no lugar, pois estou tendo dificuldades para entender uma coisa simples. Escrevi um código, que deve abrir uma posição de compra com lote 0,1 às 9h e fechá-la forçosamente às 23h50, se durante o dia de negociação nem Stop Loss, nem Trailing Stop, nem Take Profit forem acionados. Eu coloquei o código na função OnTick(). Atualmente, quando o testador de estratégia é iniciado, duas posições de compra de 0,1 lote cada são abertas em 1-2 segundos. Se eu diminuir o lote, por exemplo, para 0,01, então 22 posições serão abertas em 8-10 segundos. O saldo inicial é de 50000 Rublos. Par de moedas EURUSD. Suponho que tenha algo a ver com carrapatos e margem. Procurei muitas informações em meu site, mas ainda não tive nenhum efeito.

Favor informar o que devo fazer ou que condição devo especificar para abrir apenas uma posição com o lote especificado e não mais.

Cumprimentos, Vladimir.


Se a posição com nosso magik e em nosso símbolo for zero então verifique a hora e abra uma posição. Se for 1 então não abra uma posição, verifique a hora de fechamento e arraste. Podemos usar pergaminhos ou se quisermos verificar sef.

 
Valeriy Yastremskiy:

Se as posições com nossa Magik e em nosso símbolo são zero, verificamos o tempo e abrimos uma posição, se for 1, não abrimos uma posição, verificamos o tempo de fechamento e arrasto, se for mais de 1, alertamos e não trabalhamos. Podemos usar pergaminhos ou verificar sef.

Olá Valery! Obrigado por sua dica. Já dominei o operador do if-else, e agora preciso dominar também o operador do switch. Preciso usar Alert() ou ele está lá apenas para mais informações?

Cumprimentos, Vladimir.