Phoenix está aqui! - página 13

 
AZBOfin:
Uau, isso fica mais confuso no minuto

proponho o seguinte:

1) todos os cálculos feitos são baseados na hora dos servidores e não na hora local

2) todos os horários de instalação na EA devem ser feitos em GMT

3) introdução de uma nova variável chamada ServerOffset

esta variável reflete uma compensação do fuso horário GMT para o fuso horário dos servidores

minha hora local não é relevante. hoje estou aqui no GMT-7, amanhã poderei ser GMT-4, na próxima semana no GMT+2

mas meu servidor comercial está sempre no mesmo lugar. e esta deve ser a base para todos os cálculos.

apenas meus 2 centavos - hendrick você é o homem, o que você acha?

AZBOfin

Eu estava pensando em algo assim...manter simples para o turno do tempo desafiado como eu...eu apoio o movimento para uma variável ServerOffset...eu gostaria de saber como fazer isso sozinho. Ainda não estou tão longe de codificar...a única coisa melhor seria ter o código detectado e ajustado automaticamente para que o usuário não tenha que estragar tudo.

 
Arquivos anexados:
 
Hendrick:
Preciso de alguma ajuda. Os sinais de COMPRA e VENDA da Phoenix são gerados pela seguinte peça de código:

MA =iMA(NULL,MA_Timeframe,MA_Length,0,MODE_SMA,PRICE_OPEN,0);

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

.

Hendrick, parece que ainda o sigo nestes quadros.

O Firebird v63g tinha um código de tendência nele, mas não foi usado. Eu o uso em um Firebird modificado e ele parece funcionar na interrupção de negócios durante as tendências.

Exterior int DVLimit = 10; // incluído por Renato

int TrendUp=0, Trenddown=0;

Duplo iFXAnalyser(int FXA_Period, int mode, int shift)// Função local feita pelo MrPip

if ( (iFXAnalyser(0,MODE_DIV,0)>DVLimit*Point && iFXAnalyser(0,MODE_SLOPE,0)>0 )) Trendup=1;

if ( (iFXAnalyser(0,MODE_DIV,0)<-DVLimit*Point && iFXAnalyser(0,MODE_SLOPE,0)<0 )) TrendDown=1;

Depois pur "&& TrendUp !=1" após DealTime===1 no gatilho SELL. E "&& TrendDown !=1" após DealTime===1 no gatilho BUY.

Outro método é colocar um fator de controle para RV! para regular a atividade comercial.

duplo fator externo RVI_Factor =50; // fator 0-200 adicionado ao valor RVI para regular a atividade comercial

Então, em SELL and BUY, aciona a mudança dos códigos RVI para "RVI(0+(RVI_Factor*Point))" respeitosamente.

Outro método é colocar um segundo envelope iMA maior para apertar a área de negociação ativa para incentivar a negociação durante períodos sem tendências.

duplo PorcentagemLimite externo = 0,15; // 2º envelope (banda) superior que interrompe a negociação.

int Safe2=0;

se ( myMA*(1+(PercentLimit/100))=Ask) Safe2=1;

Coloque "&& Safe2==1" em gatilhos de VENDA e COMPRA. Você pode anexar um 2º Indicador tipo Firebird definido como PercentLimit para ver a área de negociação ativa.

Eu uso um Firebird com todos os três filtros e ele tem uma média de ~50% menos negócios com ~90% de taxa de ganho. O problema que eu tenho é o efeito que as notícias têm sobre o mercado. Informei a este tópico, que as últimas 4 sextas-feiras tiveram um grande efeito negativo por causa do carry over das negociações abertas a partir de quinta-feira. Estou testando a eliminação de dias e/ou horários de negociação para ver se consigo administrar melhor as perdas do grupo histórico.

Hendrick, isto seria um desenvolvimento adicional do seu gráfico de resultados de tempo de negociação e seria muito trabalho. Mas, eu gostaria de ter um EA que seja programável de 6/24 horas de negociação e possa pesquisar seu histórico, determinar maus tempos de negociação e parar de negociar durante esses tempos, mantendo ao mesmo tempo um histórico de negociação fantasma para esses tempos. Quando os negócios fantasmas históricos são novamente lucrativos, estes tempos são restabelecidos como bons tempos de negociação. Pensando bem, mas vou tentar trabalhar nisto ou ver se um codificador pode fazer isto funcionar. Neste momento, uso seu tipo de gráfico e tento fazer isto manualmente.

Demasiada digitação. Bem, isto é o que acontece quando se bebe vinho enquanto se está em um fio. Se tudo isso não fizer sentido, a culpa é do vinho.

Wackena

 
Hendrick:
Preciso de alguma ajuda. Os sinais de COMPRA e VENDA da Phoenix são gerados pelo seguinte trecho de código:

MA =iMA(NULL,MA_Timeframe,MA_Length,0,MODE_SMA,PRICE_OPEN,0);

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

Alguém na linha do Firebird sugeriu a seguinte mudança:

ao invés da sua:

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

Eles o mudaram para:

RVI=iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,0)-iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,1);

Eles alegaram que ele dava menos sinais falsos. Será que isso ajuda?

 

Sinal adicional

Olá Hendrick,

quando me preparo para negociar, sempre olho para uma TF mais alta para ver a tendência se formando.

Talvez acrescentar um sinal adicional à Phoenix nos mesmos 15 minutos que o TF é para limitar?

Por favor, dê uma olhada no indicador Multi-Time-Frame XO.

Você pode tê-lo ajustado para qualquer TF que desejar, mas para a Phoenix trabalhando na M15 I

teria sido ajustado para H4 ou talvez até D1.

Talvez seja mais flexível ter seu ajuste TF no painel de entradas do EA para que possa ser otimizado ao longo do caminho.

Veja imagem atestada com o indicador carregado duas vezes; uma para M15 e a outra para H4.

Cumprimentos,

Herbert

PS, eu mudei o iRVI do Firebird para iMACD como Holyguy7 lembrou hoje, mas apesar de ter aumentado a velocidade do Firebird nos testes secundários como um efeito colateral , eu tinha a impressão de que ele não removeu os sinais falsos.

Arquivos anexados:
 
holyguy7:
Alguém na linha do Firebird sugeriu a seguinte mudança:

em vez do seu:

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

Eles o mudaram para:

RVI=iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,0)-iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,1);

Eles alegaram que deu menos sinais falsos. Será que isso ajuda?

Hey Holyguy,

Para Phoenix versão 2 estou usando agora um SMA 120 e um SMA 12 em um gráfico de 15M. O principal objetivo é evitar que a Phoenix esteja colocando as negociações contra a tendência. Até agora, parece funcionar bem.

 
HerbertH:
Oi, Hendrick,

quando me preparo para negociar, sempre olho para uma TF mais alta para ver a tendência se formando.

Talvez acrescentar um sinal adicional à Phoenix nos mesmos 15 minutos que o TF é para limitar?

Por favor, dê uma olhada no indicador Multi-Time-Frame XO.

Você pode tê-lo ajustado para qualquer TF que desejar, mas para a Phoenix trabalhando na M15 I

teria sido ajustado para H4 ou talvez até D1.

Talvez seja mais flexível ter seu ajuste TF no painel de entradas do EA para que possa ser otimizado ao longo do caminho.

Veja imagem atestada com o indicador carregado duas vezes; uma para M15 e a outra para H4.

Cumprimentos,

Herbert

PS, eu mudei o iRVI do Firebird para iMACD como Holyguy7 lembrou hoje, mas apesar de ter aumentado a velocidade do Firebird nos testes secundários como um efeito colateral , eu tinha a impressão de que ele não removeu os sinais falsos.

Hey Herberth,

Veja minha resposta anterior a Holyguy.

 

Fênix v2

Phoenix versão 2.

Mudanças:

eliminou a divergência (acho que ela não tem utilidade)

removido Surf-orders (o desempenho não foi bom)

substituiu RVI por este pedaço de código:

AdMA=(iMA(NULL,PERIOD_M15,120,0,0,3,1) - iMA(NULL,PERIOD_M15,12,0,0,3,1));

if(Point==0.0001) {AdMA=AdMA*1000;}

if(Point==0.01) {AdMA=AdMA*10;}

if(AdMA > 1)

{

AdSELLSignal = verdadeiro;

SortOrder = "SELLSignal";

}

if(AdMA < -1)

{

AdBUYSignal = verdadeiro;

SortOrder = "BUYSignal";

}

if((AdMA > -1) && (AdMA < 1))

{

AdBUYSELLSignal = verdadeiro;

SortOrder = "BUYSELLSignal";

}

O objetivo deste código é evitar que a Phoenix esteja colocando as negociações contra a tendência.

Para testes:

Use as configurações do arquivo. TF=15. Todos os pares disponíveis.

Arquivos anexados:
 
Hendrick:
Phoenix versão 2.

Mudanças:

eliminada a divergência (acho que é inútil)

removido Surf-orders (o desempenho não foi bom)

substituiu RVI por este pedaço de código:

AdMA=(iMA(NULL,PERÍODO_M15,120,0,0,0,3,1) - iMA(NULL,PERÍODO_M15,12,0,0,0,3,1)));

if(Point==0.0001) {AdMA=AdMA*1000;}

if(Point==0.01) {AdMA=AdMA*10;}

if(AdMA > 1)

{

AdSELLSignal = verdadeiro;

SortOrder = "SELLSignal";

}

if(AdMA < -1)

{

AdBUYSignal = verdadeiro;

SortOrder = "BUYSignal";

}

if((AdMA > -1) && (AdMA < 1))

{

AdBUYSELLSignal = verdadeiro;

SortOrder = "BUYSELLSignal";

}

O objetivo deste código é evitar que a Phoenix esteja colocando as negociações contra a tendência.

Para testes:

Use as configurações do arquivo. TF=15. Todos os pares disponíveis.

Obrigado, colocar em gráficos.

você está fazendo algum backtest?

 
Yauhen:
Obrigado, coloque nos gráficos. Você está fazendo algum teste de retaguarda?

Hi,

Sem retrocesso, apenas testes para frente.

Razão: