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

 
ma in realtà, di solito cerco di usare GetLastError() più estesamente in questi casi. Naturalmente, non sono un professionista.
 
pepsi писал(а) >>
Infatti, in questi casi di solito cerco di usare GetLastError() più ampiamente. Naturalmente, non sono un professionista.

Capisco che GetLastError() dovrebbe dire perché qualcosa non viene fatto, per esempio se un thread è occupato, ma non ho niente da fare!

 
Skydiver >> :

Immagino che tu abbia bisogno di 3 ordini da aprire per strumenti diversi? Perché non fare una variabile bandiera per esempio

Nelle variabili globali creare

int flag=0;
string Symb;

///////////////

poi

int start()
{
if (условие открытия)
{flag=1;}

if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}

if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}

if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}


Inoltre sarebbe bene aggiungere il controllo dell'apertura e solo dopo che il controllo ha avuto successo spostare la bandiera.

Grazie mille, farò una prova!

 
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print ("posizione lunga aperta al prezzo",OrderOpenPrice( ));
}

else Print ("Error opening long position:",GetLastError());


restituisce un errore se OrderSelect() fallisce.


if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, 0, WindowExpertName(),
Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());


Restituisce un errore se OrderSend() fallisce.
 
c'è una teoria che è OrderSend() che fallisce
 
Stimati esperti, chi ha un indicatore che mostrerebbe su ogni time frame i livelli di max-min per 25 e 50 barre e se il prezzo rimbalza da questo livello in qualsiasi time frame in questo luogo è rimasto una linea e rimane fino a quando il prezzo la rompe?
 
pepsi писал(а) >>
c'è una versione che è OrderSend() che non funziona

Qualche idea sul perché funzioni sul tester?

 
sten1981 >> :

Qualche idea sul perché funzioni sul tester?

No. Ma quello che sto dicendo è che usando la funzione Print più estesamente (anche se senza il successivo GetLastError),

si può vedere molto meglio come l'EA sta facendo trading.

 

per esempio in questo modo:




if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )

{

print(" La condizione per un ordine di acquisto è soddisfatta");

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,",16895,0,DeepSkyBlue);

se(biglietto>0)

}

 
allora la demo del diario di bordo mostrerà tutto più chiaramente. È più chiaro dove cercare l'errore. Da solo...