[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 435

 
semiromid:

Ajuda )

1.Detecção instantânea de uma ordem recentemente aberta (sem ordens pendentes) (Se o sistema tiver detectado uma ordem que não foi aberta antes, continua sob o número 2)

2. Qualquer tarefa é executada apenas uma vez, apenas para esta ordem.

Depois que mais uma ordem é aberta, o sistema atua novamente do ponto 1 ao ponto 2

Precisa encontrar um pedido feito manualmente do exterior?
 
sergeev:

Service-Settings-International

Interessante. e a opção apareceu nas configurações. este não era o caso nas versões anteriores
 
bercut0077:
Boa tarde, você poderia me dizer como adicionar uma seta (código 241) a uma linha de texto e fazer tudo parecer apropriado na tela? Por exemplo -- > trend = StringConcatenate("Direção da tendência: ", ? ? ? ? ? ? ?); Talvez haja outra maneira?


Alternativamente, você poderia usar "aspas" e _underline_.

ou

^ para cima

...

 
peshihod:
Precisa encontrar um pedido feito manualmente do exterior?


Tanto manualmente quanto externamente.

1.Моментальное определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника) Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача, всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер, система вновь действует с пункта 1 по пункт 2 .

 

encaminhados para

semiromid:

se ( OrderSelect (77777, SELECT_BY_TICKET) == verdadeiro)

Como selecionar um ticker que ainda não existe, mas que será o próximo?

 

mudou-se para

semiromid:

Por favor, ajude .

Como posso adicionar uma variável a este comentário "Erro Ocorrido"?

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "Ocorreu um erro", 0);


TheXpert:

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "Ocorreu um erro "+GetLastError(), 0);

 

Boa tarde especialistas, no indicador estou interessado no valor recebido pela EA

SetIndexBuffer(2, Cur_Trend) которое в зависимости от обстоятельств должно иметь значение 1 или -1, все работает нормально, но по прошествии минут 10-15, значение выходит за 
рамки и становится сразу равно 2147483647, в чем здесь проблема, уже не один день бьюсь... выручайте, заранее спасибо!

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 LightBlue
#property indicator_color2 Magenta

double CrossUp[];
double CrossDown[];
double Cur_Trend[];
int CurrentTrend = 0;
int starttime = 0;

int init()
  {
   IndicatorBuffers(3); 
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, CrossUp);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, CrossDown);
   SetIndexBuffer(2, Cur_Trend);
   starttime = TimeLocal(); 
   
   return(0);
  }


int deinit()
  {
   return(0);
  }


int start() {
   
   int limit, i, counter, loop;
   
   double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
   double Range, AvgRange;
   int counted_bars=IndicatorCounted();

   //---- check for possible errors
   if(counted_bars<0) return(-1);

   //---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;

   loop = 0;
   for(i = 0; i <= limit; i++) {
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;
       
      fasterEMAnow = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i);
      fasterEMAprevious = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
      fasterEMAafter = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

      slowerEMAnow = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i);
      slowerEMAprevious = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i+1);
      slowerEMAafter = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i-1);
      
      if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious) && (fasterEMAafter > slowerEMAafter)) {
         CrossUp[i] = Low[i] - Range*0.5;
         if ((loop == 0) && (CurrentTrend != 1))  {
            CurrentTrend = 1;
            Cur_Trend[0]= CurrentTrend;
            }

         if (loop == 0)  {
            loop = 1;
            }
      }
      else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious) && (fasterEMAafter < slowerEMAafter)) {
            CrossDown[i] = High[i] + Range*0.5;
         if ((loop == 0) && (CurrentTrend != -1))  {
            CurrentTrend = -1;
            Cur_Trend[0]= CurrentTrend;
            }

         if (loop == 0)  {
            loop = 1;
            }
       }
   }
   return(0);
}
 

Olá a todos!

Mais uma pessoa decidiu mergulhar na programação da EA))))

Por favor, informe como implementar o horário da EA, digamos das 0:00 às 0:15

Obrigado antecipadamente))))

 

Bem-vindo a outro mergulho...

limite o tempo de funcionamento do site do assessor:mql4.com

 
semiromid:


Tanto manualmente como de fora.

1.Моментальное определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника) Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача, всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер, система вновь действует с пункта 1 по пункт 2 .


Isto é, o momento da abertura não importa se foi aberta há um minuto ou dois?

O ponto 2 não está claro. Tudo isso é um pouco vago.

O tempo de abertura pode ser determinado pelo OrderOpenTime().

Razão: