[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 927

 
RekkeR:
Sur cet exemple, si ce n'est pas trop difficile, pourriez-vous mettre votre nez dedans.
:)))

int init()
{
int draw_begin;
string short_name;
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexShift(0,MA_Shift);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
if(MA_Period<2) MA_Period=13;
draw_begin=MA_Period-1;
//---- indicator short name
switch(MA_Method)
{
case 1 : short_name="EMA("; draw_begin=0; break;
case 2 : short_name="SMMA("; break;
case 3 : short_name="LWMA("; break;
default :
MA_Method=0;
short_name="SMA(";
}
IndicatorShortName("");
SetIndexDrawBegin(0,draw_begin);
//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer);
SetIndexLabel(0,"");
//---- initialization done
return(0);
}
Cela devrait aider.
 

J'ai essayé d'éditer le message, il écrit trop de texte et ne veut pas coller les changements.

S'agit-il d'une partie éditée du code ou d'une partie supplémentaire ?

 
dimon74:
Bonjour, pourriez-vous me conseiller : slippage - La valeur du slippage maximum en pips. Qu'est-ce que c'est et à quoi ça sert ? Je le mets toujours à zéro. Il serait peut-être judicieux de le changer. Peut-il être modifié par ma société de courtage ? Merci d'avance !

Le slippage est la valeur maximale du slippage lorsque votre courtier ouvre une transaction (c'est-à-dire que vous voulez toujours faire une transaction à un prix qui est encore plus mauvais pour vous), vous devriez le régler sur 2 ou 3 ou 5. "0" est une tolérance trop faible que vous définissez pour le courtier dans les conditions réelles du marché.

 
RekkeR:

J'ai essayé d'éditer le message, il écrit trop de texte et ne veut pas coller les changements.

S'agit-il d'une partie éditée du code ou d'une partie supplémentaire ?


C'est seulement la fonction init() qui doit être corrigée.

Et le bouton SRC est utilisé pour coller le code

 
Vinin:


C'est seulement la fonction init() qui doit être corrigée.

Et le bouton SRC est utilisé pour insérer du code

Merci Victor, je vais étudier moi-même ce week-end, c'est une chose très intéressante, le codage.

Je vous ferai part des résultats !

 

Mec, je comprends que tu sois en colère quand tu poses cent fois les mêmes questions dans ce fil,

En tant que débutant, je le comprendrais certainement moi-même, car il est intéressant de tout faire soi-même

J'ai beau être un débutant, je me débrouillerais tout seul, c'est intéressant de tout faire soi-même.

Cela m'a toujours intéressé, mais je suis toujours bloqué lorsque je regarde l'EA.

Peut-être que le problème n'est pas dans l'EA mais dans le DC ?

extern double StopLoss=1000.0;
extern double TakeProfit=1000.0;
extern double Lots=1.0;
extern int total;


int start() {

int dg;
double Price_1,Price_2,min,max,pa,pb,pt;

pt=MarketInfo(Symbol(),MODE_POINT);
dg=MarketInfo(Symbol(),MODE_DIGITS);
pa=MarketInfo(Symbol(),MODE_ASK);
pb=MarketInfo(Symbol(),MODE_BID);
Price_1=pb;
Price_2=pa;
min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();

double slB=NormalizeDouble(pa-StopLoss*pt,dg);
double tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
double slS=NormalizeDouble(pb+StopLoss*pt,dg);
double tpS=NormalizeDouble(pb-TakeProfit*pt,dg);

  if(total<1) 
  {
   if(Price_1>max)
      OrderSend(Symbol(),OP_BUY,Lots,pa,2,slB,tpB,"My order#",16384,0,Green);

   if(Price_2<min)
      OrderSend(Symbol(),OP_SELL,Lots,pb,2,slS,tpS,"My order#",16384,0,Green);
  }

}

Aide ?

 
artmedia70:

Recherchez l'ordre dans l'historique, et si vous le trouvez, comparez son prix de clôture OrderClosePrice() avec son niveau de StopLoss OrderStopLoss()

S'ils sont égaux, cela signifie que la position a été fermée au niveau du Stop Loss.

à peu près compris, merci, je m'en occuperai après avoir résolu le premier problème
 
gheka:

Je comprends que vous soyez énervés lorsque vous posez les mêmes questions une centaine de fois dans ce fil,


Quel genre d'erreurs obtenez-vous lorsque vous n'ouvrez pas un poste? Vous pouvez essayer ceci

 if(total<1) 
  {
   if(Price_1>max)
      OrderSend(Symbol(),OP_BUY,Lots,Ask,100,slB,tpB,"My order#",16384,0,Green);

   if(Price_2<min)
      OrderSend(Symbol(),OP_SELL,Lots,Bid,100,slS,tpS,"My order#",16384,0,Green);
  }
 
gheka:

Mec, je comprends que tu sois en colère quand tu poses cent fois les mêmes questions dans ce fil,

En tant que débutant, je le comprendrais certainement moi-même, car il est intéressant de tout faire soi-même

J'ai beau être un débutant, je me débrouillerais tout seul, c'est intéressant de tout faire soi-même.

Cela m'a toujours intéressé, mais je suis toujours bloqué lorsque je regarde l'EA.

Peut-être que le problème n'est pas dans l'EA mais dans le DC ?

Aide ?


Peut-être que votre société de courtage ne permet pas de spécifier explicitement les positions take et stop, vérifiez-le - mettez des zéros à leur place dans la fonction d'ordre d'ouverture.
 
gheka:

Mec, je comprends que tu sois en colère quand tu poses cent fois les mêmes questions dans ce fil,

En tant que débutant, je le comprendrais certainement moi-même, car il est intéressant de tout faire soi-même

Je suis peut-être un débutant, mais je suis toujours perplexe par le fait que l'EA est testé, mais je ne veux pas qu'il fonctionne sur la démo et le compte réel.

Cela m'a toujours intéressé, mais je suis toujours bloqué lorsque je regarde l'EA.

Peut-être que le problème n'est pas dans l'EA mais dans le DC ?

Aide ?


Si au moins une position est ouverte (n'importe laquelle - à la main, par un autre EA), cet EA ne fonctionnera pas.