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

 
Grazie a tutti. Sembra che abbia funzionato da zero.
 
smogsam >> :

Salve.

Come faccio a sapere se è scattato lo SL o il TP. Per esempio, se un ordine si chiude su

SL o TP, eseguire così e così. Non ho trovato tale funzione.

Non ci sono funzioni standard, ma è possibile aggiungere segnali nella finestra del terminale (suono, file, posta).

Se usi un EA, puoi aggiungere sia un segnale che un allarme e .....

 
E allora? Ho bisogno di un esperto.
 

Un'altra domanda. Se(OrdiniTotali()==0) questo... se il numero di ordini aperti è uguale a zero... allora come sarà...se il numero di ordini aperti PER GIORNO è zero.

Non c'è qualcosa come OrdersDayTotal?

 
smogsam >> :
E allora? Ho bisogno di essere in un esperto.

Beh, come quello che

"Se usi un EA puoi aggiungere sia un segnale che un allarme e ....."

"..." Potrebbe essere qualsiasi cosa fino allo spegnimento del PC.

 
future >> :

Un'altra domanda. Se (OrdiniTotali()==0) questo... se il numero di ordini aperti è uguale a zero... Se il numero di ordini aperti PER IL GIORNO è uguale a zero, cosa accadrebbe?

Non c'è qualcosa come OrdersDayTotal?

Supponiamo che un ordine Buy sia aperto, poi chiudiamo un ordine Buy su un segnale Sell, o che un ordine Buy sia aperto, poi scaliamo su un segnale Buy

OrderType()

Vedere Aiuto

Riferimento MQL4 - Funzioni di trading - OrderType

OrderOpenTime( )
 

A quanto pare nessuno dei professionisti lavora con dd.

Forse qualcuno sa come mettersi in contatto con Mamadu, che è l'autore dell'articolo,

su cui ho fatto domande in tutta la rete (senza risultato). Lui è Dmitriy.

 
smogsam >> :

Salve.

Come faccio a sapere se è scattato lo SL o il TP. Per esempio, se un ordine è chiuso a

SL o TP, eseguire questo o quello. Non ho trovato questa funzione.

Io uso il seguente schema.

//Determinare se il commercio precedente si è concluso con un profitto o una perdita
//------------------------------------------------------------------------------------------------------------------------------------------------
se (OrderSelect(Tic_Verh,SELECT_BY_TICKET)==true)
{
if (OrderComment()=="[sl]")_SL[0]=-1;
if (OrderComment()=="[tp]")_SL[0]=1;
}
se (OrderSelect(Tic_Niz,SELECT_BY_TICKET)==true)
{
if (OrderComment()=="[sl]")_SL[0]=-1;
if (OrderComment()=="[tp]")_SL[0]=1;
}
Le variabili di tipo INT sono segnate in rosso, contengono numeri di TICs quando si apre una posizione

La variabile _SL[0] è dichiarata come un array unidimensionale di un elemento, cioè int _SL[1]

 

Vi prego di consigliarmi come scrivere un EA che non riesco a capire. Apro un ordine di acquisto in un dato momento, se il prezzo si discosta di 10 pips più in basso si dovrebbe aprire un ordine di vendita.
Il primo ordine si apre per comprare e quando il prezzo devia verso il livello basso l'ordine di vendita non viene aperto. Se il mercato sale di 10 pip la funzione di chiusura dell'ordine non viene avviata.
ecco una parte del codice


.......................
.......................


bool opb1=true;
bool ops1=true;
int start()
{

int Cur_Hour=Hour(); // Tempo del server in ore
double Time_Cls=9.25;
double Cur_Min=Minute();
double Cur_time=Cur_Hour + Cur_Min*0.01; // Ora corrente


if (Cur_time>=Time_Cls)

{
if (opb1==true){

double bid =MarketInfo("EURUSD",MODE_BID);
double ask =MarketInfo("EURUSD",MODE_ASK);
double point =MarketInfo("EURUSD",MODE_POINT);
double bid1 =bid+50*Point;
double ask1=ask-50*Point;
double bid2=bid;
double ask2=ask-100*Point;


OrderSend(Symbol(),OP_BUY,0.1,Ask,50,Bid-400*Point,Bid+200*Point);
Alert (GetLastError());

opb1=false;}

if(MarketInfo("EURUSD",MODE_BID)>= bid1)


{
Close_All(0); //chiude la funzione buy
return(0);
}
if(MarketInfo("EURUSD",MODE_ASK)<=ask1)

{
ask =MarketInfo("EURUSD",MODE_ASK); //
bid =MarketInfo("EURUSD",MODE_BID); //
point =MarketInfo("EURUSD",MODE_POINT);//
if (ops1==true){
OrderSend(Symbol(),OP_SELL,0.3,Bid,50,Ask+400*Point,Ask-200*Point);
Alert (GetLastError());
ops1=false;}
if(MarketInfo("EURUSD",MODE_ASK)<=ask2)
{
Close_All(1);// chiudere la funzione di vendita
Close_All(0);
return(0);
}
o forse sto impostando male la condizione di apertura?

 

Vi prego di consigliarmi come scrivere un EA che non riesco a capire. Apro un ordine di acquisto in un dato momento, se il prezzo si discosta sotto i 10 pips si dovrebbe aprire un ordine di vendita.
Il primo ordine si apre per comprare e quando il prezzo devia verso il livello basso l'ordine di vendita non viene aperto. Se il mercato sale di 10 pip la funzione di chiusura dell'ordine non viene avviata.
ecco una parte del codice


.......................
.......................


bool opb1=true;
bool ops1=true;
int start()
{

int Cur_Hour=Hour(); // Tempo del server in ore
double Time_Cls=9.25;
double Cur_Min=Minute();
double Cur_time=Cur_Hour + Cur_Min*0.01; // Ora corrente


if (Cur_time>=Time_Cls)

{
if (opb1==true){

double bid =MarketInfo("EURUSD",MODE_BID);
double ask =MarketInfo("EURUSD",MODE_ASK);
double point =MarketInfo("EURUSD",MODE_POINT);
double bid1 =bid+50*Point;
double ask1=ask-50*Point;
double bid2=bid;
double ask2=ask-100*Point;


OrderSend(Symbol(),OP_BUY,0.1,Ask,50,Bid-400*Point,Bid+200*Point);
Alert (GetLastError());

opb1=false;}

if(MarketInfo("EURUSD",MODE_BID)>= bid1)


{
Close_All(0); //chiude la funzione buy
return(0);
}
if(MarketInfo("EURUSD",MODE_ASK)<=ask1)

{
ask =MarketInfo("EURUSD",MODE_ASK); //
bid =MarketInfo("EURUSD",MODE_BID); //
point =MarketInfo("EURUSD",MODE_POINT);//
if (ops1==true){
OrderSend(Symbol(),OP_SELL,0.3,Bid,50,Ask+400*Point,Ask-200*Point);
Alert (GetLastError());
ops1=false;}
if(MarketInfo("EURUSD",MODE_ASK)<=ask2)
{
Close_All(1);// chiudere la funzione di vendita
Close_All(0);
return(0);
}
o forse sto impostando male la condizione di apertura?

Motivazione: