[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 50

 

Na própria EA, todo o código está disposto.

Muito obrigado a todos por toda a sua ajuda.

 
Sergstuddek:

Olá. Por favor, ajude uma pessoa que sofre.

Comecei agora mesmo a aprender MQL e decidi escrever meu primeiro Expert Advisor.

Quero explicar por que ela não abre ordens pendentes e qual é o problema.

em OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol(),SELECT_BY_POS,MODE_TRADES)===true && OrderType()==OP_BUY) // verifique se há um pedido de compra em aberto
int ticket;
tamanho de lote duplo=OrderLots(); // tamanho de lote de pedido aberto
duplo OpenPrice=OrderOpenPrice(); // Preço aberto para pedidos abertos
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Abrir uma posição de Venda na direção oposta antes da ordem aberta
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // abrir uma posição de compra para a continuação da ordem aberta

if(OrderSelect(CalculateCurrentOrders1(Symbol())SELECT_BY_POS,MODE_TRADES)===true && OrderType()==OP_SELLL) // Verifique se há uma ordem de venda em aberto
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // abrir uma ordem de compra pendente
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Abra uma ordem de compra/venda pendente antes da ordem aberta
}


Primeiro, aprender como inserir o código corretamente - via Counter+Alt+M - depois tudo mais...
 
Roman.:
Primeiro, aprender como inserir o código corretamente - via Counter+Alt+M - depois tudo mais...
Вот в этом окошке будет код, если воспользоваться кнопкой SRC на верхней панели
 

Você pode sugerir um roteiro ou um EA para exibir informações na tela (spread, nível de parada, negociações abertas, lucro nas negociações, lucro para o dia, etc.)? Obrigado.

 
granit77:



Obrigado por sua ajuda, ela me ajudou muito
 
Olá. Por favor, ajude uma pessoa que sofre.

Comecei a aprender MQL e decidi escrever meu primeiro Expert Advisor, mas tenho um problema

no código, ordens pendentes não se abrem, por favor me diga por que e qual é o problema.
int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;
double LotSize=OrderLots(); // Размер лота открытого ордера
double OpenPrice=OrderOpenPrice(); // Цена открытия открытого ордера
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на продажу в противополжну сторону до открытого ордера 
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в сторону продолжения до открытого ордера

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Проверка на то что открытый ордер на продажу
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на покупку в сторону продолжения до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
Isto é melhor.
Arquivos anexados:
 
Sergstuddek:

Não consigo ver o problema com as ordens pendentes no código, só preciso perguntar por quê.

Em ordem:

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;

OrderSelect tem CalculateCurrentOrders1 fora do intervalo, o máximo "POS" seria CalculateCurrentOrders1(Symbol())-1. A própria construção: se a condição for cumprida, você declara uma variável "bilhete"? Em algum lugar é claramente necessária uma cinta de caracóis. Eu simplesmente não consigo nem entender o que você está tentando fazer. Você está obviamente no início de um longo caminho, eu poderia tê-lo escrito para você, mas não há nenhum sentido neste código, então é uma "tarefa de aprendizagem", então você mesmo quer fazer isso. E com razão. Se você tiver perguntas mais específicas, ficaremos felizes em ajudar.

Eu mesmo fiquei confuso com seus parênteses, então consertei o poste.

 
prom18:

Você pode sugerir um roteiro ou um EA para exibir informações na tela (spread, nível de paradas, negociações abertas, lucro nas negociações, lucro para hoje, etc.)? Obrigado.

Tudo, exceto a exibição do spread, está nas abas do terminal. Duvido que o roteiro o exiba mais claramente.

E o spread em pips pode ser exibido em um gráfico através de uma linha adicional na EA:

Comentário((Perguntar - Lance) / Ponto);

 
Sorento:

Estou orgulhoso de conhecê-lo.

não é uma pena perder tempo para mastigar tudo.

É assim mesmo!

Obrigado!



Eu também.

sergeev - respeito e respeito)))

P.S. Desculpe se estou um pouco fora do tópico))

 
Figar0:

Em ordem:

OrderSelect tem CalculateCurrentOrders1 fora do intervalo, o máximo "POS" seria CalculateCurrentOrders1(Symbol())-1. A própria construção: se a condição for cumprida, você declara uma variável "bilhete"? Em algum lugar é claramente necessária uma cinta de caracóis. Eu simplesmente não consigo nem entender o que você está tentando fazer. Você está obviamente no início de um longo caminho, eu poderia tê-lo escrito para você, mas não há nenhum sentido neste código, então é uma "tarefa de aprendizagem", então você mesmo quer fazer isso. E com razão. Se você tiver perguntas mais específicas, ficaremos felizes em ajudar.

Z.I. Eu mesmo fiquei confuso com seus parênteses, corrigi o posto.

Muito obrigado por apontar minha mensagem.

A idéia é provavelmente muito mais simples do que meu código)))) A idéia deste código é definir as ordens pendentes em relação à última ordem aberta, respectivamente em relação ao preço de abertura e ao volume da última ordem aberta.

Razão: