biglietti nelle variabili globali? (al di fuori dell'avvio e di altre funzioni)
In caso contrario, vengono resettate ad ogni tick.
Inserite più Print()-s ad ogni passo dell'Expert Advisor, poi capirete dove si blocca e cosa non fa.
Ti sono follemente grato, mi è sfuggito il punto che ho dichiarato i biglietti come doppi all'inizio e l'ordine non può essere registrato come 1.0 e 2.0. Ecco perché la funzione di cancellazione stava aspettando la virgola mobile
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
1. Memorizza i biglietti d'ordine in un array o 2 variabili.
2. Selezionateli uno per uno con OrderSelect (l'array è più conveniente qui).
3. Controlla il tipo per il momento attuale.
4. Se tipo OP_BUY || OP_SELL -> OrderDelete per il secondo biglietto.
Per favore, aiutatemi con un esempio semplice, capisco molte cose, ma l'ordine di selezione è un po' un casino!
Ecco il codice dove l'errore è ????? Non cancella il secondo ciondolo quando un ciondolo attiva ......
se (MA1<MA2)
{
se(n==0)
{
//==================================================================================================================//
tiket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alert("Error # - ",GetLastError()," On instrument ", Symbol()); //write error//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot,OtkrBS, Slip,0,tpb, 0, MagicNumber,expiration);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot+1,OtkrSS,Slip,0,slb, 0, MagicNumber,expiration);
//================================================================================================================//
//==================================================================================================================//
}
//==================================================================================================================//
else
//=================================================================================================================//
se (MA1>MA2)
{
tiket=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alert("Error # - ",GetLastError()," On instrument ", Symbol()); //write error//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot+1,OtkrSS1,Slip,0,sls, 0, MagicNumber,expiration);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot, OtkrBS1,Slip,0,tps, 0, MagicNumber,expiration);
//================================================================================================================//
}
//==================================================================================================================//
// se SELLSTOP è scattato, cancella BUYSTOP
if(OrderSelect(t1, SELECT_BY_TICKET))
{
if(OrderType()==OP_SELL)
{
OrderDelete(t2);
}
}
//----
// se BUYSTOP è scattato, cancella SELLSTOP
if(OrderSelect(t2, SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
OrderDelete(t1);
}
}
Sei confuso sulle condizioni. Credo che tu abbia le parentesi {} nel posto sbagliato:
O qualcosa del genere.
Quello che è sorprendente è che ho un EA simile. Ho controllato tutto con questo, è tutto uguale in linea di principio. Funziona, e questo no...
La differenza è che l'altro EA ha solo una posa per l'entrata in acquisto e due pendenti.
biglietti nelle variabili globali? (al di fuori dell'avvio e di altre funzioni)
In caso contrario, vengono resettate ad ogni tick.
Inserite più Print()-s ad ogni passo dell'Expert Advisor, poi capirete dove si blocca e cosa non fa.
URRÀ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Vincitore !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
biglietti nelle variabili globali? (al di fuori dell'avvio e di altre funzioni)
In caso contrario, vengono resettate ad ogni tick.
Inserite più Print()-s ad ogni passo dell'Expert Advisor, poi capirete dove si blocca e cosa non fa.