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

 
Ciao, per favore aiutatemi! C'è una funzione che restituisce ad ogni tick il valore OrderCloseTime dell'ultima posizione chiusa! Come posso confrontare questo valore con il precedente valore OrderCloseTime, e se è maggiore - fare un po' di follow up. Grazie in anticipo!
 
dimon74:
Ciao, per favore aiutatemi! C'è una funzione che restituisce ad ogni tick il valore OrderCloseTime dell'ultima posizione chiusa! Come posso confrontare questo valore con il precedente valore OrderCloseTime, e se è maggiore - fare un po' di follow up. Grazie in anticipo!
Cosa intende per precedente? Vuoi confrontare il tempo successivo con quello precedente? Ovviamente il più nuovo sarà sempre più grande del più vecchio!
 
Techno:
Cosa intende per prima? Volete confrontare un'epoca successiva con una precedente? Ovviamente, il più nuovo sarà sempre più grande del più vecchio!
Sì, ma come posso fare il follow-up sulla base di questo confronto?
 
dimon74:
Sì, ma come posso fare il follow-up sulla base di questo confronto?
Vi rendete conto che la condizione (se ieri è passato e oggi è presente) non ha senso, perché la stessa cosa tornerà sempre.
 
PapaYozh:

È difficile dire cosa avete lì. Personalmente, non vedo che "La posizione Buy ha chiuso di punto in bianco al livello TakeProfit di una posizione Sell già chiusa". La posizione di Sell sotto la quale la freccia è disegnata non sembra contenere alcun trattino.

Non usi OrderCloseBy() nel tuo codice?

È strano che tu non lo veda. Ok - ho corretto l'immagine:


1 - questa è la posizione con il biglietto 88

2 - in attesa di SellStop con biglietto 89

3 e 4 sono posizioni di vendita

3.t e 4.t - sono linee che indicano i livelli di Takei delle posizioni Sell 3 e 4 già chiuse

3.1 e 4.1 - punti di chiusura delle posizioni 3 e 4, e posizione Sell 3 chiusa in perdita

1.1 - questo è il punto di chiusura della posizione Buy con Ticket 88 - c'è una linea verticale turchese e una linea orizzontale del livello di prezzo Bid,
che attraversa appena la linea rossa 3.t - il punto in cui Take è stato chiuso Sell 3 posizione...

Non uso OrderCloseBy(), anche se inizialmente avevo pensato...

L'idea è questa: quando una serie di posizioni perdenti viene chiusa, viene controllata la possibilità di aprire una nuova posizione, e se rimane una certa quantità di denaro,
, lo stop viene rimosso dall'ultima posizione perdente (si può vedere nell'immagine - la linea blu sotto la posizione Buy), e viene piazzato un ordine pendente.
Quando un'operazione pendente viene convertita in un'operazione a mercato, i ticket di queste due posizioni (Acquistare (ticket 88) e Vendere (ticket 89)) vengono memorizzati e inoltre vengono "mantenuti" già come una posizione aggregata
e vengono chiusi dal profitto (perdita) aggregato. In questo caso il trading in Buy è proibito fino a quando queste due posizioni sono chiuse, mentre il trading in Sell è permesso in ogni caso.

Ed è qui che succede la cosa divertente - la posizione Buy si chiude da sola in un modo che non è specificato nel codice... Non ho idea di come... Subito dopo un mucchio di errori appaiono nel log su
- appaiono ad ogni tick. Oh, cavolo... l'ha già chiuso... se la memoria non mi inganna - errore 5048... biglietto sbagliato per OrderClose()
Qualcosa del genere... E poi un altro errore di modifica dell'ordine - un biglietto sconosciuto #88 è anche scritto...

Cercando per il terzo giorno...

 
dimon74:
Ciao, per favore aiutatemi! C'è una funzione che restituisce ad ogni tick il valore OrderCloseTime dell'ultima posizione chiusa! Come posso confrontare questo valore con il precedente valore OrderCloseTime, e se è maggiore - fare un po' di follow up. Grazie in anticipo!
In questa condizione, restituirà sempre lo stesso valore. Questo sarà il tempo di chiusura dell'ultima posizione chiusa. Non appena una nuova posizione si apre e poi si chiude,
è quando la vostra funzione inizierà a restituire un valore diverso.

