Como codificar? - página 52

 
Devil2000:
O que é "relógio"? tanto quanto sei não há função de "relógio" na MQL4.

Você pode tentar isto

if(TimeHour(TimeCurrent())==7)

{

if(TimeMinute(TimeCurrent())==15) B== 1;

if(TimeMinute(TimeCurrent())==30) B== 2;

if(TimeMinute(TimeCurrent())==45) B== 3;

}

if(TimeHour(TimeCurrent())==8)

{

if(TimeMinute(TimeCurrent())==0) B== 4;

if(TimeMinute(TimeCurrent())==15) B== 5;

if(TimeMinute(TimeCurrent())==30) B== 6;

}

É claro que eu pensei que ele tinha

relógios de data/hora = TimeCurrent();

em uma linha anterior.

Robert

 
MrPip:
É claro que eu pensei que ele tinha

relógios de data/hora = TimeCurrent();

em uma linha anterior.

Robert

Sério? Não consigo encontrá-lo na página anterior.

Isso deveria estar funcionando. Mas em uma hora, às vezes faltarão alguns minutos devido à sua conexão com a Internet ou ao atraso do servidor.

 

Procurando programador para converter indicador para EA

Olá a todos,

Estou procurando um programador para converter um indicador em um consultor especializado (ou um EA autônomo que trabalhe com o indicador existente). Ele simplesmente precisa ou comprar ou vender onde o sinal é gerado, e ter o seguinte nas habilidades nas predefinições:

*Tamanho grande

*Parar o ajuste de perda

*Configuração da parada de trilha

*Dimensionamento do lote de gestão com base no saldo da conta.

Em anexo está uma imagem do indicador.

Por favor, me pergunte se você está interessado no projeto, ou conheça alguém que esteja.

Agradecemos antecipadamente.

Arquivos anexados:
indicator.gif  23 kb
 
Devil2000:
Sério? Não consigo encontrá-lo na página anterior. Isso deveria estar funcionando. Mas em uma hora, às vezes faltam alguns minutos devido à sua conexão com a Internet ou ao atraso do servidor.

Desculpe a confusão, este é o código para os Relógios para que eu possa mudar com diferentes GMT

relógios duplos = TimeCurrent() - (Broker)*3600;

corretor é o tempo de corretagem em GMT.

outro código de problema eu preciso de caras... desculpe se eu peço demais...

meu problema :

quero que ele só abra um máximo de 1 venda flutuante e 1 compra flutuante em um dia... mas pode abrir mais do que um lote de compra ou venda em um dia... se o EA funcionar em três dias e as condições de pedidos diários forem atendidas, então ele terá 3 compra/venda flutuante ou 6 compra e venda flutuante...

exemplo:

DAy 1 = abrir uma compra atinge Tp e abrir outra compra = 1 compra ainda aberta

Dia 2 = compra anterior ainda aberta e abre outra compra = 2 compras ainda abertas

Dia 3 = 2 compras ainda abertas e outra compra aberta = 3 compras ainda abertas

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == falso) break;

if(OrderSymbol()== Símbolo () && OrderMagicNumber()== Magic_Number)

{

if(OrderType() == OP_BUY) compra++;

if(OrderType() == OP_SELL) vende++;

}

}

se (compra < 1) encomendar uma compra

se (vende < 1) encomendar uma venda quando as condições são cumpridas

 

Você pode usar isto para contar apenas aqueles que estão abertos hoje:

if(OrderType() == OP_BUY && OrderOpenTime() >= iTime(NULL, PERIOD_D1, 0)) buys++;
 

precisam de ajuda rápida

tenho estes códigos abaixo.....

alguém pode, por favor, verificar se eles seguem esta regra

Se não houver trocas no gráfico, então com sinal abre 1 lote.

se 1 negociação já estiver no gráfico todas as demais ordens são lote duplo...

por favor, verifique,

total = EncomendasTotal();

if(total>==2)

{

if(MA11>MA21 && MA12<MA22)

{

ticket=OrderSend(Symbol(),OP_BUY,2*Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green);

retornar (0);

}

if(MA11MA22)

{

ticket=OrderSend(Symbol(),OP_SELLL,2*Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red);

retornar (0);

}

}

if(MA11>MA21 && MA12<MA22)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green);

}

if(MA11MA22)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red);

}

}

 

Martingale?

Você não tem esperança.....

 
kjhfdgjfhdghdf:
Martingale?você não tem esperança.....

vou ter isso em mente, thx

 

eu só mudo e acrescentei... os caracteres vermelhos... espero que isso ajude...

total = EncomendasTotal();

if(total>=1)

{

if(MA11>MA21 && MA12<MA22)

{

ticket=OrderSend(Symbol(),OP_BUY,2*Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green);

retornar (0);

}

if(MA11MA22)

{

ticket=OrderSend(Symbol(),OP_SELLL,2*Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red);

retornar (0);

}

}

if(total<1)

{

if(MA11>MA21 && MA12<MA22)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green);

}

if(MA11MA22)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red);

}

}
 

StopLoss na travessia de MAs

Em um EA, eu tenho um SL=50.

Como codificar se eu quero SL=50 OU cruzamento de 2 Ma ?

Obrigado pela ajuda.

Razão: