[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 478

 

Salve.

Potete per favore aiutarmi a mettere un'espressione dll -ku, come:

datetime FT = TimeCurrent();
int      reb=12;

Grazie in anticipo.

 
nemo811:

Salve.

Potete per favore aiutarmi a mettere un'espressione dll -ku, come:

Grazie in anticipo.

Ritirato, ce l'ho.
 

Ciao!

Forse qualcuno ha avuto questo problema in MQL5. A volte (in circa un caso su cento) l'EA non può cancellare un ordine pendente fino a quando io stesso non cancello manualmente tutti gli ordini pendenti. In questo caso nessun errore viene semplicemente cancellato. O forse qualcun altro li rimuove? Se qualcuno è disposto ad aiutare, se necessario vi invierò login e password e numero di conto con "ordini catturati". Grazie in anticipo.

void OnTick()
{
Richiesta MqlTradeRequest;
MqlTradeResult risultato;
MqlTradeCheckResult check Result;
//------ cancellare l'ordine ------
request.action=TRADE_ACTION_REMOVE;
//request.order=OrderGetTicket(0);
request.order=8273050; // specifica esplicitamente di non cancellare tutto
if(OrderCheck(request,checkResult))
{
Alert(richiesta.ordine);
Alert(richiesta.azione);
OrderSend(richiesta,risultato);
}
else
{
Alert("Errore: ",checkResult.retcode);
}
}

 
Andreyu:

Ciao!

Forse qualcuno ha avuto questo problema in MQL5. A volte (in circa un caso su cento) il mio EA non riesce a cancellare un ordine pendente fino a quando io stesso non cancello manualmente tutti gli ordini pendenti. In questo caso nessun errore viene semplicemente cancellato. O forse qualcun altro li rimuove? Se qualcuno è disposto ad aiutare, se necessario vi invierò login e password e numero di conto con "ordini catturati". Grazie in anticipo.

Hai sbagliato forum.
 
Reshetov:
Il tuo problema principale è che iBars non carica i prezzi, ma il numero di barre conosciute per un dato periodo. E, come ho appena controllato, lo fa abbastanza correttamente sia nel tester che sul grafico.

non scarica, ma restituisce quelli già scaricati.

Temo che lei non abbia letto attentamente la mia domanda o che io abbia capito male.

Puoi darmi il codice che hai usato per controllare la tua dichiarazione?

 
palladin:

Comunque, ecco la domanda,

Ho un indicatore multiperiodale.

Per ottimizzare i calcoli, uso il seguente ciclo



// TimeFrames[i] массив с периодами

for (i=0; i<NumTimeFrames; i++)

{
if (total_bars[i] != iBars(instrument, TimeFrames[i]) )
{

// тут вычисления индиктора

total_bars[i] = iBars(instrument, TimeFrames[i]);
}

}



Il problema principale è che iBars non carica i prezzi di periodi diversi da quello attuale...

tutti i trucchi MQL come IndicatorCounted e RefreshRates

funziona solo per il periodo corrente, cioè iBars prende dalla storia e la storia viene caricata solo cambiando il periodo sul grafico. Cosa fare? MQL ha qualche strumento per caricare barre di altri periodi (diversi da quello corrente) in background?


p.s. spero di non aver divagato ((

Come si fa a rispondere senza sapere che NumTimeFrames TimeFrames[i] è vuoto o cosa?

Scrivere più completamente, come, o meglio cosa leggere se non c'è niente. Date il codice completo, altrimenti molto probabilmente "rosicchierete il granito della scienza",,,,)) if(true)continue; else return("Sleep("+7*1000*60*60+")");

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TimeFrames[]={0,1,5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument="EURUSD";
for(i=0; i<NumTimeFrames; i++)
  {
   if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {
       total_bars[i]=iBars(instrument,TimeFrames[i]);
     }
  }
 
Ciao, il problema è il seguente esempio alle 00.00 GMT mettere gli ordini in sospeso e alle 10.00 gmt per esempio bisogno di rimuovere questi ordini se non hanno aperto. o se uno ha aperto, dovrebbe essere lasciato e il resto rimosso? la domanda è come sapere se l'ordine attivato o no?
 
Potete dirmi se c'è un modo per rendere OrdersHistoryTotal() uguale a zero? È necessario reinstallare MT4? Perché se apro un nuovo grafico, non aiuta
 
CLAIN:
Potete dirmi se c'è un modo per rendere OrdersHistoryTotal() uguale a zero? È necessario reinstallare MT4? Perché se apro un nuovo grafico, non aiuta

Per questo devi aprire un nuovo conto
 
frixer:
Salve, il problema è il seguente esempio alle 00.00 GMT vengono piazzati degli ordini pendenti e alle 10.00 gmt per esempio questi ordini dovrebbero essere rimossi se non si sono aperti. Oppure se uno si è aperto, dovrebbe essere lasciato e il resto dovrebbe essere rimosso? La domanda è come faccio a sapere se l'ordine ha funzionato o no?

Se fai un ordine in sospeso, ricorda il biglietto. Se non c'è un ordine pendente, ma c'è un ordine a mercato del tipo in cui l'ordine pendente è convertito e i loro ticket corrispondono, allora l'ordine pendente è scattato.

Per esempio: si piazza una posizione BuyStop. La funzione restituisce il biglietto dell'ordine impostato - voi lo salvate in una variabile o in un array.

Supponiamo che abbia il biglietto 1.

Si controlla se c'è un ordine BuyStop in sospeso. Se non si trova, allora si controlla se c'è una posizione Buy. Se è così, confronta il biglietto annotato con la posizione Buy. Se coincidono, significa che il BuyStop pendente viene trasformato in Buy di mercato.

Motivazione: