[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 121

 
Vinin >> :

Es mejor calcular primero los valores estocásticos y de la línea de señal. Y luego compararlas. Simplemente no me gusta este estilo. El resultado es una especie de ceguera. Y es más fácil equivocarse.

If() en la variante de las metacitas hace un cálculo completo de la expresión lógica. Sería deseable que fuera lo más sencillo posible. Es que if() es una de las operaciones más lentas.

También existe la noción de "parloteo" en la barra de cero. Puede haber casos en los que la señal se repita en una barra más de una vez. E incluso puede no bloquearse. Era una señal falsa. Por eso intentamos tomar los valores de las barras formadas. Pero en este caso debemos utilizar los precios de apertura. Aunque puede haber otras variantes.

El "parloteo" de la barra de cero está claro, pero es otro tema.

Gracias por la "lentitud" de la operación "if" - fue esclarecedor.

Así que es mejor crear, por ejemplo, variables

x=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowingF,PriceFieldF,0,shiftF);

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);

y luego if(x>y), etc. ¿no?

"Simplemente no me gusta este estilo. Es algo ciego. Y también es más fácil equivocarse".

¿Cómo lo escribiría? Enséñame.

 
Hola a todos. Hay una petición. En algún lugar de la red he visto algo parecido, pero no lo he vuelto a encontrar. Necesito un script que abra operaciones con el tamaño del lote calculado sobre el valor del stoploss. Es decir, utilizo variables externas para establecer el % del depósito o la cantidad que estoy dispuesto a arriesgar y el valor de stop loss en pips. Dependiendo del valor del punto y del stop loss el script calcula el lote y coloca una orden. Si tienes un script de este tipo, no dudes en publicarlo. Quiero darte una pista de dónde descargarlo. Gracias de antemano.
 
mukata писал(а) >>

El "parloteo" en la barra cero es comprensible, pero ese es otro tema...

Gracias por la "lentitud" de la operación "if" - es esclarecedor.

En otras palabras, es mejor crear, por ejemplo, variables

x=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowingF,PriceFieldF,0,shiftF);

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);

y luego if(x>y), etc. ¿no?

"Simplemente no me gusta este estilo. Es algo ciego. Y es más fácil equivocarse".

¿Cómo lo escribiría? Enséñame.

Así es como suelo hacer el control de cruces. Hay una intersección, más procesamiento.

string _Symbol=Symbol(); // чтобы лишний раз не вызывать функцию

double Stoch0  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0,     0);
double Stoch1  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0, shiftF);
double Signal0 = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 1,     0);
double Signal1 = iStochastic(_Symbol, 0, KperiodF, D periodF, SlowlingF, methodF, PriceFieldF, 1, shiftF);


//пересекла ли главная линия стохастика сигнальную линию 
if (( Stoch0  - Signal0 )*( Stoch1  - Signal1) <0) {
   // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)

}
 
Vinin >> :

Suelo hacer el control de cruce así. Hay una intersección, el procesamiento posterior.

  // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)
Mm-hmm, ¡¡¡qué eficiente!!!
Especialmente en mi probador...:-)
La mayoría de los ticks no se cruzan, pero resulta que estaba contando cada tick: si tal tick es menor que otro, u otro es menor que tal.....................
Muchas gracias, me pongo a trabajar.
 
mukata писал(а) >>

Sólo mi diseño tiene una desventaja. Si los valores coinciden en una de las barras calculadas, puede haber un salto de señal. Aunque es poco probable, puede ocurrir.

 
StatBars >> :

Gracias

 
rsi >> :

Eso es lo que dices: enviar una orden durante el día con las condiciones 1 y 2, y por la noche con las condiciones 1 y 2 y 3. Así que tienes la cuarta condición día-noche, pero la has mezclado con la tercera. Puedes, por ejemplo.

Gracias

 

Me gustaría preguntar a algunos conocedores, ¿cuál es el número máximo de órdenes de trabajo (y pendientes) posible?

¿O no existe tal límite?

 
xrym писал(а) >>

Me gustaría preguntar a algunos conocedores, ¿cuál es el número máximo de órdenes de trabajo (y pendientes) posible?

O no existe tal limitación.

Habría que consultarlo con su empresa de corretaje. Puedes intentar poner un ciclo sin fin para ver el máximo:

for(int k=1; k>2; k--)
{
   OrderSend(Symbol(),OP_BUY,0.1,Ask,1,0,0,"testing order");
   Alert("Текущее количество ордеров: ",OrdersTotal());
}
La última alerta será el número máximo de pedidos en su CC.
 

Por cierto, OrdersTotal() devuelve un número de tipo int. Y los int pueden tomar valores:

Внутреннее представление - длинное целое число размером 4 байта. Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

Es decir, el número máximo teórico de oders: 2147483647