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
quel codice non fa scadere ogni trade che il mio EA apre a 12 ore dal momento dell'apertura...
Il tempo discadenza dell'ordine funziona solo sugli ordini in sospeso. Se OrderSend() è OP_BUY o OP_SELL, è necessario cronometrare l'ordine nel codice. Ecco un semplice esempio.
int OrderTime;
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask+TakeProfit*Point,"timetest",16384,0,Green)
OrderTime=TimeCurrent();
int total = OrdersTotal();
for(int cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if((OrderType() <= OP_SELL) && (OrderSymbol() == Symbol()) )
{
if(OrderType()==OP_BUY && TimeCurrent()-OrderTime>(12*60)*60)
{
OrderClose(OrderTicket(),LotsOptimized(),Bid,3,Violet);
}
}
}Wackena
il codice non funziona bene
Ho usato questo per inviarmi via email lo stato del mio account ogni ora. tuttavia dopo averlo compilato e caricato, ha inviato quell'email perfettamente l'ora successiva al minuto 59 come si suppone, poi non ne ha più inviata un'altra. cosa sto facendo di sbagliato? sembra perfetto?
Non mi serve al minuto 59, mi serve solo ogni ora!
bool mail;
int start()
{
if (Minute()>=59 && !mail){
SendMail("Account Status","Account Balance is="+DoubleToStr(AccountBalance(),2)+"_Account Equity is="+DoubleToStr(AccountEquity(),2)+
"_Account Profit is="+DoubleToStr(AccountProfit(),2)+"_Account Margin is="+DoubleToStr(AccountMargin(),2)+
"_Account Free Margin is="+DoubleToStr(AccountFreeMargin(),2));
mail=true;
}
forse hai solo bisogno di mettere mail = false ad un certo punto o semplicemente rimuovere questo test sulla variabile mail perché ovviamente il codice attuale invierà solo 1 mail.
Quale test sulla variabile mail?... non capisco, per favore spiegatemi...
che ne dite se subito dopo mail=true metto
if (minute()<=58 && !mail)
mail= false;
Pensi che potrebbe funzionare?...
Penso che sia codificato male
Penso che tu possa mettere
if (minute()<=58 && mail) // attenzione non !mail ma mail
mail= false;
e questo dovrebbe essere ma fuori dal tuo primo if, quindi non dopo mail = true; ma dopo }
Ci sono probabilmente modi migliori per codificare questo, ma dovrebbe funzionare
Proverò...
grazie, ci proverò... vi farò sapere tra due ore
grande funziona.... o almeno sembra che lo faccia
Ho bisogno di aiuto per questa parte di codice
qualcuno può dirmi come scrivere questo correttamente? sto cercando di individuare le compravendite aperte singolarmente...
cioè: se offerta aperta > 2.
se open ask >2
Ho il resto, ma non riesco a codificare correttamente quella parte
So che è semplice ma mi sto strappando i capelli.
Nessuno?
Nessuno? Wow, forse questa era una brutta domanda
if(Open[0] > 2){ //open bid
//il tuo codice
}
if(Open[0]+(Ask-Bid) > 2){ //open ask
//il tuo codice
}
a seconda del vostro broker, il backtesting dell'open ask potrebbe non funzionare