Questões básicas ... - página 2

 

Vou tentar me explicar:

Suponha que eu tenha 3 sistemas diferentes:

o sistema 1 funciona melhor no gráfico EUR/USD 1M.

o sistema 2 funciona melhor no gráfico EUR/USD 5M.

o sistema 3 funciona melhor no gráfico EUR/USD 1H.

Agora quero que meu assessor especializado abra 1 posição por gráfico e não mais. Em outras palavras, quero abrir 1 posição somente para o sistema 1, 1 posição para o sistema 2, e 1 para o sistema 3.

A solução anterior, você escreveu limite 1 posição por símbolo, e agora quero limitar 1 posição por tipo de gráfico...

 

. Em outras palavras, quero abrir 1 posição somente para o sistema 1, 1 posição para o sistema 2, e 1 para o sistema 3.

OK

então você trabalha com o MAGIC Number por sistema

#property copyright "system 1"

#property link ""

#define MAGIC 01901

.

.

.

if ( ExistPosition() == False) {

OrderSend(Symbol(),op,Lots,pp,SLIPPAGE,ldStop,ldTake,lsComm,MAGIC,0,clOpen); // MAGIC = system 1

}

// if open 1 position only for system 1 MAGIC ?

bool ExistPosition() {

bool Exist=False;

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) Exist=True;

}

}

return(Exist);

}

você pode postar seus sistemas?

 

10x!

Eu não tenho um sistema específico. Foi apenas um exemplo.

Sou novo no metaTrader e essa era uma pergunta básica que eu tinha ...

Assim que eu escrever algo bom', vou carregá-lo aqui para comentários...

 

Como fazer um comércio uma vez por vela?

Eu estava me perguntando se existe um código que eu possa acrescentar a uma EA para que ela só negoceie uma vez por vela.

Obrigado de antemão.

 
basza:
Eu estava me perguntando se existe um código que eu possa acrescentar a um EA para que ele só seja comercializado uma vez por vela.

data/hora estática timeprev;

if(timeprev==Tempo[0]) {

retornar(0); // somente executar em novo bar

} else if (timeprev==0) {

timeprev=Time[0]; // não fazer nada se recém adicionado ao gráfico

retorno(0);

} else {

timeprev=Time[0];

// processamento de barras aqui

}

 
ra300z:
data/hora estática timeprev;

if(timeprev==Time[0]) {

retornar(0); // somente executar em novo bar

} else if (timeprev==0) {

timeprev=Time[0]; // não fazer nada se recém adicionado ao gráfico

retorno(0);

} else {

timeprev=Time[0];

// processamento de barras aqui

}

Obrigado ra300z

 

Exibir meta percentual ?

Olá

Estou tentando exibir uma meta percentual sob a forma de um comentário dentro de uma ea.

Eu tenho este pedaço de código que exibe o saldo atual como um comentário:

"Objetivo percentual : " + AccountBalance()"\n"

No início da ea tenho o seguinte:

lucro externo int LucroPercentagem=25;

Agora o que eu quero fazer é : AccountBalance * ProfitPercentage e exibir os resultados. ex. $5675,69 * 25% = $1418,92 e exibir apenas $1418,69.

Agradecimentos antecipados

 

oi guyss....

1:como fazer com que a EA negocie apenas uma vez persignal...( o que eu quero dizer é o código)

por exemplo ma cross EA... quando a ma cruza para cima e com o alvo 20 pip fechará, mas quando a tendência continuar, tentará abrir outro comércio, já que a ma rápida ainda acima da ma lenta só tem que abrir outro comércio quando a ma cruza para baixo.

rápido ma > lento ma = precisa apenas de um persignal de comércio

rápido ma < lento ma = também só precisa de um persignal comercial

2:há, de qualquer forma, um atraso na travessia? Eu só sei que a separação da tubulação (como quer que eles chamem) significa que ela vai esperar talvez 10-15 pip após a travessia a única abertura de uma profissão.

apenas um novato tentando aprender a língua mq4:)

 

Uma maneira seria fazer com que a EA olhasse as leituras históricas da MA em vez das atuais. Em princípio, seria:

// Recognise past crossing (up or down)

if ( fast( past+1 ) slow( past ) )

then cmd = OP_BUY;

else if ( fast( past+1 ) >= slow( past+1 ) && fast( past ) < slow( past ) )

then cmd = OP_SELL;

else return;

// If processing reaches this point, then a trade decision of either OP_BUY

// or OP_SELL has been made, due to recognising a supporting MA crossing

// at "past" number of bars in history.

// Limit to only one trade in a direction

static int last_trade = -1;

if ( last_trade == cmd ) return;

last_trade = cmd;

// If processing reaches this point, then this processing is the first time

// that the supporting MA crossing is recognised.

Isso tomaria uma decisão no número "passado" de barras seguindo a barra onde a travessia ocorre, e só permitiria um comércio na primeira vez que a travessia fosse detectada.

 

agradece ao mano pelo código...