[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 5
Domanda: come faccio a mettere un terminale pulito? Dopotutto, quando provo a riavviare, il sistema mi riconosce automaticamente, permettendomi di ricaricare il file del terminale e salvando le informazioni precedentemente accumulate: conto demo, indicatori scritti, ecc. Apparentemente c'è un file tra quelli salvati che non permette di ricaricare i dati storici. :)
Basta scaricare di nuovo dal vostro broker e metterlo in una directory diversa. Inserisci manualmente il nome utente e la password del tuo conto demo se è necessario, ma è meglio aprirne uno nuovo. E come un bambino appena nato sarai completamente senza peccato.
Lo stesso Expert Advisor fa trading normalmente su un conto demo e nel tester, ma si rifiuta di funzionare o funziona in modo errato su un conto reale.
Cosa devo fare per risolvere il problema?
externint ma1 = 7;
externint ma2 = 100;
externint ma3 = 200;
externint ma4 = 300;
externint shift = 15;
externdouble StartLot = 0.5;
externdouble LotStep = 0.25;
externint candleAmount = 25;
externbool workAlone = true;
double MA1;
double MA2;
double MA3;
double MA4;
int Trend;
int i;
datetime shiftTime;
int ticket;
//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
//----if (Digits == 3 || Digits == 5)
shift = shift*10;
MA1 = iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1);
MA2 = iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1);
MA3 = iMA(NULL,0,ma3,0,MODE_SMA,PRICE_CLOSE,1);
MA4 = iMA(NULL,0,ma4,0,MODE_SMA,PRICE_CLOSE,1);
if (MA1<MA2 && MA1<MA3 && MA1<MA4) {Trend = 1;}
elseif (MA1>MA2 && MA1>MA3 && MA1>MA4) {Trend = 4;}
else {Trend = 2;}
//----return(0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//----//----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
//----
MA1 = iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1);
MA2 = iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1);
MA3 = iMA(NULL,0,ma3,0,MODE_SMA,PRICE_CLOSE,1);
MA4 = iMA(NULL,0,ma4,0,MODE_SMA,PRICE_CLOSE,1);
if (Trend == 2)
{ if (MA1<MA2 && MA1<MA3 && MA1<MA4)
{ for (i = OrdersTotal(); i >= 0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_BUY)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),shift,Blue);
}
shiftTime = Time[0];
if (OrdersTotal() == 0 || !workAlone)
{ ticket = OrderSend(Symbol(),OP_SELL,LotsOptimized(Symbol()),NormalizeDouble(Bid,Digits),shift,0,0,"",777,0,Red);
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
shiftTime = OrderOpenTime();
}
Trend = 1;
}
elseif (MA1>MA2 && MA1>MA3 && MA1>MA4)
{ for (i = OrdersTotal(); i >= 0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_SELL)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),shift,Red);
}
shiftTime = Time[0];
if (OrdersTotal() == 0 || !workAlone)
{ ticket = OrderSend(Symbol(),OP_BUY,LotsOptimized(Symbol()),NormalizeDouble(Ask,Digits),shift,0,0,"",777,0,Blue);
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
shiftTime = OrderOpenTime();
}
Trend = 4;
}
}
if (Trend == 1)
{ if (MA1>MA2 || MA1>MA3 || MA1>MA4)
{ Trend = 2;
if (iBarShift(NULL,0,shiftTime,false) >= candleAmount)
{ for (i = OrdersTotal(); i >= 0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{ OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),shift,Red);}}}}}
if (Trend == 4)
{ if (MA1<MA2 || MA1<MA3 || MA1<MA4)
{ Trend = 2;
if (iBarShift(NULL,0,shiftTime,false) >= candleAmount)
{ for (i = OrdersTotal(); i >= 0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{ OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),shift,Blue);}}}}}
//----return(0);
}
//+------------------------------------------------------------------+double LotsOptimized(string symbol)
{ double lot = StartLot;
int losses = 0;
if (LotStep > 0)
{ for (int c = OrdersHistoryTotal() - 1; c >= 0; c--)
{ if (OrderSelect(c,SELECT_BY_POS,MODE_HISTORY) == false) break;
if (OrderSymbol() != symbol) continue;
//----if (OrderProfit() > 0) break;
if (OrderProfit() < 0) losses++;
}
if (losses >= 1) lot = NormalizeDouble(lot + LotStep * losses,2);
}
if (lot < MarketInfo(symbol,MODE_MINLOT)) lot = MarketInfo(symbol,MODE_MINLOT);
return (lot);
}
//+------------------------------------------------------------------+
Lo stesso Expert Advisor fa trading normalmente su un conto demo e nel tester, ma si rifiuta di funzionare o funziona in modo errato su un conto reale.
Cosa devo fare per risolvere il problema?
I miracoli non accadono. Che società di intermediazione ha? Alcune società di brokeraggio non ti permettono di piazzare ordini a mercato se il tuo ordine contiene istruzioni per impostare uno stop loss e/o un take profit. Broco, per esempio, è così. Lì, devi prima aprire un ordine a mercato e solo dopo piazzare ordini di stop tramite modifica.
In particolare ho eseguito un test con il parametro x=1, poi il parametro x=2, poi ho ottimizzato x da 1 a 2 passo 1. tutte le caselle di controllo sono disattivate, saltando anche i tagli inutili. l'algoritmo genetico è stato attivato e disattivato. i risultati sono diversi, helpppppp!
ho deselezionato "skip useless cuts" e i tagli appaiono. solo che differiscono da un test semplice. per esempio, con il parametro x=1 un test semplice risulta in 500 affari, con x=2 - 700 affari. Dovrei ottimizzare questo parametro e x=1 ora ottiene 1 affare, x=2 ottiene anche 1 affare. Il mio Expert Advisor sta usando una modifica grafica virtuale, è possibile che sia che l'ottimizzazione non riesca a creare un oggetto grafico?
consigliare cosa potrebbe essere, ho provato nel tester, gli ordini si aprono e chiudono normalmente, ho selezionato il parametro, ho testato tutti i risultati sono respinti, ho cambiato manualmente questo parametro nel test, tutto è ok. Ho attivato l'algoritmo genetico durante l'ottimizzazione e l'ho disabilitato, ho cambiato le mie impostazioni.
Domanda: come faccio a mettere un terminale pulito? Dopotutto, quando provo a riavviare, il sistema mi riconosce automaticamente, permettendomi di ricaricare il file del terminale e salvando le informazioni precedentemente accumulate: conto demo, indicatori scritti, ecc. Apparentemente c'è un file tra quelli salvati che non permette di ricaricare i dati storici. :)
E come un bambino appena nato sarai completamente senza peccato.
Ciao! La domanda è se gli EAs di MT4 funzioneranno su questo dispositivo
sarà!
Ciao, ecco il problema.
Lo stesso Expert Advisor fa trading normalmente su un conto demo e nel tester, ma si rifiuta di funzionare o funziona in modo errato su un conto reale.
Cosa devo fare per risolvere il problema?
Ciao, ecco il problema.
Lo stesso Expert Advisor fa trading normalmente su un conto demo e nel tester, ma si rifiuta di funzionare o funziona in modo errato su un conto reale.
Cosa devo fare per risolvere il problema?
I miracoli non accadono. Che società di intermediazione ha? Alcune società di brokeraggio non ti permettono di piazzare ordini a mercato se il tuo ordine contiene istruzioni per impostare uno stop loss e/o un take profit. Broco, per esempio, è così. Lì, devi prima aprire un ordine a mercato e solo dopo piazzare ordini di stop tramite modifica.
ho deselezionato "skip useless cuts" e i tagli appaiono. solo che differiscono da un test semplice. per esempio, con il parametro x=1 un test semplice risulta in 500 affari, con x=2 - 700 affari. Dovrei ottimizzare questo parametro e x=1 ora ottiene 1 affare, x=2 ottiene anche 1 affare. Il mio Expert Advisor sta usando una modifica grafica virtuale, è possibile che sia che l'ottimizzazione non riesca a creare un oggetto grafico?
consigliare cosa potrebbe essere, ho provato nel tester, gli ordini si aprono e chiudono normalmente, ho selezionato il parametro, ho testato tutti i risultati sono respinti, ho cambiato manualmente questo parametro nel test, tutto è ok. Ho attivato l'algoritmo genetico durante l'ottimizzazione e l'ho disabilitato, ho cambiato le mie impostazioni.
dzhini, eddy
Attenzione ai post duplicati. Messaggi doppi cancellati. Da qui in poi ci sarà un divieto.