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
dimmi se c'è un sistema di test sulla programmazione EA per mostrarti passo per passo cosa succede quando questo EA viene eseguito
no, non c'è un sistema di test passo per passo; usa Print per visualizzare i valori per il controllo e le varie parti dei programmi
Mi piace il tuo codice per l'ottimizzazione dei lotti; l'ho modificato per aumentare il volume dei lotti all'aumentare delle perdite
Mi piace il tuo codice per l'ottimizzazione dei lotti; l'ho modificato per aumentare il volume dei lotti all'aumentare delle perdite
mostrami per favore
o mandami il tuo EA
mostrami per favore
o mandami il tuo EA
mi dà un errore
La funzione "CalculateCurrentOrders" non è referenziata e sarà rimossa dal file expmi dà un errore
La funzione "CalculateCurrentOrders" non è referenziata e sarà rimossa dal file expignora questo errore; tutto quello che sta dicendo è che hai una funzione chiamata CalculateCurrentOrders che non stai usando; quindi o la cancelli o la levi; non causerà alcun danno; il sistema sta dicendo che rimuoverà questa funzione dal tuo file compilato ex4
mostrami per favore
o mandami il tuo EA
sotto la funzione LotOptimization cambia il tuo codice in qualcosa come questo
lotto=lotto*FattoreMultiplicatore*perdite
dove MulitplyFactor = 2 o 3 o 4 ecc, simile al tuo DecreaseFactor che è quello di diminuire le dimensioni del lotto man mano che le perdite aumentano
detto questo, aumentare le dimensioni dei lotti man mano che le perdite aumentano è pericoloso per il vostro EA, quindi usate con cura
sotto la funzione LotOptimization cambiate il vostro codice in qualcosa come questo
lotto=lotto*fattore di moltiplicazione*perdite
dove MulitplyFactor = 2 o 3 o 4 ecc, simile al vostro DecreaseFactor che è quello di diminuire le dimensioni del lotto man mano che le perdite aumentano
detto questo, aumentare la dimensione del lotto man mano che le perdite aumentano è pericoloso per il tuo EA, quindi usalo con attenzione
intendi qualcosa come questo
//+------------------------------------------------------------------+//| Calcola la dimensione ottimale del lotto
//+------------------------------------------------------------------+
doppio LottiOttimizzati()
{
double lot=Lots*Multiplying*losses;
int orders=HistoryTotal(); // totale degli ordini storici
int losses=0; // numero di ordini in perdita senza pausa
//---- selezionare la dimensione del lotto
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- calcolare il numero di ordini di perdita senza interruzione
if(FattoreRiduzione>0)
{
for(int i=ordini-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Errore nella storia!"); break; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continua;
//----
se(OrderProfit()>0) break;
se(OrderProfit()<0) perdite++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
//---- restituisce la dimensione del lotto
if(lot<0.1) lot=0.1;
return(lot);
}
intendete qualcosa come questo
//+------------------------------------------------------------------+
//| Calcola la dimensione ottimale del lotto
//+------------------------------------------------------------------+
doppio LottiOttimizzati()
{
double lot=Lots*Multiplying*losses;
int orders=HistoryTotal(); // totale degli ordini storici
int losses=0; // numero di ordini in perdita senza pausa
//---- selezionare la dimensione del lotto
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- calcolare il numero di ordini di perdita senza interruzione
if(FattoreRiduzione>0)
{
for(int i=ordini-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Errore nella storia!"); break; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continua;
//----
se(OrderProfit()>0) break;
se(OrderProfit()<0) perdite++;
}
if(losses>1) lot=NormalizeDouble(Lots*Multiplying*losses;,1);}
//---- restituisce la dimensione del lotto
if(lot<0.1) lot=0.1;
return(lot);
}
no, mettilo dopo il if(losses>1)
no, mettilo dopo il if(losses>1)
mi dà un errore
'Multiplying' - variabile non definita C:\Program Files\Interbank FX Trader 4\experts\jbtest4.mq4 (57, 44)
dove la definisco?
mi dà un errore
'Multiplying' - variabile non definita C:\Program Files\Interbank FX Trader 4\experts\jbtest4.mq4 (57, 44)
dove l'ho definito
ok ho int multiplying=2;