Indicador multidivisa de Trade101 - página 4

 
¿Alguien sabe cómo reducir los elementos a un denominador común y hacer lo que describe el autor? Siento que tengo que indagar en MarketInfo, pero no sé qué parámetro.
 
Hmm, todavía estoy recibiendo cero división. Es un poco misterioso.
 

Dividir en cero sólo cuando MarketInfo(Pair[j], MODE_POINT)=0.

Esto no debería ocurrir... ¿Se carga el historial en todos los pares? Intenta abrir los 14 pares en el terminal.

 
Tal vez sea porque mi CHFJPY es sólo gris. (Está prohibido comerciar con ella) Pero las comillas van. ¿Quizás el indicador no puede sacar el markitonfo de ahí? Aunque otro indicador funciona bien con este símbolo.
 
Si puedes, haz un script para que el marketinfo se imprima para todas las monedas. Eso debería aclararlo...
 
Por desgracia, no soy muy bueno programando. :(
 

Me pregunto por qué, si se dejan sólo 2 pares, por ejemplo Pair[0]="EURUSD"; Pair[1]="GBPJPY";

No funciona...

Quien lo sabe, no lo dice; quien lo dice, no lo sabe. La regla general de un corredor de bolsa
 
sergeev писал(а) >>

Lo preguntaré de nuevo. ¿Estás seguro de que el bloque:

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; 
  }
}

¿Ordenar correctamente la matriz Price[]?

¿O me he perdido un bucle más en alguna parte? ;)

¿O es que (el bloque) tiene otra finalidad?

 

No sé si eso ayudaría. Primero tomo el intervalo de tiempo del EURUSD (la mayoría de las cotizaciones, creo), por ejemplo, 1 hora. Y luego el resto de los símbolos son el intervalo a través de iBarShift.

Luego para cada símbolo calculo no el movimiento en puntos, sino puntos multiplicados por su precio (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;

Y tomo dos topes - el beneficio total de siete puntos en compra y siete puntos en venta (símbolos verde y rojo en T101)

Quiero añadir más topes - H4 e intervalos diarios.

Y en general, señores, no enterrar todo el mundo - que está interesado, ir al sitio de Víctor (vinin) - ha habido un montón de charla y la negociación ha ido un poco, tal vez se añadirá algo.

Y la ordenación, por cierto, ya está resuelta (ver Comentario() )

 
SergNF >> :

Lo preguntaré de nuevo. ¿Estás seguro de que el bloque:

¿Ordenar correctamente la matriz Price[]?

¿O me he perdido un bucle más en alguna parte? ;)

¿O tiene (el bloque) otra finalidad?

Sí, lo es.

¿Tengo un error que no puedo ver?

Razón de la queja: