[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 825
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
Eu entendo em termos gerais, mas o que significa se(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))break; se nenhuma ordem desse tipo for selecionada, então abortar ou o quê?
OrderSelect (ver https://docs.mql4.com/ru/trading/OrderSelect) retorna FALSO quando a função falha. Ver https://docs.mql4.com/ru/basis/operators/break para o operador do break.
Isto pode ser simplificado para
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
o principal é selecionar a ordem.
E para mim parece absolutamente diferente. Você poderia inserir isto em seu código se(Tip===OP_BUYSTOP||Tip===OP_SELLSTOP&&Minute()<59&&Minute()>57) OrderDelete(Ticket);
e se sim, qual parte?
Sem ver seu código, posso assumir que ao invés disso (tudo depende de seu algoritmo):
if(OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());
if(OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
if(OrderType()==OP_BUYLIMIT) OrderDelete(OrderTicket());
if(OrderType()==OP_SELLLIMIT) OrderDelete(OrderTicket());
Somente você precisa colocar ordem nas variáveis e corrigir parênteses em condições com ||| e &&.
A condição Minuto()<59&&Minuto()>57 pode ser reduzida para Minuto()==58 ou uso >= ou <==.
Para forçar o fechamento de uma ordem pendente no final de um período ou em um determinado momento ao defini-la, você pode especificar o parâmetro de data de expiração - ver https://docs.mql4.com/ru/trading/OrderSend. Neste caso, você não precisa se preocupar em programar seu fechamento. E a ordem será fechada incondicionalmente sem nenhuma correção por falta de conexão.
Sim, muitas coisas úteis. Eu poderia ter feito sem os freebies, mas é um livro didático muito intrincadamente escrito.
Freebie, meus! Yo! Vem aí o corpo de Evry!!!
Acho que se o livro didático SC fosse escrito dessa forma, seria um 6+.
Desculpe pelo fora de tópico...
Não, não precisamos dele, precisamos dele em adição. Eu olhei para o gráfico: às vezes o preço não sai do canal High-Low e as ordens pendentes permanecem. Se eles não saírem do canal Alto-Baixo, eles permanecem. A única coisa que você precisa é fechar os pendentes antes que os novos apareçam. Quanto ao livro de 1986, você está falando sério? Eu mesmo sou antigo, mas acho que é demais.
Além disso, você tem que escrever um código adicional semelhante. De alguma forma, me parece que seu código é um pouco confuso.
Eu não estava brincando com o livro de 1986. Mais uma vez, se você quer aprender as bases da programação, você precisa aprendê-las sem entupir sua cabeça com construções modernas de linguagem. Você precisa do básico. Os livros de informática para as escolas de ensino médio, especialmente o primeiro, são metodicamente bem compostos para pessoas "burras". Como, por quem, para quem e por que os livros didáticos modernos são escritos é um tema à parte
data hora preço dos lotes
26 2010.01.05 12:24 venda 12 0.10 1.44026 1.44907 1.43526 0.00 3200.09
28 2010.01.05 13:21 compra 13 0.26 1.44326 1.43445 1.44826 0.00 3200.09
30 2010.01.05 15:34 venda 14 0.43 1.44026 1.44907 1.43526 0.00 3200.09
32 2010.01.05 16:27 comprar 15 0.72 1.44326 1.43445 1.44826 0.00 3200.09
34 2010.01.05 17:18 vender 16 1.19 1.44026 1.44907 1.43526 0.00 3200.09
Aqui temos 5 pedidos em aberto nas direções correspondentes.
Como calcular a margem total para todos os pedidos abertos?
Par: EURODOLLAR, contrato 100.000, alavancagem 100.
data hora preço dos lotes
26 2010.01.05 12:24 venda 12 0.10 1.44026 1.44907 1.43526 0.00 3200.09
28 2010.01.05 13:21 comprar 13 0.26 1.44326 1.43445 1.44826 0.00 3200.09
30 2010.01.05 15:34 venda 14 0.43 1.44026 1.44907 1.43526 0.00 3200.09
32 2010.01.05 16:27 comprar 15 0,72 1,44326 1,43445 1,44826 0,00 3200.09
34 2010.01.05 17:18 venda 16 1.19 1.44026 1.44907 1.43526 0.00 3200.09
Aqui estão 5 ordens em aberto nas respectivas direções.
Como calcular a margem total para todos os pedidos abertos?
Par: EUROLLAR, contrato 100000, alavancagem 100.
MarketInfo(Symbol(),MODE_MARGINREQUIRED);
Devolve a quantidade de fundos gratuitos necessários para abrir 1 lote em uma ordem de compra, olhe bem para os outros, dependendo de suas necessidades.
Você também pode achar isto útil:
duplo AccountFreeMarginCheck ( símbolo decorda , int cmd, volume duplo )
Devolve a quantidade de fundos livres remanescentes após a abertura da posição especificada ao preço atual na conta corrente. Se não houver fundos disponíveis suficientes, será gerado o erro 134 (ERR_NOT_ENOUGH_MONEY).Obrigado pela resposta rápida, mas quero calcular a margem ANTES destas posições abertas! A estratégia é uma avalanche, eu preciso saber se haverá um Stop Out depois que as posições correspondentes forem abertas? Os tamanhos de todos os lotes futuros são conhecidos com antecedência. Eu gostaria de saber: quantos pedidos (com lotes incrementais conhecidos com antecedência) podem ser abertos?
Tente e veja o que você pode descobrir por si mesmo... :)
E, novamente.
duplo AccountFreeMarginCheck ( símbolo decorda , int cmd, volume duplo )
Usei esta função em uma EA personalizada que também usa um martingale nú.
Eu tinha que escrever uma linha antes de abrir qualquer posição para torná-la mais estável:
Artem, eu mesmo preciso calcular a margem, ou seja, preciso conhecer a fórmula de cálculo. Eu não preciso da resposta do terminal sobre as possibilidades atuais. Eu conheço a fórmula de cálculo, mas há algum tipo de peculiaridade de cálculo de margem para posições sobrepostas!!! E eu nem sei o que são posições sobrepostas! Eu dei especificamente um exemplo onde você pode ver que cada posição sucessiva é aberta na direção oposta à anterior. Se você calcular a margem nas posições abertas somando todos os lotes (e colar essa quantidade na fórmula), ela não corresponde à reação real do CD quando aplica um Stop Out. Gostaria de calculá-lo da forma como o CD o calcula
As posições sobrepostas não são iguais às posições bloqueadas? Esta é a margem necessária para manter duas posições abertas de volume igual, mas em direção oposta. Normalmente é metade da margem necessária para manter uma posição aberta do mesmo tamanho de uma das duas posições fechadas.
Notei logo, mas não achei que isso confundiria você.
Para a mesma EA calculei a margem desta forma, não sei agora, talvez seja errado???? :
Isto é tudo que o CD retorna para você: