Diablo

 

Proponho um esquema universal de colocação de pedidos utilizando níveis de coelhos. Roteiro para colocação automática de pedidos de acordo com 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);}
Variáveis:

Acima - valor do nível de coelho mais próximo do preço (por exemplo, 1,3040);

Down - valor do nível do coelho mais próximo do preço (por exemplo, 1.3000);

Níveis - número de níveis de coelhos, sobre os quais as ordens de um tipo serão expostas (por exemplo 5 - 10 níveis acima e abaixo do preço estarão envolvidos);

Passo - passo entre os níveis de coelho em pontos (por exemplo 40);

Vol - volume de um pedido (por exemplo, 0,01);

Spread - spread (por exemplo, 2).

Diablo em qualquer trajetória do movimento de preços por um dia fecha em lucro (de um a vários corredores entre níveis Coelho), ou em zero (menos spreads). O fechamento com menos acontece somente em rollbacks fortes (mais de um corredor) a partir dos níveis de pedidos gratuitos diretos (Buy Stop ou Sell Stop), a partir do quinto nível de coelho, contando a partir do preço. Um forte recuo do quinto nível traz perdas em um corredor, do sétimo nível - dois, e assim por diante. Outras trajetórias trazem lucro (de um a dezenas de corredores) ou zero. Em Diablo uma parte dos pedidos é fechada por Take Profit ou Stop Loss, enquanto outra parte não tem paradas, formando fechaduras mútuas, que precisam ser fechadas manualmente no final do dia ou na manhã seguinte. O preço não deve ir além da grade de ordens, portanto, o número de níveis deve ser tomado com uma reserva.

O esquema é composto de quatro partes:

1) A partir do nível de preço mais próximo ao do coelho, os pedidos gratuitos diretos nos níveis do indicador são colocados em tal ordem: Buy Stop - Sell Limit - Buy Stop - Sell Limit... E assim por diante. O mesmo na outra direção: Sell Stop - Buy Limit - Sell Stop - Buy Limit... Estas ordens não têm nem Stop Loss, nem Take Profit, elas devem ser fechadas manualmente no final do dia.

2) Nas mesmas posições das ordens livres diretas (Buy Stop e Sell Stop) as ordens do mesmo tipo são colocadas, mas com Take Profit igual a 2xStep e Stop Loss = Step. Isto é, no mesmo lugar onde há uma Buy Stop gratuita, a segunda Buy Stop é colocada, mas com paradas.

3) Em todas as mesmas posições de ordens diretas são colocadas ordens invertidas (Sell Limit e Buy Limit) com Take Profit e Stop Loss igual a Step.

4) Somente nos primeiros níveis mais próximos ao preço são colocadas ordens invertidas Sell Limit e Buy Limit com Take Profit = 2xStep e Stop Loss = Step.

 
 
Olá
 

É que... você tem que fazer níveis virtuais e escrever uma simulação com todas as transições possíveis? Pode ser algo fascinante - mas apenas porque não se pode calcular o comportamento de tal sistema.

JohKatana:
Hi
Bonjour
 

Bravo!

É bom ver e ler um novo tópico 'carregado'!

 
JohKatana:
Olá
E adeus.
 
KU!!! :)
 
granit77:
E adeus.

Por que isso acontece?
 
sever30:
Por que isso acontece?
 
O da direita é mais atraente. :)
 
Swetten:
O da direita é mais atraente. :)
Ele também é mais jovem. Quero dizer, ele estava...
Razão: