Diablo

 

Propongo un esquema universal de colocación de pedidos utilizando los niveles de Rabbit. Script para la realización automática de pedidos según este esquema:

// Diablo v16.09.10
#property copyright "Jon Katana"
#property show_inputs
extern double Up=0;
extern double Down=0;
extern int Levels=0;
extern int Step=0;
extern double Vol=0;
extern int Spread=0;
int start()
{for(int i=0;i<Levels;i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(2*i*Step+Spread)*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Down-2*i*Step*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+(2*i+1)*Step*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down-((2*i+1)*Step-Spread)*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(2*i*Step+Spread)*Point,0,Up+(2*i-1)*Step*Point,Up+(2*i+2)*Step*Point,0,0);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+(2*i+2)*Step*Point,0,Up+((2*i+3)*Step+Spread)*Point,Up+((2*i+1)*Step+Spread)*Point,0,0);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Down-2*i*Step*Point,0,Down-((2*i-1)*Step-Spread)*Point,Down-((2*i+2)*Step+Spread)*Point,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down-((2*i+2)*Step-Spread)*Point,0,Down-(2*i+3)*Step*Point,Down-(2*i+1)*Step*Point,0,0);}
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up,0,Up+(Step+Spread)*Point,Down-(Step-Spread)*Point,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down+Spread*Point,0,Down-Step*Point,Up+Step*Point,0,0);
return(0);}
Variables:

Arriba - valor del nivel del Conejo más cercano al precio (por ejemplo, 1,3040);

Abajo - valor del nivel del Conejo más cercano al precio (por ejemplo, 1,3000);

Niveles - número de niveles de Conejo, en los que se expondrán las órdenes de un tipo (por ejemplo, se tratará de 5 - 10 niveles hacia arriba y hacia abajo del precio);

Paso - paso entre los niveles del Conejo en puntos (por ejemplo 40);

Vol - volumen de una orden (por ejemplo 0,01);

Spread - extensión (por ejemplo 2).

Diablo en cualquier trayectoria del movimiento del precio para un día cierra en beneficio (de uno a varios corredores entre los niveles Conejo), o en cero (menos spreads). El cierre de menos ocurre sólo en los retrocesos fuertes (más de un corredor) desde los niveles de las órdenes libres directas (Buy Stop o Sell Stop), a partir del quinto nivel de Rabbit, contando desde el precio. Un fuerte retroceso desde el quinto nivel conlleva pérdidas en un corredor, desde el séptimo nivel - dos, y así sucesivamente. Otras trayectorias aportan beneficios (de una a decenas de corredores) o cero. En Diablo una parte de las órdenes se cierran mediante Take Profit o Stop Loss, mientras que otra parte no tiene stops, formando bloqueos mutuos, que deben cerrarse manualmente al final del día o a la mañana siguiente. El precio no debe ir más allá de la parrilla de órdenes, por lo que el número de niveles debe tomarse con una reserva.

El plan consta de cuatro partes:

1) Empezando por el más cercano al nivel de precios del Conejo, se colocan las órdenes libres directas sobre los niveles del indicador en dicho orden: Buy Stop - Sell Limit - Buy Stop - Sell Limit... Y así sucesivamente. Lo mismo en la otra dirección: Sell Stop - Buy Limit - Sell Stop - Buy Limit... Estas órdenes no tienen ni Stop Loss, ni Take Profit, deben cerrarse manualmente al final del día.

2) En las mismas posiciones de las órdenes libres directas (Buy Stop y Sell Stop) se colocan las órdenes del mismo tipo, pero con Take Profit igual a 2xStep y Stop Loss = Step. Es decir, en el mismo lugar donde hay un Buy Stop libre, se coloca el segundo Buy Stop, pero con topes.

3) En todas las mismas posiciones de órdenes directas se colocan órdenes invertidas (Sell Limit y Buy Limit) con Take Profit y Stop Loss iguales a Step.

4) Sólo en los primeros niveles más cercanos al precio del Conejo se colocan órdenes invertidas Sell Limit y Buy Limit con Take Profit = 2xStep y Stop Loss = Step.

 
 
Hola
 

Es que... hay que hacer niveles virtuales y escribir una simulación con todas las transiciones posibles? Podría ser algo fascinante, pero sólo porque no se puede calcular el comportamiento de un sistema así.

JohKatana:
Hola
Bonjour
 

¡Bravo!

¡Es bueno ver y leer un nuevo tema "cargado"!

 
JohKatana:
Hola
Y adiós.
 
¡¡KU!! :)
 
granit77:
Y adiós.

¿Por qué?
 
sever30:
¿Por qué?
 
El de la derecha es más atractivo. :)
 
Swetten:
El de la derecha es más atractivo. :)
También es más joven. Quiero decir, él era...
Razón de la queja: