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

 
FoxUA:


A fim de evitar maiores esclarecimentos. A FoxUA cria sua própria linha com uma pergunta na qual você revela todas as complexidades. "Qualquer pergunta de novato..." é um tópico para "perguntas e respostas rápidas".
 
DDFedor:

A fim de evitar maiores esclarecimentos. FoxUA, crie sua própria linha com uma pergunta, onde você revela todos os detalhes. "Qualquer pergunta novato..." é um tópico para "perguntas e respostas rápidas".

Não estou verificando atitudes, estou comentando uma declaração que fiz a mim mesmo,

Não estou falando de rapidez, estou falando de comentários sem sentido que não ajudam.

 
FoxUA:

Andrei, você está confuso, eu olhei o código, sua variável HaveBuyLimitOrderEnd ocorre apenas nesta construção:

  if (HaveBuyLimitOrderEnd== true) 
  {DeleteOrder();  // Выбираем            
  }}

E vários posts acima de você o escrevem neste aqui:

A questão é que o primeiro valor funciona bem, mas este não.

se(HaveBuyLimitOrderEnd== verdadeiro)
{ModifyBuyStopOrder(PRAskS); // Verifique
} }

Como deve ser?

 
ToLik_SRGV:

Andrey, você ficou confuso, eu olhei o código, sua variável HaveBuyLimitOrderEnd ocorre apenas nesta construção:

E vários posts acima de você o escrevem neste aqui:

É assim que deve ser?



é, aqui está a parte lógica, para colocá-lo frente a frente, os blocos são prociclicamente a mesma diferença em termos

if(bs==1&&bl==1)
{OpenBuyLimitOrder(Lot*7,PRAskL); 
  if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
      
  }   

if(bt==1&&bl==1) 
{OpenBuyStopOrder(Lot,PRBidS);
   if (HaveBuyLimitOrder== true) 
  ModifyBuyLimitOrder(PRAskL);  // Выбираем            
  } 

if(ss==1&&sl==1)
{OpenSellLimitOrder(Lot*7,PRBidL); 
   if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==1)
{OpenSellStopOrder(Lot,PRBidS); 
  if (HaveSellLimitOrder== true) 
  ModifySellLimitOrder(PRBidL);  // Выбираем            
  } 

  if(bs==1&&bl==3)
{OpenBuyLimitOrderEnd(Lot*15,PRAskL); 
   if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
  } 

if(bt==1&&bl==3) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot*3,PRAskL);
  if (HaveBuyLimitOrder== true) 
  DeleteOrder();  // Выбираем            
  } 

if(ss==1&&sl==3)
{OpenSellLimitOrderEnd(Lot*15,PRBidL); 
   if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==3)
{OpenSellStopOrder(Lot,PRBidS);
OpenSellLimitOrder(Lot*3,PRBidL);
   if (HaveSellLimitOrder== true) 
  DeleteOrder();  // Выбираем            
  } 

   if(bs==1&&bl==7)
{
    if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
  } 

if(bt==1&&bl==7) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot*3,PRAskL); 
  if (HaveBuyLimitOrderEnd== true) 
  DeleteOrder();  // Выбираем            
  } 

if(ss==1&&sl==7)
{  if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==7)
{OpenSellStopOrder(Lot,PRBidS); 
OpenSellLimitOrder(Lot*3,PRBidL); 
  if (HaveSellLimitOrderEnd== true) 
  DeleteOrder();  // Выбираем            
  } 

então qualquer bloco soa o mesmo "se a primeira variável for 1 e a segunda variável for 1,3,7 então abra uma ordem pendente com o lote ____ e o preço _____" e também se a bandeira da ordem pendente selecionada for igual à verdade então modifique (delete) esta ordem

 
Olá. A situação é a seguinte: um valor de mudança de indicador do buffer é procurado pela declaração, ou seja, for(i=0;i<=100;i++), MD1=MD1+i, MD1=iMACD(........, i) e uma posição é aberta somente se a última barra (neste caso a 100ª) atender aos critérios de abertura. Preciso que ele abra na direção de 0 barras (se os critérios estiverem corretos) e não considere barras posteriores. Existe uma solução para este problema? Obrigado de antemão.
 
provavelmente para(i=100;i>=0;i--), ?
 
sergeev:
provavelmente para(i=100;i>=0;i--), ?
Portanto, por alguma razão, as ordens não estão abrindo (MD1=MD1-i mudou).
 

Olá a todos, fui aconselhado a simplificar o soviético, comecei a simplificá-lo, mas tenho um problema, a essência do problema quando se abre pedidos na revista escreve erro 4107 mas abre facilmente todos os pedidos, quem pode ver qual é o problema, digo de uma vez todo o código é retirado da biblioteca Kim Igor V. aka KimIV,

Arquivos anexados:
test_21.mq4  15 kb
 
sergeev:
provavelmente para(i=100;i>=0;i--), ?
Parece funcionar, apenas i>=2, se 0 ou 1, retorna -1 e 0 respectivamente. Obrigado.
 
FoxUA:

Olá a todos, fui aconselhado a simplificar o soviético, comecei a simplificá-lo, mas tenho um problema, a essência do problema quando se abre pedidos na revista escreve erro 4107 mas abre facilmente todos os pedidos, quem pode ver qual é o problema, digo de uma vez todo o código é retirado da biblioteca Kim Igor V. aka KimIV,

Normalizar os preços de parada.