Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 512
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
if ((hi-low)<=max_koridor_v_punktah)
{
int buy = OrderSend(Symbol(), OP_BUYSTOP, LotBuy, OpenBuy, 0, StopLossBuy, 0);//open Buy OrderSend(Symbol(), OP_BUYSTOP, LotBuy, OpenBuy, 0);//open Buy Order.
se (comprar>0)
{
Alerta ("O pedido BuyStop foi estabelecido",comprar);
}
int sell= OrderSend(Symbol(), OP_SELLSTOP, LotSell, OpenSell, 0, StopLossSell, 0);//open Sell order.
se (vender>0)
{
Alerta ("SellStop order set ",vender);
}
se (DayOfWeek()==5 && Hour()==22) //apagar pedidos pendentes e abertos na sexta-feira, 23:00 horas, horário do servidor
{
se (OrderSelect(vender,SELECT_BY_TICKET)==verdadeiro)
{
EncomendarFechar(vender,EncomendarLotes(),Lance,3,Verde);//(Bilhete,lote,Preço de fechamento, deslizamento em pips,cor da seta de fechamento no gráfico){Fechar ordem de mercado para vender.
OrdemDelete(venda);//fechando o limite de venda.
}
se (OrderSelect(buy,SELECT_BY_TICKET)==verdadeiro)
{
EncomendarFechar(comprar,EncomendarLotes(),Perguntar,3,Vermelho);//(bilhete,lote,preço de fechamento,deslizamento em pontos,cor da seta de fechamento no gráfico)/fechar ordem de mercado para comprar.
OrderDelete(compra);//fechando o limite de compra.
retorno(0);
}
}
}
Quem pode me dizer por que ele não fecha os pedidos e não elimina os limites?
Fechar ordem de compra ao preço de compra, vender ao preço de venda.
Fechar ordem de compra ao preço de compra, vender ao preço de venda.
Condição simples na função init
Metais, estoques e matérias primas não contam.
Obrigado. Você pode me dizer a maneira mais fácil. Necessidade de entender se há ou não posições em aberto neste par. Se há ordens de venda e se há ordens de compra. Isso significa que precisamos de
0 - se não houver pedidos em aberto
1 - Tenho ordens de venda, mas não tenho ordens de compra.
2 - há ordens de compra, mas nenhuma ordem de venda
3 - Há os dois...
https://docs.mql4.com/ru/series
if(DayOfWeek()==1,2..... && Hora()==1,2....)
{
double hi=iHigh(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//define high
double low=iLow(NULL,0,iBarShift(NULL,0,iTime(NULL,PERÍODO_D1,0));//define low.
/////////////////////////////////////////////////////////////////////////////////////////////////
double op=iOpen(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//define opening.
Obrigado!
Obrigado. Você pode me dizer a maneira mais fácil. Necessidade de entender se há ou não posições em aberto neste par. Se há ordens de venda e se há ordens de compra. Isso significa que precisamos de
0 - se não houver pedidos em aberto
1 - Tenho ordens de venda, mas não tenho ordens de compra.
2 - há ordens de compra, mas nenhuma ordem de venda
3 - Há os dois.
Por exemplo, como este:
int i_buy=0;
int i_sell=0;
//--- получим количество открытых и отложенных ордеров
int total=OrdersTotal();
for(int i=0;i<total;i++)
{
//--- выберем i-й ордер из списка торговли
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
//--- если ордер открыт по текущему финансовому инструменту
if(OrderSymbol()==Symbol())
{
switch(OrderType())
{
//--- Бай ордер
case OP_BUY:
i_buy++;
break;
//--- Селл ордер
case OP_SELL:
i_sell++;
break;
case OP_BUYSTOP:
case OP_BUYLIMIT:
case OP_SELLSTOP:
case OP_SELLLIMIT:
//--- пробойники, лимитники
break;
}
}
}
}
if(i_buy==0 && i_sell==0)
{
//--- нет открытых ордеров
}
if(i_buy>0 && i_sell==0)
{
//--- открыты баи
}
if(i_buy==0 && i_sell>0)
{
//--- открыты селы
}
if(i_buy>0 && i_sell>0)
{
//--- открыты и баи и селы
}
Por exemplo, assim:
Muito obrigado. Meu entendimento é que asc é o preço atual. Eu abro um pedido quando não há pedidos em aberto. O loop vai da primeira à última ordem aberta? Como posso transmitir para uma variável o lote do último pedido aberto e seu preço?
Muito obrigado. Meu entendimento é que asc é o preço atual. Eu abro um pedido quando não há pedidos em aberto. O loop vai da primeira à última ordem aberta? Como posso definir o lote da última ordem em aberto e seu preço em uma variável?
https://docs.mql4.com/ru/trading/orderselecthttps://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots
duplo z; //declarar uma variável "z".
duplo y; //declararregar a variável "y
if(OrderSelect(10,SELECT_BY_POS)==verdadeiro) //se o pedido (por bilhete) já estiver selecionado
{
OrderLots()=z //atribuir o lote para esta ordem para a variável "z".
OrderOpenPrice()=y //atribuir o preço aberto à variável "y".
}
tente isto
https://docs.mql4.com/ru/trading/orderselecthttps://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots
duplo z; //declararregar a variável "z
duplo y; //declararregar a variável "y
if(OrderSelect(10,SELECT_BY_POS)==verdadeiro) //se o pedido (por bilhete) já estiver selecionado
{
OrderLots()=z //atribuir o lote para esta ordem para a variável "z".
OrderOpenPrice()=y //atribuir o preço aberto à variável "y".
}
tente isto
y = OrderOpenPrice();
Oops, entendi, simplesmente não entendo. if((i_buy==0 && i_sell==0) |||| y > Step). Deve abrir outra ordem se a distância da última ordem aberta for superior a 5 pips. Mas isso não funciona, pergunta.
for(int i=0;i<total;i++) Vai da primeira ordem aberta até a última? Ou seja, eu deveria eventualmente obter o preço do último pedido aberto.
y = OrderOpenPrice();
Não entendo se((i_buy==0 && i_sell==0) |||| y > Passo). Deve abrir outra ordem se a distância da última ordem aberta for superior a 5 pips. Mas isso não funciona, pergunta.
for(int i=0;i<total;i++) Vai da primeira ordem aberta até a última? Em outraspalavras, eu deveria obter o preço do último pedido aberto.
Não sei, ainda não me deparei com isso.
Olá. Eu vi um post em https://forum.mql4.com/ru/51490/page2 onde há um script que abre a janela de configurações da EA:
Esta traz à tona a janela de ajustes da EA:
É possível fazer o script abrir a janela de configurações da EA em intervalos de 1 segundo e confirmá-lo imediatamente (pressione o botão ok) e assim por diante?