[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 909

 
Favor informar se há um indicador que mostra o volume total de posições abertas, pois quando muitas ordens diferentes estão abertas, pode ser preguiçoso contar. obrigado.
 

Eu preciso de ajuda. Tenho um Expert Advisor no tutorial, mas ele só funciona com uma ordem de mercado, e quero que funcione com várias, apenas negocie em diferentes instrumentos financeiros e abra e feche ordens sobre eles ao mesmo tempo. Abaixo eu joguei um exemplo, mas retardei aquele em que o valor da primeira ordem é atribuído a variáveis para ordens contábeis. Como posso fazer o mesmo para a segunda ordem (de outro par de moedas)? E se eu quiser que não apenas uma ordem funcione para estes pares de moedas, mas por exemplo, por um dia o indicador mostrou várias aberturas mas o fechamento ainda não ocorreu e 3 ou 5 ordens são abertas em pares nestes dois pares de moedas. Por favor, informe como implementar isto.


// Contagem de pedidos
Symb1=SymbolN1(variável externa); // Nome do instrumento financeiro.
Symb2=SymbolN2(variável externa); // Nome do instrumento financeiro.
Total=0; // Número de pedidos
for(int i=1; i<=OrdensTotal(); i++) // Loop de pedidos
{
if (OrderSelect(i-1,SELECT_BY_POS)==verdadeiro) // Se o seguinte
{ // Análise do pedido:
if (OrderSymbol()!=Symb1 $$ OrderSymbol()!=Symb2)continuar; // Não nosso instrumento financeiro
if (OrderType()>1) // Ordem pendente detectada
{
Alert("Ordem pendente detectada. Expert Advisor not working.");
return; // Sair início()
}
Total++; // Contador de mercado. ordens
if (Total>2) // Não mais que duas ordens
{
Alert("mais de 2 ordens de mercado. Expert Advisor não funciona.");
return; // Exit start()
}
Abaixo deste valor está definido a variável, para fazer algo com ela na segunda iteração, já que haverá 2 ordens (a segunda em outro par de moedas) eles mudarão os valores para a segunda ordem, mas eu preciso cometer informações para a primeira e a segunda ordem.
Ticket=OrderTicket(); // Número da ordem selecionada.
Dica =OrderType(); // Tipo da ordem selecionada.
Preço =OrdemPreço Aberto(); // Preço da ordem selecionada.
SL =OrderStopLoss(); // SL da ordem selecionada.
TP =OrderTakeProfit(); // TP da ordem selecionada.
Lote =OrderLots(); // Número de lotes
Podemos usar as mesmas variáveis para a segunda ordem, apenas com o prefixo 1?
Ticket1=OrderTicket(); // Número da ordem selecionada.
Dica1 =OrderType(); // Tipo da ordem selecionada.
Price1 =OrderOpenPrice(); // Preço do pedido selecionado.
SL1 =OrderStopLoss(); // SL da ordem selecionada.
TP1 =OrderTakeProfit(); // TP da ordem selecionada.
Lote1 =OrderLots(); // Número de lotes
}
}

 
artmedia70:

ERR_LONGS_NOT_ALLOWED 4110 Não são permitidas posições longas. As propriedades dos especialistas devem ser verificadas.

ERR_SHORTS_NOT_ALLOWED 4111 Não são permitidas posições curtas. As propriedades dos especialistas devem ser verificadas.


o que você quer dizer com posições longas e curtas, como elas se parecem?
 
artmedia70:

Pensamento mais ou menos correto.

Estas são variáveis do tipo "bool", na sua esmagadora maioria.

E só pode ter dois valores:

verdadeiro (verdadeiro) e falso (falso).

Portanto, se a bandeira for colocada (valor verdadeiro), isso significa que uma ordem, e se ela for apagada (valor falso), isso significa que não há ordem.

Os valores verdadeiro e falso não significam necessariamente presença/ausência.

Às vezes, falso significa que uma condição está presente , e verdadeiro significa que não há condição.

Tudo depende da lógica do programa e dos critérios que o programador verifica.

Em qualquer caso, se você mesmo definir estas bandeiras, você pode especificar qual valor de bandeira (verdadeiro ou falso)

corresponderá a um ou outro estado de dados.

Ao mesmo tempo, existem funções padrão que retornam verdadeiro ou falso, dependendo do resultado da função.

Estes valores podem ser encontrados na referência da função.

Artyom, obrigado.
 
gheka:

o que significam longo e curto? como eles são?

Longo = Longo = Comprar

curto =Curto = Vender


 

Obrigado

 

Estou procurando um roteiro que feche uma ordem somente quando a barra estiver acima ou abaixo de um nível especificado.

É claro que deve haver uma configuração tf.

. Se houver um, dê-me um link. Muito obrigado de antemão

 

Tenho ordens de compra e venda que abrem pelo mesmo preço para quase 50-100 posições,

como devo fazer apenas um pedido aberto, se não estou enganado - OrderTotal()

Se sim, como devo usá-la e onde devo colocá-la? Sinto que sem esta função preciso inserir toda a álgebra

 
gheka:

Tenho ordens de compra e venda que abrem pelo mesmo preço para quase 50-100 posições,

como devo fazer apenas um pedido aberto, se não estou enganado - OrderTotal()

Se sim, como devo usá-la e onde devo colocá-la? Sinto que sem esta função preciso inserir toda a álgebra


Você deveria ter anexado seu próprio código.
 
gheka:

Tenho ordens de compra e venda que abrem pelo mesmo preço para quase 50-100 posições,

como devo fazer apenas um pedido aberto, se não estou enganado - OrderTotal()

se sim, como devo utilizá-la e onde devo colocá-la? sinto que sem esta função preciso inserir toda a álgebra

A função OrderSend() funciona com cada carrapato (acho que sim). Para resolver este problema, você precisa criar uma variável antes da função de início, por exemplo, em H=0.

Mais adiante, o código:

..........

se ( H==0)

{

OrderSend(blá blá blá blá);

}

H=1;

E não há necessidade de álgebra. E OrdensTotal() é melhor não usar por restrição.