[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 387

 
Salve. La funzione iMaOnArray utilizza una matrice di dati già preparata, che viene scritta in questa funzione senza parentesi quadre. E se questo array è bidimensionale? (ad esempio Mas[4][100], cioè 4 array indipendenti di 100 punti ciascuno)
 

Signori programmatori come fare in modo che vengano visualizzati solo i punti delle candele max e min dello stesso colore?

Decompilato cancellato

 

Potete dirmi se il fattore di profitto è contato correttamente se l'Hist-array contiene la storia del conto dopo ogni trade chiuso.

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);
}

Ciao Puoi per favore consigliarmi come dividere questi segnali in tre diversi (cioè l'EA usa tre segnali di acquisto, voglio che tutti e tre i segnali siano usati dall'EA separatamente e non in un mucchio) Ho provato io stesso e ho ottenuto questo

//+------------------------------------------------------------------+
//
// 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 si è scoperto che l'EA apre accordi solo su RSI CCI e Stoh. Cosa c'è che non va?

 
FAQ:

Benvenuto, perché quello vecchio sta rallentando immensamente.

Link al top precedente: https: //www.mql5.com/ru/forum/134688


Buon giorno, cari utenti del forum!

Non molto tempo fa, non riuscivo proprio a immaginare come scrivere un EA. E ora, ho deciso di scrivere il mio primo EA, la mia testa ha avuto una grande idea. Arriviamo al punto!

Una delle funzioni del mio EA è quella di scorrere lo storico alla ricerca dell'ultimo ordine chiuso, ma il problema è che questo ordine deve essere necessariamente BUy o Sell, ma non un ordine pendente cancellato. Sono perplesso. Originariamente avevo la seguente costruzione

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

Il codice è semplice, calcola l'ultimo ordine, ma se l'ordine è in sospeso, allora stupor(

Ho bisogno di codice della seguente forma:

tra-la-la loop (legge dalla fine)

se ricevo un ordine pendente {allora 1 al rialzo},

se ricevo un ordine come BUY o SELL, voilà {qualche funzione}

Spero nel vostro aiuto, l'EA è quasi completamente scritto, la mia prima creazione, solo questo grande giunto è rimasto, e gli altri piccoli sono senza senso.

Grazie in anticipo!!!
 
tyler.lexx:

Buona giornata, Cari utenti del forum!!!

Proprio di recente, ho avuto difficoltà a immaginare come scrivere un EA. E ora, ho deciso di scrivere il mio primo EA, e un'idea brillante mi è venuta in mente. Arriviamo al punto!

Una delle funzioni del mio EA è quella di scorrere lo storico alla ricerca dell'ultimo ordine chiuso, ma il problema è che questo ordine deve essere necessariamente BUy o Sell, ma non un ordine pendente cancellato. Sono perplesso. Originariamente avevo la seguente costruzione

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

Il codice è semplice, calcola l'ultimo ordine, ma se l'ordine è in sospeso, allora stupor(

Ho bisogno di codice della seguente forma:

tra-la-la loop (legge dalla fine)

se si incontra un ordine pendente {allora 1 al rialzo},

Se ricevo un ordine come BUY o SELL, voilà {qualche funzione}

Spero nel vostro aiuto, l'EA è quasi completamente scritto, la mia prima creazione, solo questo grande bug è rimasto, e gli altri piccoli non sono niente.

Grazie in anticipo!!!

Spammy? Se lo fai di nuovo, vieni bannato.
 
Vinin:

Spamming? Se succede di nuovo, vieni bannato.
Se sei così intelligente, faresti meglio ad aiutarmi invece di spaventarmi sulla fine del mondo! Ho davvero chiesto aiuto!
 
Ho una lista di numeri e vorrei tracciare la densità della distribuzione usando qualche semplice programma gratuito, dato che non sono un matematico, potete dirmi dove posso trovare un tale programma?
 
L'importazione della storia non funziona più o cosa? Costruire 434.
 

Buon pomeriggio. Perché c'è un parametro MODE_MARGINREQUIRED tra gli identificatori di richiesta di MarketInfo per determinare la quantità di fondi liberi necessari per aprire 1 lotto per l'acquisto, ma non c'è alcun parametro per determinare la quantità di fondi liberi necessari per aprire 1 lotto per la vendita? E come determinare quanti fondi liberi sono necessari per aprire 1 lotto da vendere in una o un'altra società di intermediazione?

P.S. Per non ingombrare il forum, grazie in anticipo per la risposta.