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
Questa parte
se(newbar==Time[0])return(0);
altrimenti newbar=Time[0];
int biglietto, totale;
se(Bars<100)
{
Print("barre inferiori a 100");
return(0);
}
se(TakeProfit<10)
{
Print("TakeProfit inferiore a 10");
return(0); // controlla TakeProfit
}
Sta impedendo all'ea di chiudere gli ordini in un certo momento se non è il primo tick di una nuova barra e se il profitto non è > 10 pipsCiao mladen, ho rimosso quella parte della codifica e ancora il mio ea non si chiude al momento desiderato.
Hai qualche idea su quale potrebbe essere la ragione? Grazie.
Saluti
Ryan
Ciao mladen, ho rimosso quella parte della codifica e ancora il mio ea non chiude al momento desiderato.
Avete qualche idea su quale possa essere la ragione? Grazie.
Saluti
RyanPer come è scritto, chiuderà gli ordini solo e soltanto se l'orario del broker è esattamente 07:00:00
Nel modo in cui è scritto, chiuderà gli ordini solo, e solo se l'ora del broker è esattamente 07:00:00
Ciao mladen, c'è qualche altro modo per aggirare questo problema, dato che qui non sembra funzionare.
Saluti
Ryan
Ciao mladen, c'è qualche altro modo per aggirare questo, dato che non sembra funzionare qui.
Saluti
RyanProva a usare
If (TimeCurrent()>= StringToTime("07:00:00"))
invece
Prova ad usare
Se (TimeCurrent()>= StringToTime("07:00:00"))
inveceCiao mladen, non funziona ancora. Mi sto chiedendo se potrebbe essere dovuto a queste righe qui... o OrdersTotal o OrderSelect potrebbero essere la causa del problema?
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
Saluti
Ryan
Ciao mladen, non funziona ancora. Mi sto chiedendo se potrebbe essere dovuto a queste linee qui... o OrdersTotal o OrderSelect potrebbero causare il problema?
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
Per quanto riguarda
RyanNo. Queste linee sono corrette
No. Queste linee sono corrette
Ciao mladen, perché ho impostato il mio ea per avere solo 1 trade in qualsiasi momento e ho notato che OrdersTotal ha impostato il mio int i count a 0 negativo da 1-1, i>=0; i-- renderà il mio i=-1
quindi mi chiedevo se questo potrebbe essere l'errore.
else if(total > 1) //per chiudere gli ordini in base al tempo... non ancora risolto.
{
if (Hour()==7 && Minute()==30)
{
for (int i=OrdiniTotali()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
pBid=MarketInfo(OrderSymbol(),MODE_BID);
OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);
}
if (OrderType()==OP_SELL)
{
pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),pAsk,1,Rosso);
}
}
}
}//
}
return(0);
}
Ciao mladen, perché ho impostato il mio ea per avere solo 1 trade in qualsiasi momento e ho notato che OrdersTotal ha impostato il mio int i count a 0 negativo da 1-1, i>=0; i-- renderà il mio i=-1
quindi mi chiedevo se questo potesse essere l'errore.
else if(total > 1) //per chiudere gli ordini in base al tempo... non ancora risolto.
{
if (Hour()==7 && Minute()==30)
{
for (int i=OrdiniTotali()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
pBid=MarketInfo(OrderSymbol(),MODE_BID);
OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);
}
if (OrderType()==OP_SELL)
{
pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),pAsk,1,Rosso);
}
}
}
}//
}
return(0);
}Sostituisci questo : f (Hour()==7 && Minute()==30) con la linea che ti ho mandato e prova allora
OrdersTotal() restituirà 1 se c'è un ordine aperto. Quando si usa OrderSelect(), quello 0 (OrdersTotal()-1) selezionerà l'ordine corretto. Se OrdersTotal() restituisce 0, allora non ci sono ordini aperti nel pool di ordini attivi
Per favore sostituisci questo: f (Hour()==7 && Minute()==30) con la linea che ti ho mandato e prova allora OrdersTotal() restituirà 1 se c'è un ordine aperto. Quando si usa OrderSelect(), quello 0 (OrdersTotal()-1) selezionerà l'ordine corretto. Se OrdersTotal() restituisce 0, allora non ci sono ordini aperti nel pool di ordini attivi
Ciao mladen, purtroppo ho appena riprovato di nuovo e ancora non funziona.
C'è un altro modo in cui posso chiudere il mio trade in base a un tempo specifico?
Saluti
Ryan
Sostituisci questo: f (Hour()==7 && Minute()==30) con la linea che ti ho mandato e prova allora OrdersTotal() restituirà 1 se c'è un ordine aperto. Quando si usa OrderSelect(), quello 0 (OrdersTotal()-1) selezionerà l'ordine corretto. Se OrdersTotal() restituisce 0, allora non ci sono ordini aperti nel pool di ordini attivi
Ciao mladen, sono riuscito a risolvere il problema. sembra che questo liner stava causando il problema... il codice funziona dopo che l'ho rimosso.
else if(totale > 1)
grazie per la tua assistenza...
Saluti
Ryan