BrainSystem: Desenvolvimento e comércio de sistemas comerciais - página 15
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
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?
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.
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.
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.
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?
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.