Como codificar? - página 64

 

Muito obrigado por sua resposta. Não é um problema com argumentos, o cálculo no laço está correto. Penso que o problema está na segunda chamada ao iMAonArray fora do laço em função.

Cumprimentos

 

Melhor maneira de adicionar MaxBarsToCount (Histórico) ao limite

quando limitamos MaxBarsToCount (Histórico) às vezes é necessário acrescentar Correção, etc.

a melhor maneira (mais segura, fácil, universal) existe?

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

como aqui, temos o leve smothing de 4 stoch de pescador:

----------

int start()

{

int counted_bars=IndicatorCounted();

//---- verificação de possíveis erros

if(counted_bars<0) return(-1);

int limit=Bars-counted_bars;

if(limit>maxbars)limit=maxbars;

if(limit>Bars-lenth-1)limit=Bars-lenth-1;

//----

para (int shift = limite; shift>=0;shift--)

{

AuxBuffer[shift]=(iStochastic(NULL,0,lenth,2,1,MODE_SMA,0,MODE_MAIN,shift)/100-0.5)

+0.5*AuxBuffer[shift+1];

FishBuffer[shift]= 0,25* MathLog((1+AuxBuffer[shift])/(1-AuxBuffer[shift]))+

0.5*FishBuffer[shift+1];

SignalBuffer[shift]=FishBuffer[shift+1];

}

//----

retorno(0);

}

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

para limite de pesca f-la:

limite de int;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limite; i>=0; i--)

{

....

para Stoch:

int start()

{

int i,k;

int counted_bars=IndicatorCounted();

preço duplo;

//----

if(Bars<=draw_begin2) return(0);

//---- inicial zero

if(counted_bars<1)

{

for(i=1;i<=draw_begin1;i++) MainBuffer=0;

for(i=1;i<=draw_begin2;i++) SignalBuffer=0;

}

//---- contagem mínima

i=Bars-KPeriod;

if(counted_bars>KPeriod) i=Bars-counted_bars-1;

while(i>=0)

{

duplo min=1000000;

k=i+KPeriod-1;

while(k>==i)

{

price=Low[k];

if(min>preço) min=preço;

k--;

}

LowesBuffer=min;

i--;

}

....

p.s. em indicador anexo, baseado em transformador de pescador limpo e Stoch; MaxBars precisa ser um pouco endireitado... (quando MaxBars estiver fora - sem problemas)

Arquivos anexados:
 

Hi,

Muito obrigado a todos vocês. Está funcionando bem agora e apenas um pedido por bar está aberto. O que é bom com um EA como este é que podemos usar a opção"Preço aberto apenas" para fazer o backtesting, que é mais rápido do que o "por carrapato".

 
Michel:
Olá Omelette, você sabe que a BT tem um problema em olhar na história: ela olha para a história real, não para a da BT. Perguntei à Metaquote alguns meses atrás sobre este bug, mas eles não tinham nenhuma resposta.... Talvez agora ele esteja corrigido...

Michel, obrigado pelo aviso. Uau, eu não sabia disso - e eu classificaria isso como um enorme insecto!!!

Para verificar isto (com o MT 208), usei a informação OrdersHistoryTotal() para decidir a direção do comércio em um martingaler, e usei 'meios convencionais' em outra versão - a curva de equidade para ambos 'deveriam' ser idênticos. Isto foi o que eu achei.........

Também acabei de verificar com o mais recente Metatrader e o bug ainda está lá - inacreditável.....

 

Precisa do Código MQL

Olá,

Preciso de poucos códigos que eu possa integrar em uma EA.

1) Preciso colocar uma restrição ao meu EA dessa forma, ele não deve abrir nenhuma posição entre 14:00 e 17:00 horas. Como posso fazer isso? por favor, me dê este código simples e diga onde posso colocá-lo no EA.

2) Não quero colocar SL na EA para abrir posição por causa da caça SL por corretor. Portanto, preciso colocar um cheque na EA que "se o lucro total na posição aberta for +20 pontos, então feche a posição".

Serei muito grato aos apoiadores que sempre apoiam outras pessoas!

Cumprimentos,

Kashif.

 
oilfxpro:
.....Can EA pode olhar as taxas atuais e históricas de swaps?OILFXPRO

Receio que não.

PS - minha resposta parece enganosa. Eu quis dizer que você não pode recuperar taxas de swap históricas - não há problema em obter taxas atuais...

 

vários pedidos de uma só vez

Hi,

Quero programar em um Expert Advisor o seguinte :

Eu gostaria de abrir várias ordens ao mesmo tempo (3-6 ordens)

1. Ordem : Volume; T/P; S/L; T/S

.

.

.

5. . 5. Ordem : Volume; T/P; S/L; T/S

Pode me ajudar ?

Obrigado

derumuro

 

Preciso aprender alguma coisa.

Olá a todos

Eu preciso de uma ajuda de programação para um código simples, que é:

Se o preço de mercado > valor MA por delta pips abrir compra.

Se o preço de mercado < valor de MA por delta pips abrir venda.

Com TP SL e TS. Qualquer programador especializado pode me ensinar como escrever o código?

Obrigado.

 

O que eu preciso fazer para alterar este código para que as ordens só sejam abertas quando os três indicadores estiverem em sincronia, seja a tendência de alta (Azul) ou a de baixa (Vermelho) manualmente, isto funciona bem e é suficientemente simples para que eu possa seguir a LOL.

Eu usei uma velha ea como modelo e tentei adicionar a indis para criar os sinais corretos. no momento em que as ordens são abertas com a TM ou a HAS.

Tenho anexado as ea e desempenho nos últimos dois dias sei que não significa agachamento, mas tem potencial. IMO

Alguém poderia por favor me indicar a direção correta.

Saúde

Beno

Arquivos anexados:
 

Existe uma maneira de codificar isto incluir a função para que NÃO haja nenhuma chance de que ela fique "presa" no seu loop?

int CBM(int intMagic)//CloseByMagic

{

int intOffset=0;

while(OTBM(intMagic)>0)

{

OrderSelect(intOffset,SELECT_BY_POS);

if(OrderMagicNumber()==intMagic)

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),999,Red);

if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),999,Orange);

}

else {

intOffset++;

}

}

return(0);

}

Graças a todos que podem ajudar.

Razão: