[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 18

 
artmedia70:

Uma pergunta semelhante já foi feita e respondida aqui antes (não lembro quem a respondeu). Para que você não tenha que procurar, aqui está ele:

-----------------------------------------
Como calcular, com base nos fundos disponíveis e no lote, quantos pontos (em pontos) o preço pode ficar negativo????
fórmula do link: Lot=Money/(Staples*Tick)
Dinheiro - ganho/perdido
Stoplos - Pips do corretor
Tick - MarketInfo( MODE_TICKVALUE)
Daqui, torça como quiser:
Stopplus=Money/(Lote*Tick)
Money=Lot*Stopplus*Tick
-----------------------------------------
Agora, com base nas fórmulas acima, faça o que precisa...




Obrigado. Estarei ponderando. Mais opções seriam bem-vindas
 
vovan-gogan:

Obrigado. Estarei ponderando. Mais opções seriam bem-vindas

1. O risco por comércio era de 10% do depósito,

2. Que os 10% ficariam dentro da distância do SL

3) Estes 10% devem ser aumentados em 50% após cada perda comercial.

Por exemplo, o depósito é de 10.000 USD, o risco para um comércio com um determinado SL conhecido deve ser de 1.000 USD. Se o comércio for deficitário, então o próximo comércio deve arriscar 1500, o próximo 2000, etc. E no primeiro comércio lucrativo, o risco retorna imediatamente ao nível inicial do depósito: 10%. Como ele pode ser implementado no programa?

Conhecemos todos os três componentes dos três que você precisa. Agora é só fazer as contas e verificar a admissibilidade.

1. Conhecemos o depósito? Você pode calcular o risco em dinheiro: Depo/100*Porcentagem de risco. Tick é retirado daqui: Tick = MarketInfo(Symbol(), MODE_TICKVALUE); Stop Loss é conhecido por nós.

2) Lote para abrir posição = Risco em dinheiro / (Stop Loss in pips * Tick)

3. se você quiser aumentar o risco, recalcule o Risco em dinheiro (terceiro ponto acima) pelo aumento da porcentagem de risco...

 
DDFedor:

1. Sabemos que os exemplos se encontram na base de código.

2. Sabemos que a extensão do arquivo da biblioteca é mqh.

3. Combine, faça uma consulta no mecanismo de busca.

4. Obtemos o primeiro resultado. https://www.mql5.com/ru/code/10344 - Ainda não procurei no arquivo, mas com certeza há um arquivo de biblioteca e um arquivo de inicialização.

Provavelmente, a extensão de todos os programas MQL4 é "*.mq4".

O "*.mqh" é uma extensão do arquivo de cabeçalho da biblioteca, semelhante ao C++. Nada disso importa, porém. "*.mqh" também compila.

 
Boa noite. Você pode me dizer se um número de int é inicialmente 0?
 

Você pode me aconselhar em algum momento para permitir parar a perda na minha EA, que está localizada no meio entre o preço atual e o preço aberto?

middleSL=OrderOpenPrice()+(Close[0]-OrderOpenPrice())/MIDDLESL;
Quando o preço sobe, ele puxa para cima, mas nunca para baixo

Vi aquele close[0] que termina em um número par e Close[0]-1*Point(odd), na fórmula, produzir o mesmo middleSL, e incluir o mesmo comando para OrderModify, o que devo fazer no código para evitar que isso aconteça, obrigado.

P.S. MIDDLESL é uma variável, agora é 2, mas com a ajuda do otimizador, vai encontrar um valor mais favorável

 
nadya:
boa noite. você pode me dizer se um número do tipo int é inicialmente 0?

Sim, quando você define uma variável como um número inteiro, ela inicialmente tem o valor 0
 
Obrigado, Denis!
 
nadya:
boa noite. você pode me dizer se um número int é inicialmente igual a 0?

Uma suposição estranha e uma resposta igualmente estranha.

Em geral, este é sempre o caso, mas há momentos prejudiciais quando as variáveis não são zeradas.

anedota para esse fim:

Um programador vai para casa triste e as coisas não estão indo bem no trabalho. Ele decidiu tomar uma bebida em um bar no caminho. Ele está ali sentado todo triste, bebendo, pensando no código que não funciona. Uma prostituta local senta-se com ele. Tenta iniciar uma conversa. Ele é preguiçoso ao falar. Então ele lhe pergunta:
- Qual é seu nome?
- Quem quiser chamá-lo, chama-o como ele quer chamá-lo.
O programador (dando tapinhas na testa):
- Isso mesmo! O valor padrão deve ser dado!!!
E felizmente correu para casa para terminar o código.

Moral - sempre inicializar variáveis com um valor!

 
LazarevDenis:

Você pode me aconselhar em algum momento para permitir parar a perda na minha EA, que está localizada no meio entre o preço atual e o preço aberto?

Quando o preço sobe, ele puxa para cima, mas nunca para baixo

Vi aquele close[0] que termina em um número par e Close[0]-1*Point(odd), na fórmula, produzir o mesmo middleSL, e incluir o mesmo comando para OrderModify, o que devo fazer no código para evitar que isso aconteça, obrigado.

P.S. MIDDLESL é uma variável, agora é 2, mas com a ajuda do otimizador, vai encontrar um valor mais favorável

Quando a middleSL é enviada para o stop loss ela é normalizada, ou seja, é arredondada para um certo sinal, quando dividida por 2 isso acontecerá, é inevitável
 
sergeev:

Uma suposição estranha e uma resposta igualmente estranha.

Em geral, este é sempre o caso, mas há momentos prejudiciais quando as variáveis não são zeradas.

Uma anedota relacionada:

O programador vai para casa triste, algo não está indo bem no trabalho. No caminho, ele decidiu tomar uma bebida em um bar. Ele está ali sentado todo triste, bebendo, pensando no código que não funciona. Uma prostituta local senta-se com ele. Tenta iniciar uma conversa. Ele está empatando. Então pergunta-lhe:
- Qual é o seu nome?
- Quem quiser chamá-lo, chama-o como ele quer chamá-lo.
Programador (dando tapinhas na testa):
- É isso mesmo! O valor padrão deve ser dado!!!
E felizmente correu para casa para terminar o código.

Moral - sempre inicializar variáveis com um valor!

e se eu a escrevo como uma variável global, atribuo o valor diretamente lá?
Razão: