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 118

 
drems:
Você pode me dizer se há alguma forma de definir comentários padrão sobre o pedido???

Que tipo de "ordem"? Para que serve? Onde e por que precisa de um comentário?
 
hoz:

Eu tenho algo sobre um ponto simples, uma dor de cabeça. Há uma função de busca de pedidos.

t - contador de todas as ordens.

p - contador de ordens pendentes.

Eu o chamo desde o início:

Na verdade, quando a abrimos, mesmo quando não há ordens, vemos isso (mesmo quando não há ordens, ela imprime como se houvesse...):

Como isso é possível?


Aí está...
if (OrderType() > 1)
      {
          p++;
      }
      t++;
Что у нас тут? Если тип ордера больше OP_SELL, то увеличиваем p

Você já pensou que o tipo de pedido também poderia ser mais do que cinco? Especificamente seis. Esta é uma mudança não comercial no depósito.

 
artmedia70:
Aí está...

Você já pensou que o tipo de pedido também poderia ser mais do que cinco? Especificamente seis. Esta é uma mudança não comercial no depósito.



Não. Essa é a primeira vez que ouço falar disso. Onde diz isso?
 
FAQ:
depósito = tipo 6

Hmm. Tipo de pedido = depósito!? O que é isso?
 
artmedia70:
Aí está...

Você já pensou que o tipo de pedido também poderia ser mais do que cinco? Especificamente seis. Esta é uma mudança não comercial no depósito.



E por que 6, porque o tamanho ou o número de pedidos pode ser definido independentemente no Expert Advisor.
 
hoz:

Hmm. Tipo de pedido = depósito!? O que é isto?

todos os saques e depósitos passam por este número
 
Profitov:

E por que 6, porque o tamanho ou o número de pedidos pode ser escrito no EA.

Do que estamos falando? Não estamos falando sobre o número de pedidos, mas sobre o tipo de pedido. Portanto: uma ordem do tipo 6 é uma modificação não comercial do depósito.
 
hoz:

Não. Essa é a primeira vez que ouço falar disso. Onde diz isso?

Estes são dados não documentados.
 
FAQ:

Todos os saques e depósitos ficam abaixo desse número.


Hmm. E como este número pode afetar a coleta de estatísticas de pedidos?

artmedia70:

São dados indocumentados.

Isso é ótimo! O mais interessante é que alguém sabe disso, por estranho que pareça. Como alguém poderia ter adivinhado isso?

artmedia70:

Do que estamos falando? Não se trata do número de pedidos, mas sim do tipo de pedido. Portanto: uma ordem do tipo 6 é uma alteração não comercial do depósito.

Se uma coruja for testada na demonstração, como esta ordem pode ser contabilizada? Ou seja, o saldo, que inicialmente é dado na demonstração - será que... o procurado UM? E no real - isto é o que temos retirado e depositado, certo?

 
Sepulca:

Isto deve funcionar, eu mesmo ainda não testei, pois o terminal está ocupado otimizando outro EA até agora

Olá!

Eu tentei colar seu código no modelo do tutorial. Tenho que abrir apenas uma posição, mas o modelo tem apenas uma posição.

A variável bilhete tem outro nome, pois o modelo já tem um e o tornou estático, de modo que o critério de retirada receberia dados dele, se a posição permanecesse no dia seguinte.

Tudo está bem, mas surgiu um problema de looping. Por exemplo, no Testador de Estratégia, o Expert Advisor sai de uma posição na Take Profit ou fecha vender e o critério de entrada ainda está ativo, de modo que se verifica que o Expert Advisor constantemente abre e fecha uma posição.

Este problema foi resolvido com a adição de uma variável estática de data/hora t antes, mas agora

 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S; 
      t=Time[0];  
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
     {
       if (Time[0]>t)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }
     }

vende deixa de funcionar.

Funciona, mas faz loops:

#define magic 123456789
StartHour=14;
StartMinute=1;// Время 08:01
StopHour=16;
StopMinute=30; // Время 23:58
StartTime=StartHour*60+StartMinute;
StopTime=StopHour*60+StopMinute;
static int tickett=-1;
static double Maximum=-1;
static datetime t;
if(StopTime<=StartTime) {Print("ERROR: Неправильные времена"); return(0);}
 CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 if(CurrentMinutesFromDayStart<StartTime) {Maximum=-1;Flag=true;}// Если StartTime еще не настало, то после StopTime нужно пересчитать Maximum и можно открывать ордер
if(CurrentMinutesFromDayStart>StopTime && Maximum<0) {// если максимум ещё не посчитан
  datetime ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count=start-count;// Сколко баров длится временной интервал
  Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 }
 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S;   
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }

Qual pode ser o problema? Eu tentei tudo o que pude pensar, mas não sou tão bom no mql .

Estou anexando o Conselheiro Especialista, não é possível colocar todo o texto.

Arquivos anexados:
svhrvrsa.mq4  14 kb