[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 65

 
Vinin:

Lo farò a modo mio e il conto alla rovescia sarà diverso. Vado sempre dal passato al presente. È una questione di gusti, però. Non ha molta importanza con il giusto approccio.

Salve,

Per favore, aiutatemi con la pagina. (Post 56, 58 pagine).

 
Roger:


Probabilmente troppo veloce, avresti dovuto studiare un po'. :-)

Allora sapresti che compri alla domanda e vendi all'offerta. Se li vendessimo, il loro prezzo sarebbe inferiore a quello dell'offerta.


No, è proprio il contrario di quello che hai scritto. Certo, grazie per l'attenzione. Ci ho pensato molto, ho capito questo e quello, e ti sbagli.

In generale, vedo che il problema non è negli Aks e Bids, e non l'ho risolto.

 
Dimka-novitsek:

Mi dispiace, anch'io sono con la mia, qui ho appena sgorgato il codice e non funziona.

//+------------------------------------------------------------------+
//| tipo di ordine.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp.
#proprietà link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int init()
{
//----

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

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
doppio New_Time=0,razniza, r; int i=0,h=0,q=0,w=0,s=0,g=0;
int start()
{int M,Y;
//----
double ticket,Lots=0.2,fractal_u=Ask,TakeProfit=50,Points = MarketInfo (Symbol(), MODE_POINT);
//----
se (i<10)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"aprire una posizione",163899,0,Red); if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);i++; }
Alert("OrderTypeOP_BUYSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Bid,5, 0 );



se (h<10)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"aprire una posizione",163899,0,Red); if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);h++; }
Alert("OrderTypeOP_SELLSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Ask,5, 0 );

se (q<10)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,0,5*Points+TakeProfit*Points,
"aprire una posizione",163899,0,Red); if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time); q++; }
Alert("OrderTypeOP_BUY",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Bid,5, 0 );

se (w<10)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,5*Points+TakeProfit*Points,
"aprire una posizione",163899,0,Red); if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);w++; }
Alert("OrderTypeOP_SELL",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Ask,5, 0 );

se (s<10)
{
ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"aprire una posizione",163899,0,Red); if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time); s++; }
Alert("OrderTypeOP_BUYLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Ask,5, 0 );

se (g<10)
{
ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"aprire una posizione",163899,0,Red); if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);g++; }
Alert ("OrderTypeOP_SELLLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket, Lots, Bid, 5, 0 );






//----
ritorno(0);
}
//+------------------------------------------------------------------+

L'ho fatto abbastanza velocemente, l'ho impostato con lo scopo di ottenere un valore numerico del tipo di ordine, apre e chiude tutti gli ordini in una riga, intendo tutti i tipi. Ho controllato OrderClose con l'istruzione, i parametri sembrano essere prescritti ragionevolmente, correttamente e al loro posto. Di cos'altro ha bisogno?????

[Eliminato]  

Alert("Current time day", iTime(NULL,PERIOD_D1,5));

questo mi dà 0, aggiunto:

Alert("",GetLastError());

dà un errore 4054

ERR_INCORRECT_SERIESARRAY_USING4054Uso scorretto dell'array di serie temporali

Cosa sto facendo di sbagliato?


[Deleted]  

Per favore, aiutatemi. Il codice dovrebbe cancellare tutti gli ordini a mercato su tutte le coppie, ma in pratica cancella solo quelli sulla finestra in cui viene lanciato l'EA. Per favore aiutatemi a trovare l'errore.


void CloseAll_b(int Prosk){
stringa SMB=Simbolo();
for (int i=OrdersTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
Alert("Errore ",GetLastError()," quando il numero dell'ordine è selezionato ",OrderTicket()," per coppia ",Symbol());
}
else{
if(OrderSymbol()!=Symbol()){continua;}
RefreshRates();
se(OrderType()==OP_BUY){
if(!OrderClose(OrderTicket(),OrderLots(),Bid,Prosk,CLR_NONE)){
Alert("Error ",GetLastError(),",OrderTicket(),",Symbol()) alla chiusura dell'ordine di acquisto;
}
}
se(OrderType()==OP_SELL){
if(!OrderClose(OrderTicket(),OrderLots(),Ask,Prosk,CLR_NONE)){
Alert("Errore ",GetLastError(),{ quando Sell order number is closed ",OrderTicket(),{ by pair ",Symbol());
} } } } }

Grazie in anticipo.

 
nemo811:

Per favore, aiutatemi. Il codice dovrebbe cancellare tutti gli ordini a mercato su tutte le coppie, ma in pratica cancella solo quelli sulla finestra in cui viene lanciato l'EA. Per favore aiutatemi a trovare l'errore.


ma tu stesso hai impostato il vincolo :))

if(OrderSymbol()!=Symbol()){continua;}

[Deleted]  
sergeev:

ma tu stesso hai impostato il vincolo :))

if(OrderSymbol()!=Symbol()){continua;}


Sono d'accordo - stupido :)) Come dovrebbe essere?
 
nemo811:

Sono d'accordo - stupido :))) Qual è il modo giusto?
... Devi solo rimuoverlo, non vuoi estirpare le valute. Quindi dobbiamo rimuovere questa condizione.
[Deleted]  
L'ho rimosso, ma gli ordini di altre coppie non sono ancora chiusi. L'errore 129 (prezzo sbagliato) ha iniziato a comparire
 
nemo811:
L'ho rimosso, ma i miei ordini per altre coppie non si chiudono comunque. L'errore 129 (prezzo sbagliato) continua ad apparire

a destra salta fuori.

Devi prendere Bid e Ask dalla funzione MarketInfo

come - ask= MarketInfo(OrderSymbol(), MODE_ASK);

e non dimenticare di normalizzare
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS))