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 449

 
abeiks:

Quantas barras do gráfico atual do último tempo conhecido do servidor (TimeCurrent()) até um determinado dia até a primeira abertura da barra naquele dia(TimeDay(Time[80])?


iBarShift deve ajudar
 
pu6ka:

iBarShift deve ajudar

Eu lutei o dia todo e ainda não tive sucesso. Experiência errada para mim e muito mais. :)

Qualquer pessoa pode escrever esta função?

 
abeiks:

Eu lutei o dia todo e ainda não tive sucesso. Experiência errada para mim e muito mais. :)

Qualquer pessoa pode escrever esta função?

     int n = 0;                                           // индекс дня, в данном случае 0 - текущий день
datetime DayTime = iTime(NULL, PERIOD_D1, n);             // Начало дня "n" в секундах
     int cb = iBarShift(NULL,0,DayTime);                  // Получим на текущем ТФ индекс бара
 
Stells:

Boa tarde.

Eu não entendo como isto funciona

03:00:24 '9473965': ordem de venda 0,01 GBPUSD abertura a 0,00000 sl: 1,65314 tp: 0,00000 falha [Inválido S/L ou T/P]

com este código

porque o preço de abertura é zero


Foi hoje à noite? Então, o mais provável é que seu prejuízo estivesse abaixo do preço de abertura e para uma ordem de venda, o preço do prejuízo deveria ser mais alto.
 
pu6ka:


É um pouco errado. Preciso ter o início do dia "n" em segundos especificamente desta função TimeDay(Tempo[80]), mas isso não funciona para mim.

 

Eu queria avaliar a história em busca de buracos.
Fizemos isto:

int start() 
{
  if(Time[0] > prev_time ) 
  {
    if( iTime(NULL, PERIOD_M1,0)-iTime(NULL, PERIOD_M1,1) > 200000)
    {
      n=n+1;
      Print("n =",n ,"");
    }
    prev_time = Time[0];
  } 
  
  return (0);
}

Entendo corretamente que o iTime conta em segundos e 200.000 = 2,31 dias ?

É possível fazer isso? (Parece estar funcionando, apenas 6 peças detectadas)

 
abeiks:

É um pouco errado. Preciso ter o início do dia "n" em segundos especificamente desta função TimeDay(Tempo[80]), mas isso não funciona para mim.


Especificamente a partir desta função TimeDay(Tempo[80]), tenho que fazer mais alguns cálculos intermediários. Você ainda tem o tempo de barra de tempo[80]. O caminho mais simples seria este:

     int n = iBarShift(NULL,PERIOD_D1,Time[80]);          // индекс дня, которому принадлежит время бара - Time[80]
datetime DayTime = iTime(NULL, PERIOD_D1, n);             // Начало дня "n" в секундах
     int cb = iBarShift(NULL,0,DayTime);                  // Получим на текущем ТФ индекс первого бара дня "n"
 
sv.:

Estive pensando em avaliar a história em busca de buracos.

Aqui está um roteiro muito útil, já o uso há anos. Se o arquivo de citações for carregado, será necessário alterar dois parâmetros para evitar que se mexa nas configurações. Elas são destacadas na captura de tela com moldura vermelha.

Atirá-lo em qualquer gráfico e esperar alguns segundos, até a mensagem onde se encontra o arquivo com o relatório.

 
addict:

a ordem de compra é aberta uma vez, mas o número de ordens de venda é infinito novamente


Escreva uma função como esta

int start()

if( OrderTotal()==0 && CountTrades()==0)

{

OrderSend ("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Point,"my order",1);

OrderSend ("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Point,"my order",1);

senão

{
OrderSend ("EURUSD",OP_SELLLIMIT,l,1.36000,5,0,1.36000-tp*Point,"my order",2);
OrderSend ("EURUSD",OP_SELLSTOP,l,1.36000,5,0,1.36000-tp*Point,"my order",2);
}

}

retorno(0);

}

//+------------------------------------------------------------------+

no CountTrades()

{

int count = 0;

for(int trade = OrderTotal()-1; trade >=0; tradee--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

contar++;

}

}

devolução(contagem);

 
pu6ka:


Especificamente a partir desta função TimeDay(Tempo[80]), você tem que fazer mais alguns cálculos intermediários. Você ainda tem o tempo do barTime[80]. Seria mais fácil fazê-lo desta maneira:


Obrigado! :)

Razão: