Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 125
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Io avrei fatto così:
P.S. Risponde allo stesso tempo)))
Non capisco:
se aperto sulla prima barra, guardando da zero a zero?
Non capisco:
se aperto sulla prima barra, stiamo guardando da zero a zero?
Questa è una piccola copertura nel caso in cui il prezzo di apertura dell'ordine sia già significativamente più alto di Low al momento dell'apertura. Cioè non usiamo la barra di apertura per la ricerca. Ecco a cosa serve PERIOD_M1.
Io lo farei in modo diverso. In generale, inizierei a cercare solo quando la posizione è durata più di una barra. Dopo tutto, il miglior prezzo potrebbe essere proprio sulla barra di apertura, e noi lo sprecheremo...
Sono d'accordo. Probabilmente sarebbe più efficiente ricordare il prezzo minimo (o massimo) per ogni ordine aperto nell'array ad ogni tick, e chiudere gli ordini quando la condizione viene raggiunta, piuttosto che cercare nuovamente il minimo dal momento in cui l'ordine è stato aperto, per così dire:
E in caso di problemi come la perdita di connessione, il riavvio del consulente, ecc. dovremmo modificare lo stoploss agli ordini di volta in volta.Ho sostenuto che l'array deve essere passato qui per riferimento. Altrimenti, la funzione dovrà lavorare con una sola matrice strettamente definita. Anche se l'hai definito globalmente.
Hmm. Dipende da quale array viene passato alla funzione chiamante. Se è un array specifico, allora la funzione chiamata lavorerà con esso... Perché questo è...
Se, per esempio,
Chiamandolo in questo modo:
Funziona con l'array OrdersMassive
E così:
Con l'array massiveOfOrders.
Potete dirmi come trovare la dimensione dello spread, al momento dell'apertura di un trade, o, meglio ancora, come farla visualizzare nel log?
Se (spread) == qualche valore, allora... fate qualcosa... (Per esempio, aprire un ordine o stampare il suo valore nel giornale). O viceversa, se non è uguale o maggiore di (meno di) qualche valore, allora lo visualizziamo nel giornale e facciamo qualcosa. Puoi fare quello che vuoi.
Ripeterò la domanda che ho fatto ieri. Non voglio postarlo in un thread separato. Se qualcosa non è chiaro, risponderò a tutte le domande.
Ho ancora difficoltà a chiudere le posizioni richieste. La situazione è la seguente:
1. La chiusura delle posizioni viene monitorata.
2. Non appena l'ultima posizione si è chiusa sulla linea di take... ...tutte le posizioni aperte e in sospeso dovrebbero essere chiuse subito. Tutto è chiuso ordinato per lotti, cioè grandi lotti in una volta sola, e poi più piccoli. Questo è inteso solo per fare esperienza con gli ordini.
L'implementazione è la seguente:
In start() su ogni tick:
Siamo interessati alla chiusura degli ordini a mercato poiché quello in sospeso viene cancellato come richiesto. Ecco cosa abbiamo:
Per qualche motivo alcuni ordini non vengono chiusi. Stampo alcuni segmenti quando li vedo, non ci capisco niente. Ecco un esempio:
Nel commento si può vedere che lastOOTHist = 01:30:00, anche se questo non è effettivamente corretto. Se controlliamo lastOOTHist nella finestra dei risultati, vedremo che
i loro orari di chiusura sono diversi...
Cosa c'è di sbagliato qui?
Hmm. Dipende da quale array viene passato alla funzione chiamante. Se è un array specifico, allora la funzione chiamata lavorerà con esso... Perché questo è...
Se, per esempio,
Chiamandolo in questo modo:
Funziona con l'array OrdersMassive
E così:
Con array massiveOfOrders.
Quando si passa una variabile (array) a una funzione per valore, viene creata una variabile locale all'interno della funzione e la si dichiara nell'intestazione: myFunct(int my_var). In questo modo, i cambiamenti di questa variabile non possono essere visti al di fuori della funzione. E nel caso di un array, il compilatore ve lo ricorderà.
Se volete che i cambiamenti nel valore della variabile siano visibili all'esterno (fuori dalla funzione), passate le variabili per riferimento: myFunct(int & my_var)
Dipende da quale array viene passato alla funzione chiamante. Se c'è una certa matrice, allora la funzione chiamata lavorerà con essa... È così...
Se, per esempio,
Chiamandolo così:
Funziona con l'array OrdersMassive
E da questa parte:
Con array massiveOfOrders