[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 233
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá Prezado MT4 Gurus.
Você pode me dizer como contornar a situação quando a OrderSend retorna -1, mas a ordem abre?
Você pode me dizer como contornar a situação em que a OrderSend retorna -1, mas a ordem abre?
Para uma posição aberta em 1500, um take em 1570 estaria bem (se você não considerar StopLoss), mas para uma posição aberta em 1600, um take em 1570 causaria erro 130 - paradas erradas. Afinal de contas, um Take não pode ser inferior ao preço de abertura de uma compra. Isto já é um StopLoss.
Para duas posições, você definiu seu ponto de equilíbrio, mas para três-quatro-cinco?
Primeiro você deve definir a fórmula de breakeven para posições unidirecionais, e depois você pode criar uma lógica.
Concordo que devemos fazer um StopTLoss em um pedido com um preço de 1600
na abertura da ordem, a função começa:
todos os outros pedidos terão a mesma aberturaQuando ajustamos ou mudamos o TakeProfit, tudo depende de quando o ajustamos ou mudamos. É calculado a partir do preço atual.
contar entre pedidos: ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro, obtemos o número de pontos que podemos perder, já que eles estão no lado positivo
((Perguntar - OrderBuy3) -/+ swop -/+ ...) + ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro
Ask = 1620; Ask = 1760; OrderBuy3 = 1700
((1620 - 1500) - 4 - 6) + ((1620 - 1600) - 4 - 6) = 120; para 3 e mais acrescentamos ((1760 - 1700) - 4 - 6) + ((1760 - 1500) - 4 - 6) + ((1760 - 1600) - 4 - 6) = 450
LotOrderBuy1 = 0,01; LotsS = 0,01
LotOrderBuy2 = 0,02; LotsS = 0,03
LotOrderBuy3 = 0,03; LotsS = 0,06
Total de lotesS = LotOrderBuy1 + LotOrderBuy2 = 0,03; para 3 ou mais adicionamos
E aqui precisamos entender quantos lotes precisamos passar, o que comeria 120 pontos ou a soma do lucro em dinheiro.
Para obter StopProfit
Ask - StopProfit * Point = LineTakeProfit para OrderBuy1 e LineStopLoss para OrderBuy2
LotesS = 0,06
É assim que eu vejo as coisas.
Tente usar esta função - função OpenPosition() para on-line.
Muito obrigado. A idéia é clara, vou experimentá-la.
Qualquer pessoa pode esclarecer este ponto. Aqui está o link https://www.mql5.com/ru/code/8102. O roteiro (Expert Advisor em anexo) . Por que quando você calcula qualquer coisa no mesmo arquivo excel (CSV) quando você o fecha (claro que escreve onde salvar - eu clico no mesmo arquivo (ao invés dele)) e quando você reabre o terminal e o arquivo todos os cálculos desaparecem????
Está funcionando!!!! =))))) realmente não é como deveria ser, mas estou muito satisfeito =))) minha mais profunda gratidão =))))
contar entre pedidos: ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro, obtemos o número de pontos que podemos perder, já que eles estão no lado positivo
((Perguntar - OrderBuy3) -/+ swop -/+ ...) + ((Perguntar - OrderBuy2) - swop - ...) + ((Perguntar - OrderBuy1) - swop - ...) = Lucro
Ask = 1620; Ask = 1760; OrderBuy3 = 1700
((1620 - 1500) - 4 - 6) + ((1620 - 1600) - 4 - 6) = 120; para 3 ou mais adicionamos ((1760 - 1700) - 4 - 6) + ((1760 - 1500) - 4 - 6) + ((1760 - 1600) - 4 - 6) = 450
LotOrderBuy1 = 0,01; LotsS = 0,01
LotOrderBuy2 = 0,02; LotsS = 0,03
LotOrderBuy3 = 0,03; LotsS = 0,06
Total de lotesS = LotOrderBuy1 + LotOrderBuy2 = 0,03; para 3 ou mais adicionamos
E aqui precisamos entender quantos lotes precisamos passar, o que comeria 120 pontos ou a soma do lucro em dinheiro.
Para obter StopProfit
Ask - StopProfit * Point = LineTakeProfit para OrderBuy1 e LineStopLoss para OrderBuy2
LotesS = 0,06
É assim que eu vejo as coisas
Já vi a resposta à sua pergunta uma vez. Vou até encontrá-lo agora. Aqui:
Como calcular quantos pontos (em pontos) o preço pode descer em condições de mercado negativas?
fórmula do link: Lot=Money/(Stoplos*Tick)
Dinheiro - ganho/perda
Stoplos - em pontos de corretagem
Tick - MarketInfo(Symbol(), MODE_TICKVALUE)
Daqui, gire como quiser:
Stoplos=Money / (Lot*Tick)
Dinheiro=Lot*Stoplos*Tick
Se você tiver algum código, você pode usar este também:
Cálculo do nível CUE para um conjunto de um instrumento:
lotes totais = posição total (SP)
valor do tick = ST
SP lucro = ST
A fórmula de cálculo é bastante simples:
KP = PSP / (ST * SP)
No qual descobrimos o número de pips(KP) ao nível CU em relação ao preço atual(TP) do símbolo.
E ao substituir KP na fórmula CU = TC - KP * Ponto, obtemos o nível de preço CU.
Dependendo da direção da JV, você escolhe se deseja adicionar ou subtrair do TC.O terminal não vê a história