bisogno di aiuto per la codifica per favore - pagina 4

 

Tu dici ....... "Il tuo slippage non è aggiustato per i broker a 4/5 cifre ".

Dico ......la mia comprensione è che è in punti o pips o qualsiasi cosa - già

cioè così 3 è buono da usare e 3*mypoint non è corretto.

Qualcuno può confermare questo?


RaptorUK:

OK, un piccolo aiuto . . .

Trova questa parte nel tuo codice, e cambialo in questo . . .

Questo non controlla il Magic Number ... dovrai aggiungerlo se vuoi piazzare ordini manuali sulle stesse coppie o se vuoi operare su diversi timeframe sulla stessa coppia allo stesso tempo ... vero?

Bars non è affidabile, è una cattiva idea usare Bars... dovresti invece usare Time.

Il tuo Slippage non è regolato per i broker a 4/5 cifre . . e nemmeno il tuo TP o SL.

Se rendete il vostro SL piccolo otterrete l'errore 130 perché non state controllando se è troppo vicino o permettendo lo Spread.

Il vostro broker è un broker ECN? Non potete impostare SL & TP quando piazzate un ordine a mercato con un broker ECN, dovete codificare un OredrModify() per aggiungere lo SL & TP dopo che l'ordine è stato piazzato . . .

Devo continuare? Questa è roba di BASE... questi punti saltano fuori su questo forum giorno dopo giorno...

E tu non capisci molto di questo perché non hai codificato nulla... hai usato il codice di qualcun altro. . " Expert Advisor Builder". C'è solo una scorciatoia: Jobs

 
mrmedia:

Tu dici ....... "Il tuo slippage non è aggiustato per i broker a 4/5 cifre ".

Dico ......la mia comprensione è che è in punti o pips o qualsiasi cosa - già

cioè così 3 è buono da usare e 3*mypoint non è corretto.

Qualcuno può confermare questo?




Leggi questo https://www.mql5.com/en/forum/138912
 
mrmedia:

Tu dici ....... "Il tuo slippage non è aggiustato per i broker a 4/5 cifre ".

Dico ......la mia comprensione è che è in punti o pips o qualsiasi altra cosa - già

Slippage = 3 significa 0,3 pip su un broker a 5 cifre e 3 pip su un broker a 4 cifre.
 
RaptorUK:
Slippage = 3 significa 0,3 pip su un Broker a 5 cifre e 3 pip su un Broker a 4 cifre.

Ancora una volta chiaro come il fango.

errare 0,98330

slippage = 3 = dov'è il riempimento?

slippage = 3*SymPoints (broker a 5 cifre) = dov'è il riempimento?

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

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

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

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

 
mrmedia:

Ancora una volta chiaro come il fango.

errare 0,98330

slippage = 3 = dov'è il riempimento?

slippage = 3*SymPoints (broker a 5 cifre) = dov'è il riempimento?

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

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

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

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

Guardate la documentazione di OrderSend, che tipo è lo Slippage? Come puòavere senso loslippage = 3*SymPoints?
 
Lo slippage permesso sul prezzo è sempre lo slippage(int) che specifichi moltiplicato per la variabile interna Point. Il valore di Point cambia tra i broker a 4 e 5 cifre.
 
non lo so
 
weinux:
Non lo so
Grazie, è stato di grande aiuto.
 
Non potete usare i symPoints per lo slippage int(3 * symPoints) == 0 nessuno slippage.
//++++ 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());
     */