Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1601
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Questo va dall'indice zero, cioè dall'inizio.
Questo cerca dall'indice zero, cioè dall'inizio.
Questo va dall'indice zero, cioè dall'inizio.
Ahh... Ora tutto ha un senso, grazie.
for(int i=OrdersTotal()-1;i>=0;i--) {
if (! OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;
double prosad=DBL_MIN;
if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;
for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {
double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );
delta /= MarketInfo(OrderSymbol(),MODE_POINT);
if (delta>prosad) prosad=delta;
}
PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);
}
scritto "a mano", non testato, pieno di errori :-) adattatelo alle vostre esigenze e usatelo
per favore dimmi cosa significa -"!" nel tuo codice?
Non lo capisco ancora troppo bene
o forse qualcun altro può spiegarmelo, oltre all'autore?
per favore dimmi, cosa significa -"!" nel tuo codice?
Non l'ho ancora capito bene.
o qualcuno può spiegarmelo oltre all'autore?
! - questa è una negazione booleana, NOT
if { !OrderSelect() } si traduce in "se OrderSelect NON ha successo"
!= rispettivamente "NON uguale"
! - è una negazione booleana, NOT
if { !OrderSelect() } si traduce come "se NON riesce OrderSelect".
!
grazie
for(int i=OrdersTotal()-1;i>=0;i--) {
if (!OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;
double prosad=DBL_MIN;
if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;
for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {
double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );
delta /= MarketInfo(OrderSymbol(),MODE_POINT);
if (delta>prosad) prosad=delta;
}
PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);
}
scritto "a mano", non controllato, ha un sacco di errori :-) adattatelo alle vostre esigenze e usatelo
Potrei aver "pulito" il codice, ma questa linea mostra un avvertimento per (int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--)
possibile perdita di dati a causa della conversione del tipo
Non riesci a capire cosa c'è che non va?
Mi sembra di aver ripulito il codice, ma su questa linea for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) appare l'avviso:
possibile perdita di dati a causa della conversione del tipo
Non riesco a capire cosa c'è che non va?
Ho confuso i parametri... è un casino comune quando si scrive "al volo" direttamente nel forum bypassando il terminale
iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) dovrebbe essere
Parametri confusi... confusione comune quando si scrive "al volo" direttamente nel forum bypassando il terminale
iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) dovrebbe essere
grazie
Mi sembra di aver ripulito il codice, ma su questa linea for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) appare l'avviso:
possibile perdita di dati a causa della conversione del tipo
Non riesco a capire cosa c'è che non va?
Non riesco proprio a capire cosa c'è di sbagliato? Posso allegare tutta questa "cosa" al mio Expert Advisor ed eseguirla attraverso lo strategy tester con l'output delle informazioni nel test report?
funzionerà?
Qualche consiglio su come affrontare questo?
Nel tester sulla storia una semplice apertura di un ordine a volte causa un errore...
ERR_INVALID_TRADE_PARAMETERS - che diavolo è questo e cosa significa?