Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 373

 
STARIJ:
você tem uma soma

Obrigado! Passou por ela e a consertou! Agora funciona.

 
Artyom Trishkin:
O pedido é selecionado por bilhete, e então, após um quilômetro de código, tenta-se modificá-lo. Mas pode já estar fechado naquele momento.

Se a ordem fosse fechada, então OrderTotal()==0;; respectivamente, a OrderModify() não aconteceria de forma alguma.

 
ijonhson:

Se a ordem fosse fechada, então OrderTotal()==0;, respectivamente, OrderModify() não ocorreria em absoluto

Primeiro, você verifica a quantidade, depois verifica um monte de código onde a posição pode ter fechado (mas você já está lidando com uma condição de quantidade maior que zero), e então você seleciona e modifica o fechado.
 

Os pedidos podem ser fechados 0,01 lotes de cada vez se o pedido for um lote de 0,59 por exemplo. Uma questão se coloca. É possível combinar duas ordens em uma só? Por exemplo, um pedido com o lote 0,01 e você quer abrir outro pedido com o lote 0,02. Eles podem ser combinados com 0,03 lotes para evitar a acumulação de pedidos, e se sim, como?

 
instalar a rede MT5
 
Taras Slobodyanik:
instalar a rede MT5

não há tal coisa no MT4?

 

Olá a todos novamente.


Com o devido respeito aos retângulos primitivos.


Não entendo - PORQUE modifica alegremente as ordens de venda, mas ignora a modificação das ordens de compra mesmo quando se usa pandeiros de incenso e outras ferramentas de otimização irracionais.


se (bilhete>0)

{

//setar um Stop Loss e Take Profit para uma ordem de compra//

se(OrderSelect (bilhete, SELECT_BY_TICKET, MODE_TRADES))

{

dupla sl,tp;

se (type===OP_BUY)

{

sl=OrderOpenPrice () - (StopLoss*_Point);

sl=NormalizarDuplo (sl,_Dígitos);

tp=OrderOpenPrice () + (TakeProfit*_Point);

tp=NormalizarDuplo (tp,_Dígitos);

}

se (type===OP_SELL)

{

sl=OrderOpenPrice () + (StopLoss*_Point);

sl=NormalizarDuplo (sl,_Dígitos);

tp=OrderOpenPrice () - (TakeProfit*_Point);

tp=NormalizarDuplo (tp,_Dígitos);

}

bool mod = falso;

int contagem=0;

enquanto (!mod)

{

mod=OrderModify (bilhete, OrderOpenPrice (), sl, tp, 0, clrYellow);

contar++;

se (contar>=100)

{

mod=verdadeiro;

pausa;

 

Descobrimos!!!!!

 

Por favor me ajude, estou apenas aprendendo, se ZZ de um buffer foi chamado de um buffer e ZZ de dois buffers, como devo escrevê-lo corretamente?

// - 2 - ======================== Поиск одного экстремума ЗЗ ============================ 
    double ZZCur = 0;
    while(ZZCur == 0 && i < Bars)
      {
       if(iCustom(Symbol(), 0, "FastZZ", Depth, 0, i)!=0.0) ZZCur =(iCustom(Symbol(), 0, "FastZZ", Depth, 0, i);
       else  if(iCustom(Symbol(), 0, "FastZZ", Depth, 1, i)!=0.0) ZZCur =(iCustom(Symbol(), 0, "FastZZ", Depth, 1, i);
       i++;
      }
// - 2 - ============================ Окончание блока ===================================

// - 3 - ======================== Анализ найденного экстремума ========================== 
    if (ZZCur == 0)
      return(False);           // Если ни один из экстремумов не определен, то это ошибка

Eu não estou escrevendo corretamente, como deve ser escrito? Obrigado

 

Não capturou a peça no topo, faz mais sentido dessa forma. Por favor, diga-me o erro.

Razão: