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

 
Vinin >> :

O que é que eu igualo?

Eu só queria mostrar o básico - eu sou definido como:

   int counted_bars = IndicatorCounted(), i;
   i = Bars - counted_bars - 1;

   while( i>=0) {


ou seja, começa na barra mais alta e vai até zero.

Se eu mantiver o Indicador funcionando então para 0 valores de i tudo começa a funcionar (desenha retângulos para corrente

etc.), mas não há nada sobre a história. Eu pensei que talvez tenha algo a ver com a definição da matriz!

 
chief2000 писал(а) >>

Eu só queria mostrar o básico - eu sou definido como:

ou seja, começa na barra mais alta e vai até zero.

Se eu mantiver o Indicador funcionando então para 0 valores de i tudo começa a funcionar (desenha retângulos para corrente

etc.), mas não há nada sobre a história. Eu pensei que talvez tenha algo a ver com a definição da matriz!

Então, terei que mostrar o código completo do indicador.

 
Vinin >> :

Então você terá que mostrar o código completo do indicador.

Aqui está o código - eu removi tudo que não era relevante para o problema:

 
#property indicator_chart_window
#property indicator_buffers 4



int    i;


// ------------------------------------------------------
extern int RSI_Periods = 14;
extern int Percent_K   = 14;

//---- buffers
// double Buffer1[];
double Buffer1[99000];

// double Current_RSI,Lowest_RSI,Highest_RSI,sum_K;
// ------------------------------------------------------




  
int init() {
   return(0);
}




// -------------------------------------------------------------------------------
int start() {

   int counted_bars = IndicatorCounted(), i;
   i = Bars - counted_bars - 1;

   while( i>=0) {

// ============================================================================================
      double Current_RSI, Lowest_RSI, Highest_RSI;


      Current_RSI    = iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, i);
      Highest_RSI    = Current_RSI;
      Lowest_RSI     = Current_RSI;

      for(int x= i+1; x<= Percent_K+ i+1; x++){
         Lowest_RSI  = MathMin( Lowest_RSI, iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, x));
         Highest_RSI = MathMax( Highest_RSI,iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, x));
      }


      Buffer1[ i]     = (( Current_RSI- Lowest_RSI) / ( Highest_RSI- Lowest_RSI)) * 100;
// ============================================================================================



   Comment(
      "\n",
      "\n",
      "\n",
      "\n",
      "\n", "Current_RSI = "  , Current_RSI,
      "\n", "Highest_RSI = "  , Highest_RSI,
      "\n", "Lowest_RSI = "  , Lowest_RSI,
      "\n", "Percent_K = "  , Percent_K,
      "\n", "((Current_RSI-Lowest_RSI) / (Highest_RSI-Lowest_RSI)) * 100 = "  , (( Current_RSI- Lowest_RSI) / ( Highest_RSI- Lowest_RSI)) * 100,
      "\n", "iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,i) = "  , iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, i),
      "\n", "i = "  , i,
//      "\n", "Percent_K = "  , Percent_K,
//      "\n", "Percent_K = "  , Percent_K,
      "\n",
      "\n",
      "\n", "Buffer1[i+30] = ", Buffer1[ i+30],
      "\n", "Buffer1[i+12] = ", Buffer1[ i+12],
      "\n", "Buffer1[i+1] = ", Buffer1[ i+1],
      "\n", "Buffer1[i] = "  , Buffer1[ i],
      "\n",
      "\n"
   );


      i--;
   }


   return(0);
}
 

Onde começar a escrever as Posições Gerenciar() vazias por condições de conhecimento

Há matrizes
para (tf = 0; tf < 5; tf++)
{
......
int TF[tf] - prazo {5,15,30,60,240}
int signal[tf] - "1" - comprar
- "2" - compra fechada
- "-1" - vender
- "-2" - venda fechada
int mn_b[tf] - magic_number_buy different for all time frame
int mn_s[tf] - magic_number_sell diferente para todos os períodos de tempo
}

Deve
abrir
no prazo de 5.15 aberto em uma direção até três ordens
- 1 pedido MM = 1 DINHEIRO
- 2 ordem MM = 2
- 3 MM ordem = 3
no prazo 30 abre um caminho para até duas ordens
- 1 pedido MM = 2
- 2 MM = 3

no prazo de 60 anos, um pedido é aberto para um lado
- 1 pedido MM = 3

no período 240 não abre

Diluição da segunda e terceira ordens de acordo com diferentes condições

No total, não recebemos mais do que 9 pedidos para um lado

Fechar
Quando aparece um sinal de fechamento de venda, isto fecha todas as ordens de venda no período de tempo determinado
Quando um sinal de fechamento de compra aparece, ele fecha todas as ordens de compra no período de tempo atual


Por favor, ajude

 

Favor explicar como identificar um bilhete ou número de pedido se for conhecido por ser o primeiro com um determinado número mágico.

Agradecemos antecipadamente!

 

I. A filial da Kim 'Funções úteis da KimIV'.

Função GetTicketLastPos(). Página 19.
Esta função devolve o bilhete da última posição aberta ou -1.
A função GetIndexLastPos(). P.17
Esta função deve retornar o índice da última posição aberta ou -1.
A função IndexByTicket(). P.12
Retorna o índice (o número do índice na lista geral de ordens ou posições abertas) da ordem ou posição pelo bilhete. Se IndexByTicket() não encontrar um pedido ou posição com o bilhete requerido, ele retornará -1





 
rid >> :

I. A filial da Kim 'Funções úteis da KimIV'.

Função GetTicketLastPos(). Página 19.
Esta função devolve o bilhete da última posição aberta ou -1.
A função GetIndexLastPos(). P.17
Esta função deve retornar o índice da última posição aberta ou -1.
A função IndexByTicket(). P.12
Retorna o índice (o número do índice na lista geral de ordens ou posições abertas) da ordem ou posição pelo bilhete. Se IndexByTicket() não encontrar um pedido ou posição com o bilhete requerido, ele retornará -1





Obrigado por sua ajuda!

 
chief2000 >> :

Aqui está o código - eu removi tudo o que não era relevante para o problema:


Eu encontrei a causa:

i = Bars-30 - counted_bars - 1;

em vez de .

i = Bars - counted_bars - 1;


Obrigado!

 

Outra pergunta básica ao meu código acima - o mesmo Indicador é executado separadamente

e desenha uma linha na janela abaixo da janela principal (e outra adiciona outros objetos gráficos na janela superior).

Os dois para loops internos enquanto() sobrecarregam notavelmente o computador.

- É possível criar retângulos, setas, etc. no topo e uma linha

(curva tipo RSI) na parte inferior?

Razão: