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

 

Boa tarde a todos.

Você pode descrever no código como colocar ordens em uma conta de trabalho a partir do terminal "investidor" em paralelo.

Eu não teria que transferi-los manualmente.

O código não deve ter que ser transferido manualmente.

 
gvi2504 >>:

Добрый день всем.

Вопрос на засыпку.Можно описать в коде, чтобы параллельно выставлялись ордера на рабочем счете, с терминала "инвестор".

Что-бы не переносить в ручную.

Спасибо.


a copiadora do negócio é chamada. há uma no site na base de código.
 
fragile86 >>:


if (Bid > MA1 || Bid < MA2) // Проверка прохода диапазона
{
Alert("Цена находится за пределами диапазона.");// Сообщение
}

то если цена находится выше советник то и дело сигналит. а если я делаю так:

ele sinalizará porque você tem uma condição ou ( ||| )

você precisa colocar AND ( && ).

// Проверка прохода диапазона с возможным размещением МА друг относительно друга
if (Bid> MA1 && Bid< MA2) || (Bid< MA1 && Bid> MA2)) 
{

e aqui


if (Bid > MA1 && Fact_Up===verdadeiro) // Verifique se há passagem para cima
{
Fact_Dn=true; // Informe um preço acima de MA1
Fact_Up=false; // Não reportar preço abaixo de MA1
Alerta("Preço está acima da faixa");// Mensagem
}
//--------------------------------------------------------------------
if (Bid < MA2 && Fact_Dn==verdadeiro) // Verifique se há um movimento descendente
{
Fact_Up=verdadeiro; // Informe um preço abaixo de MA2
Fact_Dn=falso; // Não reportar um preço acima de MA2
Alerta("Preço está abaixo da faixa");// Mensagem
}

O autor queria dizer que o sinal deveria ser dado apenas uma vez. E então a bandeira é imediatamente recolocada em Falso, e até que o preço esteja abaixo de MA2 o sinal para o lado passado não aparecerá.

 
sergeev >>:


копировщик сделок назвывается. на сайте в кодебазе есть.

Obrigado.

 
sergeev писал(а) >>

ele sinalizará porque você tem uma condição ou ( ||| )

você precisa colocar AND ( && ).

e aqui

o que o autor quis dizer é que você só tem que sinalizar uma vez. E então a bandeira é imediatamente reposta em Falso e até que o preço seja inferior a MA2 o sinal para o lado passado não mais aparecerá.

Obrigado pela resposta. a única coisa que me confunde é isto: se (Licitação> MA1& Bid< MA2) || (Licitação> MA1& Bid> MA2))

Eu tenho dois MAs, um (MA1) é traçado ao longo de Alto, o outro (MA2) ao longo de Baixo. Mas aqui acontece que a condição é atendida quando o preço é mais alto que Alto e simultaneamente mais baixo que Baixo se && for colocado.

Talvez eu esteja entendendo errado, mas minha leitura desta linha é: Se o preço estiver acima de МА1 e abaixo de МА2 ou abaixo de МА1 e acima de МА2, então...

agora o escrevi assim:

if (Bid > MA1 && Open < MA1) // Проверка прохода диапазона вверх
{
Alert("Цена находится выше диапазона.");// Сообщение
}
else
{
if (Bid < MA2 && Open > MA2) // Проверка прохода диапазона вниз
{
Alert("Цена находится ниже диапазона.");// Сообщение
}
}

Neste caso, assim que a barra aberta dentro do alcance atravessa o MA, o EA dá um sinal, mas continua a dar sempre que um novo tique vem. e eu tento fazer com que ele não dê nos próximos tiquetaques após o sinal ter aparecido. (Não julgue, eu não sou muito bom nisso)
 
Se eu quiser obter uma posição inversa em minha conta, em vez de vender - comprar, em vez de TP - SL, em vez de SL - TP, com negócios pendentes de acordo com o mesmo esquema, ficarei muito grato, mas dentro de limites razoáveis.
 

Pessoal, ajuda com o OrderType(), ele se recusa a trabalhar depois dele, está bem sem ele. Qual pode ser o erro?

if(z==1){
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
double pbt=OrderOpenPrice();
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
double pst=OrderOpenPrice();
double veha1=(pbt-pst+kon)*10000;
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELLL && c==0){ <--------------------------------------------------------------------------------------------
Print("Work ", veha1);
b11=OrderSend(Symbol(),OP_BUYSTOP,Lots,pbt+Point*10,3,0,0,0, "b11",1,0,Blue);
s2=OrderSend(Symbol(),OP_SELLSTOP,Lots,pst-Point*10,3,0,0, "s2",2,0,Vermelho);
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*40,Ask-Point*veha1,0,Vermelho);
c=1;
}

Agradecemos antecipadamente!

 
if( z==1)
{
   OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
   double pbt=OrderOpenPrice();
   OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
   double pst=OrderOpenPrice();
   double veha1=( pbt- pst+ kon)*10000;
   OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
   if(OrderType()==OP_SELL && c==0)
   { <--------------------------------------------------------------------------------------------
      Print("Работоспособность ", veha1);
      b11=OrderSend(Symbol(),OP_BUYSTOP, Lots, pbt+Point*10,3,0,0, "b11",1,0,Blue);
      s2=OrderSend(Symbol(),OP_SELLSTOP, Lots, pst-Point*10,3,0,0, "s2",2,0,Red);
      OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
      OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*40,Ask-Point* veha1,0,Red);
      c=1;
   }
}
Que tipo de ordens você abre, sem ordens pendentes?
 

{ <--------------------------------------------------------------------------------------------

Este aqui, que diabos é isso?

 

Sim, eu abro um pendente. quando ele vai para o mercado, mais 1 abre e os existentes no mercado mudam.

{ <--------------------------------------------------------------------------------------------

Isto, que diabos é isto?

acabou de me mostrar onde está o problema=)