[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 387

 

Cavalheiros programadores, como fazer para que somente os pontos das velas de max e min da mesma cor fossem exibidos?

Descompilado excluído

 

Você pode me dizer se o fator de lucro é contado corretamente se o Hist-array contém o histórico da conta após cada negociação fechada.

double IndFunc2()
{
int i;
double sl,tp;
double r;
for(i=PeriodPF-1;i>0;i--){
r=Hist2[i]-Hist2[i-1];
if(r>=0){tp+=r;}
if(r<0){sl+=MathAbs(r);}
}
if(sl!=0){PF2=tp/sl;}
else{PF2=tp;}
return(0);
}
 
// < 0 - Dn
// > 0 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

double MA2 = iMA(NULL,15,ma2_period,ma2_shift,ma2_method,ma2_price,SignalBar);
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
    if(GO && SignalType_2 && Bid >= MA2) {GO=false; return(+1);}//запретить повторный вход return(+1);
    if(GO && SignalType_3 && Bid >= IchiA) {GO=false; return(+1);}//запретить повторный вход (+1);
    
   
    
    if(GO && SignalType_1 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_2 && Ask <= MA2) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_3 && Ask <= IchiB) {GO=false; return(-1);}//запретить повторный вход (-1);
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}

Olá Você pode aconselhar como dividir esses sinais em três diferentes (ou seja, a EA usa três sinais de compra, eu quero que os três sinais sejam usados pela EA separadamente e não em uma pilha) Eu mesmo tentei e consegui isto

//+------------------------------------------------------------------+
//
// 1 - Dn
// 2 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
else {
if(GO && SignalType_2 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
}
}

{
double MA2 = iMA(Symbol(), 0, 200, 0, MODE_EMA, PRICE_CLOSE, 1);


if(GO && SignalType_1 && Bid >= MA2) {GO=false; return(+1);}//запретить повторный вход (+1);

else
{
if(GO && SignalType_2 && Ask <= MA2)  {GO=false; return(-1);}//запретить повторный вход (-1);
}
}
{
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    
       if(GO && SignalType_1 && Bid >= IchiA ){GO=false; return(+1);}//запретить повторный вход (+1); 
  
  else{  
    
    if(GO && SignalType_2 && Ask <= IchiB ) {GO=false; return(-1);}//запретить повторный вход (-1); 
    }
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}

E verificou-se que a EA abre negócios somente com a RSI CCI e Stoh. O que está errado?

 
FAQ:

Bem-vindo, porque o antigo está desacelerando imensamente.

Link para o topo anterior : https://www.mql5.com/ru/forum/134688


Bom dia, Prezados usuários do fórum!

Não faz muito tempo, eu mal podia imaginar como escrever uma EA. E agora, decidi escrever meu primeiro EA, minha cabeça teve uma grande idéia. Vamos direto ao assunto!

Uma das funções da minha EA é percorrer a história procurando pela última ordem fechada, mas o problema é que esta ordem deve ser necessariamente BUy ou Sell, mas não uma ordem pendente deletada. Estou perplexo. Originalmente eu tinha a seguinte construção

OrderSelect(OrderHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);

O código é simples, ele calcula a última ordem, mas se a ordem está pendente, então stupor(

Preciso do código da seguinte forma:

tra-la-la loop (leitura do final)

se eu receber uma ordem pendente {então 1 para cima},

se eu receber um pedido como COMPRAR ou VENDER, voilà {some função}

Espero por sua ajuda, a EA está quase completamente escrita, minha primeira criação, só resta esta grande junta, e as outras pequenas são um disparate.

Obrigado de antemão!!!
 
tyler.lexx:

Bom dia, Prezados usuários do fórum!!!

Recentemente, tive dificuldade para imaginar como escrever um EA. E agora, decidi escrever minha primeira EA, e uma idéia brilhante acabou de vir à minha mente. Vamos direto ao assunto!

Uma das funções da minha EA é percorrer a história procurando pela última ordem fechada, mas o problema é que esta ordem deve ser necessariamente BUy ou Sell, mas não uma ordem pendente deletada. Estou perplexo. Originalmente eu tinha a seguinte construção

OrderSelect(OrderHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);

O código é simples, ele calcula a última ordem, mas se a ordem está pendente, então stupor(

Preciso do código da seguinte forma:

tra-la-la loop (leitura do final)

se eu receber uma ordem pendente {então 1 para cima},

Se eu receber um pedido como COMPRAR ou VENDER, voilà {some função}

Espero por sua ajuda, a EA está quase completamente escrita, minha primeira criação, só resta este grande bug, e os outros pequenos não são nada.

Obrigado de antemão!!!

Spammy? Se você fizer isso novamente, seja banido.
 
Vinin:

Spamming? Se isso acontecer novamente, você será banido.
Se você é tão esperto, é melhor me ajudar em vez de me assustar com o fim do mundo! Na verdade, eu pedi ajuda!
 
Tenho uma lista de números e gostaria de traçar a densidade da distribuição usando um programa simples e gratuito, já que eu mesmo não sou matemático, você pode me dizer onde posso encontrar um programa desse tipo?
 
O histórico deimportação não funciona mais ou o quê? Construir 434.
 

Boa tarde. Por que existe um parâmetro MODE_MARGINREQUIRED entre os identificadores de solicitação do MarketInfo para determinar a quantidade de fundos gratuitos necessários para abrir 1 lote para compra, mas não existe nenhum parâmetro para determinar a quantidade de fundos gratuitos necessários para abrir 1 lote para venda? E como determinar quanto dinheiro gratuito é necessário para abrir 1 lote para vender em uma ou outra corretora?

P.S. A fim de não desorganizar o fórum, obrigado antecipadamente pela resposta.

 
7777877:

Boa tarde. Por que existe um parâmetro MODE_MARGINREQUIRED entre os identificadores de solicitação do MarketInfo para determinar a quantidade de fundos gratuitos necessários para abrir 1 lote para compra, mas não existe nenhum parâmetro para determinar a quantidade de fundos gratuitos necessários para abrir 1 lote para venda? E como determinar quanto dinheiro gratuito é necessário para abrir 1 lote para vender em uma ou outra corretora?

P.S. A fim de não desorganizar o fórum, obrigado antecipadamente pela resposta.

Você precisa de um pouco menos de dinheiro para vender, então na prática você pode usar este único parâmetro.