Idéias em bruto - página 9

 

Alguns indicadores - modificados

Hi,

a_ZZ e a_ZZInd - "High_Low v2 (ZigZag)" e outros(que eu não lembro agora,&))

aDin - "ang_PR (Din)-v2"

O que você acha?

Abraço.

 

CruzMACD

Olá a todos,

Tenho uma idéia para EA usando MACD 13,32,48 e PSAR Passo 0,005 Max.0,05 ou 0,006 e 0,06 H1 TF

Ponto de entrada quando MACD Cross (Barra de fechamento)e saída PSAR ou parada de trilha opcional.

Cumprimentos

MFX

Arquivos anexados:
mc.gif  16 kb
 
 

A melhor estratégia diária...

Oi, pessoal,

Estou feliz por estar aqui entre vocês novamente. Estive ausente por alguns dias. De qualquer forma, gostaria de perguntar qual é a melhor estratégia diária e de 4 horas que vocês encontraram, usada talvez...

Obrigado.

REGISTRARDS

 
Arquivos anexados:
1.bmp  1318 kb
 

codersguru: você poderia trocar o EMA por uma média móvel exponencial tripla?

em EMACROSS EA.

é melhor que a EMA.

obrigado.

 

Melhor sistema para pares cruzados

Hi

Encontrei um sistema muito bom que é muito bom para o comércio de pares cruzados.

É muito simples e baseado em SMA e EMA, mas muito eficaz. Se alguém puder desenvolver um EA para isto, podemos testar.

2 tipos de média móvel da barra anterior serão usados

6 ema,12 sma

A tendência é para baixo se 6ema<12ma

e Tendência é para cima se 6ema>12ma

sinal de compra ou venda

Venda: se a tendência for para baixo e vender(licitar) H

Ou

Comprar: se a tendência for para cima e comprar(perguntar) L[Lowest(6,0)]

saída:

se a tendência é para baixo, curto, L[Lowest(6,0)]

se a tendência for para cima, longo, H

reverso:

a tendência é para cima, curta, L[mais baixa(6,0)]

tendência é baixa, longa, H

------------------------------------------

Se qualquer programmar pode fazer indicador ou EA para este sistema. todos nós podemos ver seu potencial.

 

Sinto muito, mas não entendi as regras. Por favor, pode elaborar ou possivelmente usar alguns valores numéricos para explicar.

Obrigado,

Maji

 

Breakout EA

Olá especialistas,

Gostaria de chamar sua atenção para o seguinte fio condutor, especialmente para a única discussão realizada pela fxengines. Aqui está o link: http://www.strategybuilderfx.com/forums/showthread.php?t=11530&page=4&pp

Mais importante, ele mencionou dois sistemas em suas discussões que eu estou copiando e colando aqui -

Exemplo 1: O sinal de entrada é um intervalo de 60 minutos de 15 sobre o máximo do último período, limite de saída de 30. A probabilidade no relatório de disparo de GBP 60 MIN 15 é de 85,7%. Este teste rendeu 84%, e ganhou dinheiro.

"Este motor teve um desempenho líquido de 1298 pips com uma taxa de sucesso de 84%. Se todas as negociações tivessem saído em alta, o motor teria valido 2521 pips. Entretanto, uma média de 1,97 pips por negociação foi "devolvida" da alta ao ponto em que se saiu. O drawdown máximo para este motor foi de 454 pips, com 3 negócios perdidos durante a pior série de derrotas e 46 vencedores durante a melhor série de vitórias".

EXEMPLO 2: O sinal de entrada é uma quebra de 60 minutos de 25 sobre a máxima do último período, limite de saída de 30. A probabilidade no relatório de disparo de GBP 60 MIN 25 é de 95,2%. Este teste rendeu 84%, e ganhou dinheiro.

"Este motor teve um desempenho líquido de 941 pips com uma taxa de sucesso de 84%. Se todas as negociações tivessem saído em alta, o motor teria valido 1832 pips. Entretanto, uma média de 2,02 pips por negociação foi "devolvida" da alta até o ponto em que se saiu. O drawdown máximo para este motor foi de 452 pips, com 3 negócios perdidos durante a pior série de derrotas e 25 vencedores durante a melhor série de vitórias".

Alguém escreveu um EA para fazer um backtest e verificar esta afirmação? Eu tentei, mas não consegui duplicar seus resultados ou mesmo chegar perto, mas não sou especialista. Espero que um dos gurus aqui possa fazer isso.

Obrigado,

Maji

 

Precisa de ajuda para codificar a EA

Olá, eu baixei a seguinte EA e parece funcionar bastante bem. Entretanto, não se aplica Trailingstop, takeprofit e stoploss. alguém poderia, por favor, corrigir o código. Qualquer ajuda é muito apreciada. muito obrigado

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

//| SMC Autotrader Momentum.mq4 |

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

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

