[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 387

 
Bonjour. La fonction iMaOnArray utilise un tableau de données préparé à l'avance, qui est écrit dans cette fonction sans crochets. Et si ce tableau est bidimensionnel ? (par exemple Mas[4][100], c'est-à-dire 4 tableaux indépendants de 100 points chacun)
 

Messieurs les programmeurs comment faire pour que seuls les points des bougies max et min de la même couleur soient affichés ?

Décompilé supprimé

 

Pouvez-vous me dire si le facteur de profit est compté correctement si le Hist-array contient l'historique du compte après chaque transaction fermée.

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

Bonjour Pouvez-vous me conseiller sur la façon de diviser ces signaux en trois signaux différents (c'est-à-dire que l'EA utilise trois signaux d'achat, je veux que les trois signaux soient utilisés par l'EA séparément et non pas en une seule pile) J'ai essayé moi-même et j'ai obtenu ceci

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

Et il s'est avéré que l'EA ouvre des transactions uniquement sur le RSI CCI et le Stoh. Qu'est-ce qui ne va pas ?

 
FAQ:

Bienvenue, parce que l'ancien ralentit énormément.

Lien vers le sommet précédent : https://www.mql5.com/ru/forum/134688


Bonjour, chers utilisateurs du forum !

Il n'y a pas si longtemps, j'avais du mal à imaginer comment écrire une évaluation environnementale. Et maintenant, j'ai décidé d'écrire ma première EA, ma tête a eu une grande idée. Allons droit au but !

L'une des fonctions de mon EA est de faire défiler l'historique à la recherche du dernier ordre clôturé, mais le problème est que cet ordre doit nécessairement être acheté ou vendu, mais pas un ordre en attente supprimé. Je suis perplexe. A l'origine, j'avais la construction suivante

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

Le code est simple, il calcule le dernier ordre, mais si l'ordre est en attente, alors stupor(

J'ai besoin d'un code de la forme suivante :

tra-la-la loop (lit à partir de la fin)

si un ordre en attente est rencontré {alors 1 vers le haut},

si je reçois un ordre comme BUY ou SELL, voilà {une fonction}.

J'espère votre aide, l'EA est presque entièrement écrit, ma première création, il ne reste que ce gros joint, et les autres petits sont des non-sens.

Merci d'avance ! !!
 
tyler.lexx:

Bonjour, Chers utilisateurs du forum !!!

Récemment encore, j'ai eu du mal à imaginer comment rédiger une évaluation environnementale. Et maintenant, j'ai décidé d'écrire ma première EA, et une idée lumineuse m'est venue à l'esprit. Allons droit au but !

L'une des fonctions de mon EA est de faire défiler l'historique à la recherche du dernier ordre clôturé, mais le problème est que cet ordre doit nécessairement être acheté ou vendu, mais pas un ordre en attente supprimé. Je suis perplexe. A l'origine, j'avais la construction suivante

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

Le code est simple, il calcule le dernier ordre, mais si l'ordre est en attente, alors stupor(

J'ai besoin d'un code de la forme suivante :

tra-la-la loop (lit à partir de la fin)

si je reçois un ordre en attente {alors 1 vers le haut},

Si je reçois un ordre comme BUY ou SELL, voilà {une fonction}.

J'espère votre aide, l'EA est presque entièrement écrit, ma première création, il ne reste que ce gros bug, et les autres petits ne sont rien.

Merci d'avance ! !!

Spammy ? Si vous le refaites, vous serez banni.
 
Vinin:

Spamming ? Si cela se reproduit, vous êtes banni.
Si vous êtes si intelligent, vous feriez mieux de m'aider au lieu de me faire peur avec la fin du monde ! J'ai demandé de l'aide !
 
J'ai une liste de nombres et j'aimerais tracer la densité de la distribution à l'aide d'un simple programme gratuit, car je ne suis pas mathématicien moi-même, pouvez-vous me dire où je peux trouver un tel programme ?
 
L'importation de l' historique ne fonctionne plus ou quoi ? Construire 434.
 

Bon après-midi. Pourquoi y a-t-il un paramètre MODE_MARGINREQUIRED parmi les identificateurs de requête de MarketInfo pour déterminer le montant des fonds libres nécessaires pour ouvrir 1 lot à l'achat, mais il n'y a pas de paramètre pour déterminer le montant des fonds libres nécessaires pour ouvrir 1 lot à la vente ? Et comment déterminer le montant des fonds libres nécessaires pour ouvrir un lot à vendre dans l'une ou l'autre société de courtage ?

P.S. Afin de ne pas encombrer le forum, merci d'avance pour la réponse.

Raison: