Diablo - página 21

 
JonKatana: Diablo v01.03.12

O negociante inexperiente perde porque não se fecha em uma perda. Um comerciante experiente perde porque não tira lucros. É por isso que no esquema anterior do Diablo para ordens diretas (Buy Stop e Sell Stop) adicionamos níveis de Take Profit no tamanho de dois corredores entre ordens:

É isso aí, a morte ao forex. Inquivocamente.
 
JonKatana:

.. Diablo ...

Como quer que você chame o navio...)
 
Mathemat:
É isso aí, a morte ao forex. Inquivocamente.
Isso é compreensível... :-), mas tenho que entregar a John - sua capacidade de "segurar o soco" realmente não conhece limites... Não é mesmo?
 
Eu não estou discutindo. E eu parei de tentar convencer há muito tempo.
 
Mathemat:
Eu não estou discutindo. E eu parei de tentar convencer há muito tempo.

Pronto! :-) Então eles querem ser enganados, que sejam enganados...

Até ver relatórios da vida real (pelo menos micro)... não vou, nem mesmo fazer fila, considerar estas coisas para mim mesmo...

 
É um bom conselheiro?
 
vsa:
É um bom conselheiro?
É fantástico! Veja como os coryphaei estão elogiando isso!
 
Quem são os coryphaei? Se eles o elogiam, é um bom conselheiro?
 
Isso foi sarcasmo. Há anos vem ocorrendo um debate incessante sobre os sistemas comerciais propostos por John Katana.
Minha opinião pessoal sobre eles é que eles são tão inevitáveis quanto o nascer do sol.
 

Diablo v08.03.12

Mudanças:

+ agora não há necessidade de especificar o primeiro nível a ser definido - ele é tomado automaticamente à metade da distância do corredor entre os pedidos;

+ O valor do primeiro nível como referência ao adicionar ou restaurar os pedidos é colocado no comentário aos pedidos.

// Diablo v08.03.12
#property copyright "Jon Katana"
#property show_inputs
extern int Step=0,Spread=0,Levels=0;
extern double Vol=0;
int start()
{double Up=Bid+0.5*Step*Point;
string C=DoubleToStr(Up,5);
for(int i=0;i<(Levels);i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(i*Step+Spread)*Point,0,Up+(i-1)*Step*Point,Up+(i+2)*Step*Point,C);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Up-(i+1)*Step*Point,0,Up-(i*Step-Spread)*Point,Up-((i+3)*Step-Spread)*Point,C);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+i*Step*Point,0,Up+((i+1)*Step+Spread)*Point,Up-((i+1)*Step-Spread)*Point,C);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Up-((i+1)*Step-Spread)*Point,0,Up-(i+2)*Step*Point,Up+i*Step*Point,C);}
return(0);}

Além disso, há alguns scripts auxiliares para colocar pedidos em uma direção (ao adicionar ou restaurar os pedidos):

// Diablo UP v08.03.12
#property copyright "Jon Katana"
#property show_inputs
extern int Step=0,Spread=0,Levels=0,Start_Level=0;
extern double Up=0,Vol=0;
int start()
{string C=DoubleToStr(Up,5);
for(int i=Start_Level;i<(Levels);i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(i*Step+Spread)*Point,0,Up+(i-1)*Step*Point,Up+(i+2)*Step*Point,C);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+i*Step*Point,0,Up+((i+1)*Step+Spread)*Point,Up-((i+1)*Step-Spread)*Point,C);}
return(0);}
// Diablo DN v08.03.12
#property copyright "Jon Katana"
#property show_inputs
extern int Step=0,Spread=0,Levels=0,Start_Level=0;
extern double Up=0,Vol=0;
int start()
{string C=DoubleToStr(Up,5);
for(int i=Start_Level;i<(Levels);i++)
{OrderSend(Symbol(),OP_SELLSTOP,Vol,Up-(i+1)*Step*Point,0,Up-(i*Step-Spread)*Point,Up-((i+3)*Step-Spread)*Point,C);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Up-((i+1)*Step-Spread)*Point,0,Up-(i+2)*Step*Point,Up+i*Step*Point,C);}
return(0);}

Em roteiros auxiliares:

Acima - nível de referência a partir do qual os pedidos foram inicialmente feitos;

Start_Level - nível em que os pedidos são inicialmente colocados.