Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 383
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
Se não for externo - há PositionClose
Também pode abrir uma posição com o mesmo volume na direcção oposta, o que resultará num fecho.
Definimos duas variáveis locais na função OnTick do tipo bool: buyExist = falso e sellExist = falso.
Quando chega um novo tick, verifica se há alguma encomenda que pertença a esta EA. Se houver uma ordem de venda, sellExist = verdadeiro e a mesma coisa com a ordem de compra. E depois verifica se buyExist = true - não abrir uma ordem de compra. O mesmo se aplica à venda. Isto é tudo.
Para que precisamos de variáveis desnecessárias se de qualquer forma vamos verificar se existem posições em aberto?
Verificámos se existem posições de Compra - não há posições de Compra abertas, nós abrimos uma. Porque é que precisamos de variáveis?
Porque precisamos de variáveis extra se de qualquer forma estamos a verificar posições em aberto?
Verificamos para Comprar - não Comprar aberto - abrimos um, verificamos para Vender - não Vender aberto - abrimos um. Porque é que precisamos de variáveis?
Porque precisamos de variáveis extra se de qualquer forma estamos a verificar posições em aberto?
Verificamos para Comprar - não Comprar aberto - abrimos um, verificamos para Vender - não Vender aberto - abrimos um. Porque é que precisamos de variáveis?
Pensei que seria algo como OrderTotal, mas aqui tem de fazer o ressalto e escrever a função para reconhecer as ordens?
Poderia fazer isso. Imaginei-o na minha cabeça como uma função de verificação separada, onde as bandeiras são passadas por referência. Neste caso, a minha variante, desempenha apenas uma função - verificar as encomendas, não verificar+abrir. Seria mais fácil alargar o programa. Em suma - uma função - uma acção.
Bem, a verificação é uma chamada de função que devolve uma bandeira:
if(!Function_check_open_position(symbol, OP_BUY,magic)) function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic,comment);
if(!Function_check_open_position(symbol,OP_SELL,magic)) Função_open_position(symbol,OP_SELL,Lots,stop_loss,take_profit,magic,comment);
Pensei que seria algo como OrderTotal.
não tem tal função ?
Como o pode fazer sem se esforçar demasiado? Pode ter um amontoado de encomendas de um amontoado de Consultores Especialistas sobre um amontoado de símbolos ao mesmo tempo. E quer que a sua EA processe apenas as suas encomendas, não é verdade?
é uma adição inicial ao robô principal . o robô principal tem sempre duas ordens abertas em ambas as direcções (o robô principal apanha-as, mas o próprio robô principal não consegue arrancar . Quando o robô principal termina uma das direcções, fecha-o) e depois esta EA deve abrir novamente uma ordem na direcção do mercado onde não há ordem.
só precisamos de lhe acrescentar condições de abertura de encomendas
Lotes duplos externos = 1,00;
externo int MagicNumb = 698541; //Magic
int start ()
{
se(OrdersTotal() == 0 && ********** )
OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0,0, "5891",MagicNumb,0,Red);
se (OrderTotal() == 0 && ***********)
OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0,0, "58892",MagicNumb,0,Red);
}
é uma adição inicial ao robô principal . o robô principal tem sempre duas ordens abertas em ambas as direcções (o robô principal apanha-as, mas o próprio robô principal não consegue arrancar . Quando o robô principal termina uma das direcções, fecha-o) e depois esta EA deve abrir novamente uma ordem na direcção do mercado em que não há ordem.