Ovviamente, è necessario anche il tempo della penultima posizione da chiudere, in modo da poter confrontare qualcosa con qualcosa. Oppure, ogni volta che avete bisogno di memorizzare il tempo restituito dalla vostra funzione in qualche variabile datetime o int, e non appena il nuovo valore non è più uguale al valore precedente restituito dalla vostra funzione - questo sarà il segnale per
"... eseguire qualche azione successiva...".
 
PapaYozh:

Ti consiglio di leggere attentamente la descrizione della funzione OrderSelect().

Il parametro pool è ignorato se l'ordine è selezionato per numero di biglietto

Porca puttana!!! Semyon Semyonych!!!

Accidenti, ho sempre l'aiuto del terminale davanti a me! Ucciso tre notti sul più semplice!!! E l'aiuto (in questo posto esatto) non ha mai guardato... :)

Giustamente disse Matroskin: "Sharik, sei un pazzo...". Ecco come mi sono trasformato in Sharik in tre notti... :)

Grazie mille! Ho messo il naso in un posto decente e sono felicissimo e grato... :) Davvero - grazie...
Uh-uh-uh-uh... r-r-r-r-r-r-i-t-i-t-i-t!!! Diamoci una mossa, finalmente... :)

 
artmedia70:
In questa condizione avrete sempre lo stesso valore restituito. Questo sarà il tempo di chiusura dell'ultima posizione chiusa. Non appena una nuova posizione si apre e poi si chiude,
solo allora la vostra funzione inizierà a restituire un valore diverso.

Ovviamente, è necessario anche il tempo della penultima posizione da chiudere, in modo da poter confrontare qualcosa con qualcosa. Oppure, ogni volta che avete bisogno di memorizzare il tempo restituito dalla vostra funzione in qualche variabile datetime o int, e non appena il nuovo valore è diverso dal valore precedente restituito dalla vostra funzione - questo sarà un segnale a
"... eseguire qualche azione successiva...".
Sì, capisco la logica, ma è possibile implementarla nel codice e se sì, come?
 
Dersu: Ciao utenti del forum.

I miei nonni mi hanno detto che è il giorno della luna di miele. Buone vacanze a tutti.

E sono con il mio... Drknn dice che è possibile elaborare le letture degli indicatori.

È possibile sommare A / D per un dato periodo e lo stesso importo OBV, e poi dividerli tra loro (OBV nel numeratore)

Il denominatore è A/D + coefficiente con uscita alle impostazioni.

Zero al centro, i confini sono fluttuanti.

Somma-NO TOTALE. Ogni movimento per valore assoluto.

Vi mostrerò un'inversione dell'EUR.

Scriviamo un indicatore con un solo buffer. Prima prendiamo la lettura di un indicatore e la impostiamo in una variabile. Poi prendiamo la lettura di un altro e la mettiamo anche in una variabile. Poi sommiamo entrambe le letture, le dividiamo in due e mettiamo il risultato nel buffer dell'indicatore. È così semplice. Non vedo quale sia il problema. Nell'ignoranza della lingua, bene, poi fare un ramo separato in cui scrivono, hanno bisogno di tacchino - pronto a pagare per la sua produzione. I termini di riferimento sono proprio qui. Questo è tutto...

Il problema dei soldi? Leggi un primer e programmalo da solo. O l'opzione numero due - nelle stesse lettere di ramo dicendo, ci sono disposti a lavorare gratuitamente - l'idea - appena super, testato cinque anni - funziona senza riserve - ecco il numero di conto, ecco la tua password di investimento - dare un'occhiata - stanco di lavorare manualmente - voglio un pilota automatico. Voglio il pilota automatico, punto e basta!

 

GRAZIE per l'attenzione, drknn.

Ho pensato nel mio tempo libero - la mia seconda idea è un po' umida.

La prima idea era più efficace - ma non si può fare così.

E il secondo - questo è un modo per uscire dalla situazione.

Ci penserò ancora un po'.

Motivazione: