[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 270

 

Bonjour à tous.

Besoin d'aide - dites-moi comment faire cela dans EA :

Superposer un indicateur sur un autre ?

J'appelle le premier indicateur, il prend les valeurs du graphique.

Comment appeler le second, pour qu'il prenne les valeurs du premier ?

Si possible, avec un exemple (appliquons les muwings à l'atp).

Merci d'avance.

 

Pouvez-vous me dire où se trouve l'erreur dans le code? Le conseiller expert n'achète que... Après un stop ou un take, il attend la fermeture de la barre et achète à nouveau... Si je permute l'achat et la vente sur les premières lignes, il ne fait que vendre... S'il vous plaît, dites-moi ce que cela peut être...

if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 }

return(0);
}


int OrderOp(int ord,double lot)  
{
   int ticket1;
   string ccm="";
   double l;
   bool SLTP;
   
   
   if (ord==OP_BUY) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: BUY";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l-StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l+TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
      } 
   }           
   
   if (ord==OP_SELL) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_BID), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: SELL";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l+StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l-TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
 
Mihoi:

Bonjour à tous.

Besoin d'aide - dites-moi comment faire cela dans EA :

Superposer un indicateur sur un autre ?

J'appelle le premier indicateur, il prend les valeurs du graphique.

Comment appeler le second, pour qu'il prenne les valeurs du premier ?

Si possible, avec un exemple (appliquons les muwings à l'atp).

Merci d'avance.

Dans l'indicateur ATR lui-même, entrez quelques lignes supplémentaires.

Un bon exemple pour résoudre ce problème serait l'indicateur MACD du groupe des indicateurs personnalisés.

Ouvrez le code de l'indicateur MACD et voyez comment cela se passe.

C'est très simple. iMAOnArray().

 
ostrik:

Pouvez-vous me dire où se trouve l'erreur dans le code ? Le conseiller expert n'achète que... Après un stop ou un take, il attend la fermeture de la barre et achète à nouveau... Si je permute l'achat et la vente sur les premières lignes, il ne fait que vendre... S'il vous plaît, dites-moi ce que cela peut être...


if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 } --- может, эта скобка лишняя???
 
Merci, je vais essayer !
 
DhP:



Non, le support semble bien...
 
ostrik:

Non, les parenthèses sont bien...

Vous laissez entendre en quelque sorte que vous avez fourni un code incomplet avec une fonction incomplète.

En fait, l'option Imprimer ou commenter est la règle.

 
sergeev:

Vous laissez entendre en quelque sorte que vous avez fourni un code incomplet avec une fonction incomplète.

En général, les règles d'impression ou de commentaire.


Le truc, c'est que je suis en train d'apprendre ce truc difficile et je ne peux rien faire du tout... J'ai l'impression que mes mains ne poussent pas dans la bonne direction ;)

 

Bonjour, comment avancer la ligne de l'indicateur d'une barre ?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

J'ai une idée au lieu de Buffer1[i]=High[i] ; mettre Buffer1[i-1]=High[i] ; mais hélas cela ne tire pas en avant(

 
tmt0086:

Bonjour, comment avancer la ligne de l'indicateur d'une barre ?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

J'ai une idée au lieu de Buffer1[i]=High[i] ; mettre Buffer1[i-1]=High[i] ; mais hélas cela ne dessine pas en avant(


J'ai compris
Raison: