Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 93

 
ivann85:

programmaticamente )))
Cosa devi trovare esattamente? Il numero della lista? Un biglietto? E se ce n'è più di uno sull'UE, questo pendolo?
Se ce ne sono due o tre-cinque milioni e tutti hanno lo stesso tipo e sono appesi alla stessa coppia, quale serve?
 
alexey1979621:

paladino80


artmedia70



Quindi aiutami con l'Expert Advisor- lo testerò da te programmazione (come il tema di lavoro), altrimenti mi impicco solo o in due mesi, quando tutti i forum sarà stupro qualcosa funzionerà.








Oh... E il numero nel tuo nickname non è per caso il numero previsto di forum violentati?

Scrivere per voi è un gioco da ragazzi. Cinquanta dollari ed è tuo. Nota - un prezzo molto democratico, quasi per niente :))

 
alexey1979621:

paladino80


artmedia70



Quindi aiutami con l'Expert Advisor- lo testerò da te programmazione (come il tema di lavoro), altrimenti mi impicco solo o in due mesi, quando tutti i forum sarà stupro qualcosa funzionerà.








Abbiamo digerito un po' il tuo consigliere, ti abbiamo detto i punti deboli, cosa fare e come farlo, ma non potrò fare le correzioni. C'è un sacco di codice tutto mio da fare.

... tranquillamente nel cloud per ottimizzare...

 
ivann85:

programmaticamente )))

Dato che non c'è una risposta alla domanda, ecco una funzione che restituirà il biglietto dell'ultimo ordine impostato:

// Возвращает тикет последнего установленного/открытого ордера
int TicketLastOrder(string sy, int op, int mn) {
   datetime t;
   int      i, j=-1, tic=0, k=OrdersTotal()-1;
   for (i=k; i>=0; i--) {
      if (OrderSelect(i,SELECT_BY_POS)) {
         if (OrderMagicNumber()!=mn)   continue;
         if (OrderSymbol()!=sy)        continue;
         if (OrderType()!=op)          continue;
         if (t<OrderOpenTime()) {
            t=OrderOpenTime();
            j=i;
            }
         }
      }
   if (OrderSelect(j,SELECT_BY_POS)) tic=OrderTicket();
   return(tic);
}
// -------------------------------------------------------------
/*
Ордера фильтруются по символу (sy), типу (op) и магику (mn)
Чтобы найти тикет последнего установленного ордера BuyLimit 
с магиком Magic на текущем графике,
нужно вызвать функцию с такими параметрами:
int Ticket=TicketLastOrder(Symbol(), OP_BUYLIMIT, Magic);
Если есть такой ордер, функция вернёт номер его тикета.
В противном случае, ф-ция вернёт ноль
*/
 

Occasionalmente, ma non costantemente, ottengo un errore 4200 quando imposto un ordine pendente. Secondo la documentazione questo errore significa che l'oggetto esiste già:

ERR_OBJECT_ALREADY_EXISTS4200Объект уже существует


Risulta che un ordine di questo tipo è già sul mercato quando viene inviato l'ordine pendente?

 
hoz:

Occasionalmente, ma non costantemente, ottengo l'errore 4200 quando piazzo un ordine pendente. Secondo la documentazione questo errore significa che l'oggetto esiste già:

ERR_OBJECT_ALREADY_EXISTS4200Объект уже существует


Risulta che l'ordine di questo tipo è già sul mercato quando viene inviato l'ordine pendente?

Questo errore si applica agli oggetti grafici, non agli ordini
 
Buona sera, Victor! Strano, l'ordine in sospeso non è un oggetto! Forse avete qualche oggetto che avrebbe dovuto essere già stato cancellato, ma non lo è stato!
 

Potete consigliarmi, amici? È la prima volta che scrivo un EA che lavora con diversi ordini pendenti allo stesso tempo, quindi mi sto chiedendo... che tipo di errori ci possono essere quando si aprono gli ordini pendenti? Su cosa dovremmo concentrarci nella funzione di gestione degli errori? Potrebbero esserci errori come 4 (il server commerciale è occupato) o 146 (il sottosistema commerciale è occupato)? Condividi se lo sai.

 
Dozol:

Potete consigliarmi, amici? È la prima volta che scrivo un EA che lavora con diversi ordini pendenti allo stesso tempo, quindi mi sto chiedendo... che tipo di errori ci possono essere quando si aprono gli ordini pendenti? Su cosa dovremmo concentrarci nella funzione di gestione degli errori? Potrebbero esserci errori come 4 (il server commerciale è occupato) o 146 (il sottosistema commerciale è occupato)? Condividi se lo sai.

Tutto può succedere nel mondo reale. Gestire, se possibile, gli errori di trading che possono verificarsi.
 

Per favore consigliatemi!!!

Sto scrivendo ordini in sospeso in un certo momento

{

Definire il tempo aperto

}

if ((condition)==true)//
{
OrderSend ( OP_BUYSTOPP, parametri);// aprire un ordine BuyStop in sospeso
OrderSend ( OP_SELLSTOP, parametri);// aprire un ordine SellStop in sospeso
}

Penso di aver scritto correttamente l'ora; la rileva ma per qualche motivo, apre o Sell Stop o Buy Stop e non li apre entrambi contemporaneamente. Cerco di aprire due ordini pendenti di tipo diverso (Bistop e Sellstop) allo stesso tempo e uno per uno. La domanda sembra essere primitiva, per favore aiutate i dummies) Grazie!)