Lotes duplos externos = 1;

duplo externo InitialStop = 30;

Duplo TrailingStop externo = 20;

bool TakeProfitMode externo = Verdadeiro;

extern int TakeProfit = 10;

bool StopLossMode externo = Verdadeiro;

stopLoss int externo = 25;

datatime BarTime;

//################################################## ###################

int init()

{

//----

//----

retorno(0);

}

//################################################## ###################

int start()

{

int cnt,total,ticket,MinDist,tmp;

duplo Spread;

//################################################## ##########################

if(Bars<100){

Impressão ("barras com menos de 100");

retornar(0);

}

//sair se não for novo bar

if(BarTime == Tempo[0]) {retorno(0);}

//nova barra, atualizar bartime

BarTime = Tempo[0];

//################################################## #######################################

//~~~~~~~~~~~~~~~~Configuração diversa~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);

Spread=(Ask-Bid);

//################################################## #######################################

duplo SMAP1,SMAP2,MMAP1,MMAP2,LMAP1,LMAP2;

SMAP1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1);

SMAP2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2);

MMAP1=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1); MMAP1=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1);

MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2); MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2);

LMAP1=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,1); LMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2);

LMAP2=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,2);

//################################################## ######################################

//################## ENCERRAMENTO DO PEDIDO ################################################## #

// Se os pedidos estiverem em vigor, verifique o fechamento em relação aos técnicos LONG & SHORT

//CLOSE LONG LONG

total=OrdensTotal();

if(total>0)

{

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if(SMAP2 > MMAP2 && SMAP1 < MMAP2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // fechar posição LONG

}}

// FECHAR ENTRADAS CURTAS:

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // verificar o símbolo

{

if(SMAP2 MMAP2)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // fechar posição SHORT

}}

} // para retorno de laço

} // fechar 1º se

//################################################## ############################

///################## Ajuste de PEDIDO PARA PEDIDO #######################

//PARADA DE TRILHOS: LONG

if(0===1) //Isso é usado para ligar e desligar a parada de arrasto

{

total=OrdensTotal();

if(total>0)

{

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()

&&

Bid-OrderOpenPrice()> (Point*TrailingStop)

&&

OrderStopLoss()<Bid-(Point*TrailingStop)

)

{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),1,White);

retornar(0);}

}}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//PARADA DE TRILHOS: CURTO

total=OrdensTotal();

if(total>0)

{

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_SELL && OrderSymbol()==Symbol()

&&

OrderOpenPrice()-Ask > (Ponto*TrailingStop)

&&

OrderStopLoss() > Ask+(Point*TrailingStop)

)

{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(P oint*TrailingStop),OrderTakeProfit(),0,Yellow);

retornar(0);}

}}

} // suporte final para interruptor on/off

//################################################## ########################################

//~~~~~~~~~~~ FIM DO PEDIDO Rotinas de fechamento e mudanças de Stoploss ~~~~~~~~~~~~~~~~~~~~~~~~~~~

//################################################## ########################################

//~~~~~~~~~~~~START of NEW ORDERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//######################### NOVAS POSIÇÕES ? ######################################

//Possivelmente adicionar um temporizador para parar várias entradas dentro do Período

// Margem de verificação disponível

// SOMENTE UM PEDIDO por SÍMBOLO

// Voltar ao redor dos pedidos para verificar o símbolo não aparece mais de uma vez

// Verifique o tempo decorrido desde a última entrada para parar várias entradas na mesma barra

se (0===1) // mudar para ativar ou desativar a verificação do histórico

{

total=HistóriaTotal();

if(total>0)

{

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY); //Needs to be next day not as below

if(OrderSymbol()==Symbol()&& CurTime()- OrderCloseTime() < (Period() * 60 )

)

{

retorno(0);

}}}}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

total=OrdensTotal();

if(total>0)

{

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol()) return(0);

}

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

if(AccountFreeMargin()<(1000*Lots))

{Imprimir("Nós não temos dinheiro. Free Margin = ", AccountFreeMargin());

return(0);}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//################################################## #######################################

// REGRAS DE ESTRUTURA: LONG

if(SMAP2 MMAP2)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "M axMin Long",16384,0,Orange); //Bid-(Point*(MinDist+2))

if(bilhete>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Imprimir("Pedido aberto : ",OrderOpenPrice());

}

else Print("Erro na abertura do pedido de compra : ",GetLastError());

retornar(0);

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// REGRAS DE ESTRUTURA: SHORT //################################

if(SMAP2 > MMAP2 && SMAP1 < MMAP2)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," MaxMin Short",16384,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Imprimir("Pedido de venda aberto : ",OrderOpenPrice());

}

else Print("Erro na abertura do pedido de VENDA : ",GetLastError());

retornar(0);

}

//################################################## ##################################

//############ Fim do PROGRAMA #########################

retorno(0);

}

Razão: