BrainSystem: Desenvolvimento e comércio de sistemas comerciais - página 15

 
jpsdyb:
Eu notei 1 minuto e 0 segundos para o fim da barra.

O que você está usando para mostrar estas informações?

Obrigado.

nada é apenas um indicador que mostra o tempo restante para fechar o bar.aqui está o indicador que você pode usar.algumas estratégias como a CCI da Woodi usam o tempo restante para fechar o bar para abrir um pedido.

ok?

Arquivos anexados:
 

Kamyar, obrigado a um milhão!!

também qualquer um sabe como adicionar alerta ao BrainTrendSig2? Eu tentei modificar o script e o metaeditor compilar o teste 0 erros e 0 avisos. Mas ainda não está funcionando, e estou confuso quanto ao motivo. Sei que devo modificar os alertas de habilitação para 1, mas é o próprio indicador como o problema. Ele não carrega corretamente.

Obrigado

//+------------------------------------------------------------------+

//| BrainTrend2.mq4 |

//| www.forex-tsd.com |

//| Nick Bilak |

//+------------------------------------------------------------------+

#property copyright "BrainTrading Inc."

#property link "www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_color2 Red

//---- input parameters

extern int NumBars=500;

extern int EnableAlerts=0;

extern int SignalID=0;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double spread;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_ARROW);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexArrow(0,233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexArrow(1,234);

spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int counted_bars=IndicatorCounted();

//----

int artp=7;

double dartp=7.0;

double cecf=0.7;

int satb=0;

int Shift=0;

bool river=True;

double Emaxtra=0;

double widcha=0;

double TR=0;

double Values[100];

int glava=0;

double ATR=0;

int J=0;

double Weight=0;

double r=0;

double r1=0;

int p=0;

int Curr=0;

double Range1=0;

double s=2;

double f=10;

double val1=0;

double val2=0;

double h11=0;

double h12=0;

double h13=0;

double const=0;

double orig=0;

double st=0;

double h2=0;

double h1=0;

double h10=0;

double sxs=0;

double sms=0;

double temp=0;

double h5=0;

double r1s=0;

double r2s=0;

double r3s=0;

double r4s=0;

double pt=0;

double pts=0;

double r2=0;

double r3=0;

double r4=0;

double tt=0;

double tsig=0;

if( Bars < NumBars) satb = Bars; else satb = NumBars;

if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;

Emaxtra = Close[satb - 2];

Shift=satb-3;

while(Shift>=0) {

TR = spread+ High[Shift] - Low[Shift];

if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);

if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR = MathAbs(Low[Shift] - Close[Shift + 1]);

if (Shift == satb - 3 ) {

for(J=0;Shift<=artp-1;J++) {

Values[J] = TR;

}

}

Values[glava] = TR;

ATR = 0;

Weight = artp;

Curr = glava;

for (J = 0;J<=artp - 1;J++) {

ATR += Values[Curr] * Weight;

Weight -= 1.0;

Curr--;

if (Curr == -1) Curr = artp - 1;

}

ATR = 2.0 * ATR / (dartp * (dartp + 1.0));

glava++;

if (glava == artp) glava = 0;

widcha = cecf * ATR;

if (river && Low[Shift] < Emaxtra - widcha) {

river = False;

Emaxtra = spread+ High[Shift];

}

if (!river && spread+ High[Shift] > Emaxtra + widcha) {

river = True;

Emaxtra = Low[Shift];

}

if (river && Low[Shift] > Emaxtra) {

Emaxtra = Low[Shift];

}

if (!river && spread+ High[Shift] < Emaxtra ) {

Emaxtra = spread+ High[Shift];

}

Range1 = iATR(NULL,0,10,Shift);

val1 = 0;

val2 = 0;

if (river) {

if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0;

if (p == 1) r1 = -1.0;

if (r1 > 0) {

val1 = r1;

val2 = 0;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer1[Shift]=val1;

p = 1;

} else {

if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;

if (p == 2) r1 = -1.0;

if (r1 > 0) {

val1 = 0;

val2 = r1;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer2[Shift]=val2;

p = 2;

Shift--;

}

}

if (EnableAlerts == 1)

{

if (val1 > 0 && tsig != 1)

{

tsig = 1;

// a1 = FileOpen("alert1" + SignalID,";");

Alert("BrainTrend2Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

//a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

// FileClose(a1);

}

if (val2 > 0 && tsig != 2)

{

tsig = 2;

Alert("BrainTrend2Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//a1 = FileOpen("alert1" + SignalID,";");

// a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//FileClose(a1);

}

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

Ainda tenho a esperança de que teremos EA para este sistema para alarme, confirmação e para tudo (não para negociação). Neste caso, será muito fácil comercializar usando este sistema. Acho que o teremos em breve.

Mas agora estou pensando em como usar este sistema sem confirmação M15 e em um prazo menor do que H1.

Neste momento estou olhando para os gráficos M30 e espero que ele funcione.

De qualquer forma, farei um teste a partir de amanhã. Mas sinto que será necessário mudar algumas regras para esta estratégia comercial.

Arquivos anexados:
1_23.gif  30 kb
2_16.gif  31 kb
3_6.gif  32 kb
4_4.gif  30 kb
 

Por favor, encontre os indicadores e modelo que eu quero avaliar.

Ainda espero encontrar algumas regras para este sistema de negociação no prazo M15 ou M30.

Arquivos anexados:
indicators.zip  16 kb
bt7_m30.zip  4 kb
 

Bem.

Só quero ver como funciona.

As regras nº 1.

Entre em BT1sig e BT2 sig. Não deve estar na mesma barra, especialmente. E deve ser confirmado pelo SAR e pelo indicador I-XO. Podemos esperar mais uma barra após o sinal para a confirmação da I-XO. BT1sig e BT2sig devem ser confirmados pelo SAR nas mesmas barras com os sinais. Por exemplo, se temos sinal de compra do BT1sig (por exemplo), estamos procurando o SAR. Se a tendência for alta para SAR na mesma barra com o sinal, estamos esperando pelo BT2sig (por exemplo). O segundo sinal também deve ser confirmado pelo SAR. Se tudo estiver bem, estamos aguardando a confirmação por I-XO (não mais que 1 barra após o último sinal). É o caso mais difícil. É claro que se tivermos tudo (dois sinais e duas confirmações na mesma barra), é perfeito.

Estamos levando em conta apenas as barras completas.

O caso mais difícil que eu já descrevi e você pode vê-lo a partir da imagem 1.

A saída é em SAR muito simples (imagem 2).

É uma regra muito simples e flexível.

Por que regras #1?

Porque não tenho certeza de que finalmente teremos estas regras. Todos podem sugerir uma outra regra, ou eu posso mudar esta.

Arquivos anexados:
2_17.gif  28 kb
1_24.gif  28 kb
 

A partir da manhã de sexta-feira, devemos ter o seguinte:

EURUSD.

comprar 1.2127 às 19:30 (20/01) e sair 1.2233 às 06:30 (23/01): +106 p.

comprar 1.2259 às 10:30 (23/01) e saída 1.2285 (o pedido ainda pode ser aberto): +26 p.

USDCHF.

vender 1.2820 às 14:30 (20/01) e sair 1.2666 às 07:30 (23/01): +154 p.

venda 1,2628 às 10:30 (23/01) e saída 1,2233 (o pedido ainda pode ser aberto): +54 p.

GBPUSD.

comprar 1,7583 às 10:30 (20/01) e sair 1,7794 às 05:00 (23/01): +214 p.

vender 1,7763 às 08:30 (23/01) e sair 1,7798 às 10:30 (23/01): -35 p.

comprar 1,7798 às 10:30 (23/01) e sair 1,7866 (o pedido ainda pode ser aberto): +68 p.

USDJPY.

comprar 155,32 às 16:30 (20/01) e sair 155,14 às 00:00 (23/01): -18 p.

vender 114,79 às 02:00 (23/01) e sair 114,78 às 10:00 (23/01): +1 p.

venda 114,30 às 10:30 (23/01) e saída 114,62 às 16:00 (23/01): -32 p.

538 p. no total.

Acho que esta regra nº 1 é muito flexível.

Talvez seja.

 

Serei muito bom se alguém estimar uma outra regra (com outro indicador possível, se houver). Mas acho que as regras devem ser realistas. Por exemplo, contei o lucro sobre os dados históricos (isso não é bom, é claro, porque deveria ser um teste de teste), mas contei como um robô (como um EA, por exemplo) seguindo totalmente as regras. Usei os dados históricos apenas para ter certeza de que funcionavam.

 

oi newdigital

obrigado por seu esforço.eu tenho algumas perguntas

1.qual é a função do indicador estocástico em seu sistema?

2.devemos obter primeiro o bt1signal e depois o bt2signal ou ele pode estar em qualquer tipo?

3.quais são exatamente as zonas preenchidas.eu acho que você quer dizer que não devemos negociar nas zonas.ok?

obrigado

 

você mencionou que os sinais bt não deveriam estar no mesmo bar.na medida em que eu o obtive, não deveríamos negociar neste caso.você o descreveria.estou certo?

 
newdigital:
Serei muito bom se alguém estimar uma outra regra (com outro indicador possível, se houver). Mas eu acho que as regras devem ser realistas. Por exemplo, contei o lucro sobre os dados históricos (isso não é bom, é claro, porque deveria ser um teste antecipado), mas contei como um robô (como um EA, por exemplo) seguindo totalmente as regras. Usei os dados históricos apenas para ter certeza de que funcionavam.

Atualmente estou testando uma nova estratégia sobre Eur/Usd 1HR usando Braintrend2, Estochastics, e 2 indicadores de cor LSMA. Até agora, passando pelos gráficos históricos, os resultados parecem valer muito a pena. As regras são bastante simples de usar. Se tivesse apenas BraintrendSig2 com alertas, eu poderia fazer testes mais freqüentes. Continuarei testando a estratégia e publicarei os resultados em breve.

Razão: