besoin d'aide pour le codage, s'il vous plaît - page 4

 

Vous dites ....... "Votre slippage n'est pas ajusté pour les courtiers à 4/5 chiffres ".

Je dis ...... ma compréhension est que c'est en points ou pips ou autre - déjà

c'est à dire que 3 est bon à utiliser et 3*monpoint est incorrect.

Quelqu'un peut-il le confirmer ?


RaptorUK:

OK, un peu d'aide. . .

Trouvez cette partie dans votre code, et changez-la en ceci....

Cela ne vérifie pas le nombre magique... vous devrez l'ajouter si vous voulez placer des ordres manuels sur les mêmes paires ou si vous voulez exécuter sur des délais différents sur la même paire en même temps... n'est-ce pas ?

Bars n'est pas fiable, c'est une mauvaise idée d'utiliser Bars... vous devriez utiliser Time à la place.

Votre Slippage n'est pas ajusté pour les courtiers à 4/5 chiffres... ni votre TP ou SL.

Si votre SL est petit, vous obtiendrez l'erreur 130 car vous ne vérifiez pas s'il est trop proche ou si vous tenez compte du spread.

Votre courtier est-il un courtier ECN ? Vous ne pouvez pas définir le SL et le TP lorsque vous placez un ordre de marché avec un courtier ECN, vous devez coder un OredrModify() pour ajouter le SL et le TP après que l'ordre ait été placé.

Dois-je continuer ? C'est une question de base... Ces points sont abordés sur ce forum jour après jour...

Et vous ne comprenez pas grand chose à tout cela parce que vous n'avez pas réellement codé quoi que ce soit... vous avez utilisé le code de quelqu'un d'autre... . " Expert Advisor Builder". Il n'y a qu'un seul raccourci : Jobs

 
mrmedia:

Vous dites ....... "Votre slippage n'est pas ajusté pour les courtiers à 4/5 chiffres ".

Je dis ...... ma compréhension est que c'est en points ou pips ou autre - déjà

c'est à dire que 3 est bon à utiliser et 3*monpoint est incorrect.

Quelqu'un peut-il le confirmer ?




Lisez ceci https://www.mql5.com/en/forum/138912
 
mrmedia:

Vous dites ....... "Votre slippage n'est pas ajusté pour les courtiers à 4/5 chiffres ".

Je dis ...... ma compréhension est que c'est en points ou pips ou n'importe quoi - déjà

Slippage = 3 signifie 0,3 pips sur un courtier à 5 chiffres et 3 pips sur un courtier à 4 chiffres.
 
RaptorUK:
Slippage = 3 signifie 0,3 pips sur un Broker à 5 chiffres et 3 pips sur un Broker à 4 chiffres.

Encore une fois, c'est clair comme de l'eau de roche.

err 0.98330

slippage = 3 = où est le remplissage ?

slippage = 3*SymPoints (courtier à 5 chiffres) = où est le remplissage ?

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

if( SymPoints == 0.001 ) { SymPoints = 0.01 ; SymDigits = 3 ; }

else if( SymPoints == 0.00001 ) { SymPoints = 0.0001 ; SymDigits = 5 ;

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 
mrmedia:

Encore une fois, c'est clair comme de l'eau de roche.

err 0.98330

slippage = 3 = où est le remplissage ?

slippage = 3*SymPoints (courtier à 5 chiffres) = où est le remplissage ?

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

si( SymPoints == 0.001 ) { SymPoints = 0.01 ; SymDigits = 3 ; }

else if( SymPoints == 0.00001 ) { SymPoints = 0.0001 ; SymDigits = 5 ;

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Regardez la documentation de OrderSend, quel est le type de slippage ? Comment leslippage = 3*SymPoints peut-ilavoir un sens ?
 
Le slippage autorisé sur le prix est toujours le slippage(int) que vous spécifiez multiplié par la variable interne Point. La valeur de Point change entre les courtiers à 4 et 5 chiffres.
 
Je ne sais pas.
 
weinux:
Je ne sais pas.
Merci, ça m'a beaucoup aidé.
 
Vous ne pouvez pas utiliser les symPoints pour le glissement int(3 * symPoints) == 0 pas de glissement.
//++++ These are adjusted for 5 digit brokers.
int     pips2points;    // slippage  3 pips    3=points    30=points
double  pips2dbl;       // Stoploss 15 pips    0.015      0.0150
int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
int     init(){                                             OptInitialization();
     if (Digits % 2 == 1){      // DE30=1/JPY=3/EURUSD=5 forum.mql4.com/43064#515262
                pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
    } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
    // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
//---- These are adjusted for 5 digit brokers.
    /* On ECN brokers you must open first and THEN set stops
    int ticket = OrderSend(..., 0,0,...)
    if (ticket < 0)
       Alert("OrderSend failed: ", GetLastError());
    else if (!OrderSelect(ticket, SELECT_BY_TICKET))
       Alert("OrderSelect failed: ", GetLastError());
    else if (!OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0)
       Alert("OrderModify failed: ", GetLastError());
     */
Raison: