[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 901

 

suggerimento, perché sono confuso.

Ho trovato il prezzo dell'ultimo ordine aperto.

Voglio che l'ultimo ordine aperto si chiuda a:

if((Ask - цена последнего открытого ордера) >= 30 * Point)  OrderClose;
 

Buongiorno!

Potete dirmi se è possibile chiudere tutti gli ordini pend enti nella funzione speciale deinit() (per chiudere tutti gli ordini pendenti in caso di fallimento di internet)? Il mio EA ne chiude solo una parte. Forse, non è riuscito a farlo in tempo (ho provato fino a 7 ordini pendenti)? Oppure, ha qualche tipo di errore e tutti gli ordini dovrebbero essere chiusi indipendentemente dal loro numero? Sugli ordini pendenti rimanenti, l'Expert Advisor semplicemente non inserisce "sì" alla condizione di chiusura, anche se è -

se (OrderSelect(i-1,SELECT_BY_POS)==true)

- è compiuto e dovrebbe entrare... Salta a "no" su tutti gli ordini rimanenti e quindi non li chiude. Possiamo chiuderli in modo diverso, cioè tre ordini su cinque o 4 ordini su 7, o 1 ordine su 7. Cosa c'è che non va?

 
sanyooooook:
Determinare il tempo della linea tramite ObjectGet e trovare il numero della barra tramite iBarShift

Grazie, ma potresti anche spiegare come convertire correttamente il numero di secondi in datetime?
 
volshebnik:

Buongiorno!

Potete consigliarmi se è possibile chiudere tutti gli ordini pendenti nella funzione speciale deinit() (per chiudere tutti gli ordini pendenti in caso di fallimento di internet)? Il mio EA ne chiude solo una parte. Forse, non è riuscito a farlo in tempo (ho provato fino a 7 ordini pendenti)? Oppure, ha qualche tipo di errore e tutti gli ordini dovrebbero essere chiusi indipendentemente dal loro numero? Se ci sono altri ordini pendenti, l'Expert Advisor semplicemente non inserisce la condizione di chiusura 'sì', nonostante il fatto che questa condizione

se (OrderSelect(i-1,SELECT_BY_POS)==true)

- e dovrebbe entrarci ... Salta a 'no' su tutti gli ordini rimanenti e quindi non li chiude. Si chiude in modo diverso - tre su cinque, o 4 su 7, o 1 su 7. Cosa c'è che non va?


Non ci sono miracoli. Ma il ciclo che farei è così:

for (int i=OrdersTotal()-1;i>=0;i--)

Allora sarebbe diverso.

 

Salve.

Come posso scrivere una condizione per aprire un trade con i primi tick di una nuova barra e chiuderlo con gli ultimi tick della barra?

se (????)

 
Salve, una richiesta da parte di un manichino per persone competenti! Vorrei fare un avviso per l'indicatore della metropolitana. Serve un segnale quando il valore della linea lenta, ma non alla chiusura della barra, e all'inizio di cambiare il valore! Chi non è difficile, per favore scriva, o aiuti a scrivere una tale funzione! Grazie in anticipo!
 
Vinin:


Non ci sono miracoli. Ma io farei un loop come questo:

for (int i=OrdersTotal()-1;i>=0;i--)

Allora sarebbe diverso.

Vinin: Grazie mille! Tutto si chiude ora quando si spegne EA o si chiude il terminale, ma.... Se spengo internet e non spengo il terminale, e lo riaccendo dopo più di un minuto - il consulente non si chiude e gli ordini, rispettivamente, anche. C'è un modo per chiudere automaticamente l'EA se si perde la connessione internet?
 
volshebnik:
Vinin: Grazie mille! Tutto si chiude ora quando si spegne EA o si chiude il terminale, ma.... Se spengo internet e non spengo il terminale, e lo riaccendo dopo più di un minuto - l'EA non si chiude e gli ordini, rispettivamente, anche. C'è un modo per chiudere automaticamente l'EA se si perde la connessione internet?


Non ci sono miracoli. Per chiudere una posizione, hai bisogno di una connessione (deve avere internet), una connessione primaria o di backup.

Consiglierei di usare solo VPS.

 

Buona giornata, se potete aiutarmi,

//+------------------------------------------------------------------+
//| I confini di Dimon .mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#proprietà link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1,TakeProfit=50,stoploss=10;
int init()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation;

Media=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
newres=Close[i]-Media;
sum=newres*newres;


deviazione=BandsDeviations*MathSqrt(sum/BandsPeriod);
Verhnyayaghranytsa=Media+deviazione;
Nyzhnyayaghranytsa=deviazione media;
//----
se (Verhnyayaghranytsa<Close[i])
{ Comment(" boa! ",Verhnyayaghranytsa );
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point, "macd sample",16384,0,Green);

}


se (Nyzhnyayaghranytsa>Close[i])
{ Comment(" Sell! ",Nyzhnyayaghranytsa );

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+stoploss*Point,Bid-TakeProfit*Point, "macd sample",16384,0,Red);
}
ritorno(0);
}
//+------------------------------------------------------------------+

Indicatore sorride, scrive vendere o boa, ma nessun commercio come tale, forse ho prescritto OrderSend sbagliato, o non so.Se è possibile, aiuto!!!

 
Qui.
Motivazione: