Trade101 indicador multi-currency - página 4

 
Alguém sabe como reduzir itens a um denominador comum e fazer como descrito pelo autor? Sinto que preciso cavar no MarketInfo, mas não sei qual parâmetro.
 
Hmm, eu ainda estou ficando sem divisão. É um pouco de mistério.
 

Divisão zero somente quando MarketInfo(Par[j], MODE_POINT)=0.

Isso não deveria acontecer... A história está carregada em todos os pares? Tente abrir todos os 14 pares no terminal.

 
Talvez seja porque meu CHFJPY é apenas cinza. (É proibido comercializar sobre ele) Mas as citações vão. Talvez o indicador não consiga puxar o markitonfo de lá? Embora outro indicador esteja funcionando bem com este símbolo.
 
Se você puder, escreva esse texto para imprimir para todas as moedas. Isso deve esclarecer tudo...
 
Infelizmente, eu não sou muito bom em programação. :(
 

Pergunto-me por que, se você deixa apenas 2 pares, por exemplo, Par[0]="EURUSD"; Par[1]="GBPJPY";

não funciona ????

Quem sabe, não diz; quem diz, não sabe. A regra básica de um corretor de bolsa
 
sergeev писал(а) >>

Vou perguntar novamente. Você tem certeza de que o bloco:

b=true;
while ( b) // сортируем массив по возрастанию
{
b=false;
for ( j=1; j< Max; j++)
  if ( Price[ j]< Price[ j-1]) 
  { 
   a= Price[ j]; Price[ j]= Price[ j-1]; Price[ j-1]= a;
   n= Num[ j]; Num[ j]= Num[ j-1]; Num[ j-1]= n; b=true; 
  }
}

Ordena corretamente a matriz de preços[]?

Ou eu perdi mais um loop em algum lugar? ;)

Ou ele (bloco) tem outro propósito?

 

Não sei se isso ajudaria. Primeiro tomo o intervalo de tempo EURUSD (a maioria das citações, penso eu), por exemplo, 1 hora. E então o resto dos símbolos são o intervalo via iBarShift.

Então, para cada símbolo eu calculo não o movimento em pontos, mas pontos multiplicados pelo seu preço (a 1,0 lote).

      for(int j=0; j<14; j++)
      {
         int q;
         if(j<7) q=-1; else q=1;
         string sm=smbl[j];
         int ii=iBarShift(sm,PERIOD_M1,timenow);
         int jj=iBarShift(sm,PERIOD_M1,timestart);
         double p;
         if(StringFind(sm,"JPY")>=0) p=0.01; else p=0.0001;
         double sp=MarketInfo(sm,MODE_SPREAD);
         double pp=MarketInfo(Symbol(), MODE_TICKVALUE);
         double mv=((iClose(sm,PERIOD_M1,ii)-iClose(sm,PERIOD_M1,jj))/p*q-sp)*pp;
         smbl_movement[j]=mv;
         if(j<7) sumsell=sumsell+smbl_movement[j];
         else sumbuy=sumbuy+smbl_movement[j];
      }
      GreenBuffer[i]=sumbuy;
      RedBuffer[i]=sumsell;

E eu levo dois buffers - o lucro total de sete pontos na compra e sete pontos na venda (símbolos verdes e vermelhos em T101)

Quero acrescentar mais amortecedores - H4 e intervalos diários.

E em geral, senhores, para não enterrar em todo o mundo - quem está interessado, vá ao site do Victor (vinin) - houve muita conversa e a barganha foi um pouco, talvez algo seja acrescentado.

E a classificação, a propósito, já foi feita (ver Comentário() )

 
SergNF >> :

Vou perguntar novamente. Você tem certeza de que o bloco:

Ordena corretamente a matriz de preços[]?

Ou eu perdi mais um loop em algum lugar? ;)

Ou ele (o bloco) tem outro propósito?

Sim, é.

Tenho aí algum erro que não consigo ver?

Razão: