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

 
ikatsko: Quello che non capisco dal frammento: iTime darà il valore del tempo di apertura della barra spostato rispetto al tempo corrente del numero di barre da superare. Significa che il tempo così ottenuto sarà sempre inferiore al tempo corrente. Con ogni nuova barra sarà anche spostata verso l'alto. E tutto questo è legato a un'altra persona. E allora? Come funzionerà per saltare una barra?

Sostituisci OrderOpenTime con l'ora del tuo comando

f(iTime(Symbol(),period_bar,number_of_bars_to_skip)<your_command_time) return

 
paukas:

Sostituisci OrderOpenTime con l'ora del tuo comando

f(iTime(Symbol(),period_bar,number_of_bars_to_pen)<your_command_time) return

Penso di aver capito. time_your_command imposta l'inizio della prossima barra e ilritorno si ferma dopo il_bars_to_skip ! Pulito. Grazie!
 
Bicus:

Cosa c'è di più complicato di questo?

Il 0-esimo elemento dell'array avrà il prezzo dell'ultimo tick, il 1° elemento avrà il prezzo di 1 tick fa, il 2° elemento avrà il prezzo di 2 tick fa ecc.

O ho frainteso qualcosa e intendevo qualcos'altro?

Sono nuovo in questo, sto imparando da un libro di testo per conto mio - puoi fare lo spelling per me?
#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5]; //мы объявили массив с пятью значениями внутри

void PutStack (double p_Price) //вот мне не понятно. Эта функция выступает как шаблон? Она показывает программе, как работать? Объясните что это плз.
{
  int nCounter; //создали переменную целого числа
  
  for (nCounter = 4; nCounter > 0; nCounter--) //это цикл, который начинается с 4х и идет к нулю (я так понял - он будет сохранять 4 тика)
    aPrices [nCounter] = aPrices [nCounter - 1]; //присваиваем массиву (например) с номером 3 значиние массива с номером  2 (а разве надо не наоборот?). 
    
  aPrices [0] = p_Price; //если p_Price - это тик, то в этой строчке мне все понятно - мы присваиваем первому значению массива настоящий тик.
}

int start()
{
  int nCounter; //опять создали переменную целого числа
  
  PutStack (Bid); //тут не понятно... Putstack=Bid?
  
  for (nCounter = 0; nCounter < 5; nCounter++) //тут создаем цикл, который идет от нуля, чтоб заполнять массив, но почему внутри его нет массива? он не нужен?
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits)); //тут выводим значение
}
 

Buon pomeriggio, cari esperti.

Ho cercato tutto l'aiuto e non ho trovato nessuna risposta sui forum. La domanda è semplice: MQL4 ha una semplice funzionalità per segnalare il tempo in cui un ordine pendente scatta o no?

Dalle informazioni disponibili, non esiste una tale funzione. La funzione OrderOpenTime() indica il momento in cui un ordine pendente è stato piazzato per l'esecuzione, ma mi sembra che non saremmo in grado di scoprire il momento in cui è diventato un ordine a mercato senza usare un EA per tracciare lo stato dell'ordine sul conto.

Si prega di consigliare se qualcuno ha una soluzione semplice. L'Expert Advisor è piuttosto improduttivo, non ha senso usarlo permanentemente se i suoi servizi sono richiesti solo una o due volte al giorno. Abbiamo bisogno di qualcosa di più semplice, sarebbe una funzione incorporata, che informerebbe sul tempo del suo innesco... Il trader ne ha bisogno per una corretta contabilizzazione degli ordini in base al loro tempo di apertura, in modo che, per esempio, sia sempre possibile dire quale degli ordini attualmente aperti o già chiusi ha l'ultimo tempo di apertura. Nel caso dell'ordine pendente, non possiamo farlo. L'ordine pendente potrebbe essere piazzato 2 ore fa e chiudersi un'ora fa, in quell'intervallo di un'ora altri ordini potrebbero aprirsi e chiudersi e nel terminale il tempo di apertura dell'ordine pendente che è diventato a mercato è di 2 ore e abbiamo bisogno di sapere il tempo effettivo della sua attivazione.

Sarò lieto di ricevere i vostri commenti.

 
Starting:

Buon pomeriggio, cari esperti.

Ho cercato tutto l'aiuto e non ho trovato nessuna risposta sui forum. La domanda è semplice: MQL4 ha una semplice funzionalità per riportare il tempo di attivazione dell'ordine pendente o no?

Dalle informazioni disponibili, non esiste una tale funzione. La funzione OrderOpenTime() indica il momento in cui un ordine pendente è stato piazzato per l'esecuzione, ma mi sembra che non saremmo in grado di scoprire il momento in cui è diventato un ordine a mercato senza usare un EA per tracciare lo stato dell'ordine sul conto.

Si prega di consigliare se qualcuno conosce una soluzione semplice. L'Expert Advisor è piuttosto improduttivo, non ha senso usarlo permanentemente se i suoi servizi sono richiesti solo una o due volte al giorno. Abbiamo bisogno di qualcosa di più semplice, sarebbe una funzione incorporata, che informerebbe sul tempo del suo innesco... Il trader ne ha bisogno per una corretta contabilizzazione degli ordini in base al loro tempo di apertura, in modo che, per esempio, sia sempre possibile dire quale degli ordini attualmente aperti o già chiusi ha l'ultimo tempo di apertura. Nel caso dell'ordine pendente, non possiamo farlo. L'ordine pendente potrebbe essere piazzato 2 ore fa e chiudersi un'ora fa, in quell'intervallo di un'ora altri ordini potrebbero aprirsi e chiudersi e nel terminale il tempo di apertura dell'ordine pendente che è diventato a mercato è di 2 ore e abbiamo bisogno di sapere il tempo effettivo della sua attivazione.

Sarò lieto di ricevere i vostri commenti.

Non capisco perché non sei contento dell'EA, non stai per fare un complesso sistema di trading basato su una rete neurale con auto-ottimizzazione, devi solo controllare ogni tick per vedere se il pendolo sta lavorando e quando lo fa riceveresti un messaggio di testo sullo schermo o audio o entrambi, il calcolatore può farlo, niente di cui preoccuparsi o hai problemi a scrivere il computer?
 
CLAIN:
Sono nuovo in questo, sto imparando da un libro di testo per conto mio - puoi fare lo spelling per me?

Il libro di testo non risponde alle sue domande?
 

Riportato:

Pyxlik2009 14.10.2011 03:52

Ragazzi, ditemi cosa significa l'errore (numero intero non valido come parametro 10 per la funzione OrderSend) e come risolverlo?

 

Buona giornata a tutti, esperto di codice del programma!

Se potessi spiegarmi la situazione, nel mio EA l'intero scopo di piazzare un ordine è ad una certa ora e un ordine al giorno:

int H=Hour(),
    M=Minute();
if(H>=21 && M>=40)
{
   {
    Alert("Ордер открыт-",Ticket);
    return(0);
    }
   else 
   {
   Alert("Ошибка№=",GetLastError());
   return(0);
   }
}

Ma ho notato cheif(H>=09 && M>=40) eif(H>=21 && M>=40) hanno le stesse condizioni e risulta che l'ordine sarà effettuato almeno due volte al giorno.

Cosa devo fare per evitare questo problema?

Grazie per il sostegno!

 

Starting:

.... È improduttivo fare un esperto come un esperto, e ha senso avere un esperto su base regolare, se i suoi servizi sono necessari una o due volte al giorno.


Esiste una cosa come un copione. Quando ne hai bisogno, lo esegui.
 
Valdemar:

...Ho notato che le condizioniif(H>=09 && M>=40) eif(H>=21 && M>=40) sono le stesse e risulta che l'ordine sarà effettuato almeno due volte al giorno.
Cos'altro avrei dovuto fare per evitare questo problema?

Controllate spesso le FAQ, c'è un gran numero di esempi che possono essere utili. E potete costruire le vostre funzioni basate su di esse.
isTradeTimeString - Restituisce la bandiera che permette di negoziare in base al tempo.
isTradeTimeInt - Restituisce la bandiera per permettere il trading in base al tempo.
Motivazione: