Il mio approccio. Il nucleo è il motore. - pagina 128
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
Merda, amico, davvero non capisci cosa sta succedendo o stai cercando di tagliare le curve in questo modo?
In qualsiasi pannello, la cosa fondamentale e più complicata è la visualizzazione della coerenza. Se un ordine è aperto - dovrebbe essere visualizzato, se non è nella scheda commerciale, non dovrebbe essere nemmeno nel pannello. Questo è elementare e "molto semplice" concettualmente. Ma per renderlo "molto semplice", il pannello deve essere basato su un modello di stato. Non avete una cosa del genere, ma un qualche database locale di curve non coerenti su stringhe infilate negli oggetti utente:
E ora stai cercando di dimostrarci che non c'è nessun problema, che è stato tutto succhiato dal nulla. Che gli ordini non visualizzabili nella tua tabella vanno bene. Che gli ordini che sono nella vostra tabella, ma che sono stati chiusi da tempo in realtà - questo è anche normale. E in generale, tutto è così normale e buono, tranne che il numero di posizioni è limitato a 20.
Capite che il problema è l'implementazione di fissare l'apertura/chiusura dell'ordine con mezzi interni. Questo non fa parte del meccanismo della tabella stessa. È un meccanismo UTENTE!
Invece di criticare il motore e l'implementazione della tabella, faresti meglio a scrivere un meccanismo adeguato per fissare l'apertura e la chiusura dell'ordine.
E tutto funzionerà correttamente!
4. Se si scrivono correttamente questi cicli di ordine, allora la tabella funzionerà correttamente....
Ho appena dimenticato....
Ma questo non significa che la stessa tabella dinamica non funzioni.
Amico, l'utente deve conoscere la documentazione, sa cosa mettere in quale array e come aggiornare il tutto? Ti ho chiesto di scrivere una dimostrazione perfettamente funzionante, che sarebbe dal tuo codice per capire come e cosa si fa e dove e cosa si inserisce, ma tu hai cancellato il mio TOR e me lo hai restituito sotto forma di una tabella storta!
Sento solo un gran mucchio di negligenza in te, nel tuo codice e in tutte le cose che fai, più o meno per le persone, ma quando si arriva allo specifico, iniziano le stronzate. Fate una cosa piccola ma buona e di alta qualità. Voi dite che tutto è semplice da risolvere, elementare. Ma per qualche motivo avete fatto una soluzione in cui non c'è niente. Cosa ti ha impedito di fare tutte queste semplici patatine in una quindicina di giorni?
Mi dispiace per la negatività. È solo che mi hai deluso. Speravo di vedere di più e meglio. Per favore, correggete il vostro demo. Farlo buono, di alta qualità, secondo la richiesta e senza parole del tipo: "Sì, è elementare, ha bisogno di un ritocco qui". Suggerire una soluzione fuori dagli schemi, che potrebbe essere contestata.
Vasiliy, non diventare emotivo. Non ho mai avuto nessuna mancanza di rispetto. Semplicemente non ho lavorato con gli ordini per molto tempo e ho dimenticato come si fa. Ma è un compito dell'utente.
Ma lo farò comunque. Visto che lo trovi così difficile...
Vasily, non c'è bisogno di emozioni. Non ho avuto nessun tipo di mancanza di rispetto. Semplicemente non ho lavorato con gli ordini per molto tempo e ho dimenticato come farlo. Ma è un compito dell'utente.
Ma lo farò comunque. Se pensi che sia così complicato...
Allora fallo. Non lo trovo così complicato, ma ripeto, non c'è documentazione per il tuo motore, e non so quale array aggiornare con quali parametri. Ciò di cui ho bisogno è una dimostrazione sotto forma di una soluzione completa. Questo è l'unico modo per capire cosa state facendo e come funziona. È esattamente quello che mi aspettavo da te. Quando lo creerete, discuteremo delle soluzioni tecniche. E in generale, prendete la critica esterna, anche quella esperta, come una critica positiva, perché il feedback negativo è di solito più prezioso di quello positivo.
Vi spiegherò come funziona una tabella dinamica:
1. Quando i pulsanti di acquisto/vendita vengono cliccati, il segnale va al file External Connection nel blocco di case del pulsante stesso.
Dovete sapere che una nuova riga viene aperta automaticamente se un nuovo biglietto viene inviato alla funzioneE_Main_form_1__Price(ticket, OrderOpenPrice());.
Se il biglietto esiste già, la riga desiderata viene selezionata AUTOMATICAMENTE e il nuovo valore viene impostato lì.
Per chiudere una riga della tabella chiama la funzione E_Main_form_1_CLOSE_ROW___Orders_table(ticket);
Il biglietto significa il biglietto di fila.
Vi spiegherò come funziona una tabella dinamica:
1. Quando i pulsanti di acquisto/vendita vengono cliccati, il segnale va al file External Connection nel blocco di case del pulsante stesso.
Dovete sapere che una nuova riga viene aperta automaticamente se un nuovo biglietto viene inviato alla funzioneE_Main_form_1__Price(ticket, OrderOpenPrice());.
Se il biglietto esiste già, la riga desiderata viene selezionata AUTOMATICAMENTE e il nuovo valore viene impostato lì.
Per chiudere una riga della tabella chiamate la funzione E_Main_form_1_CLOSE_ROW___Orders_table(ticket);
Biglietto significa biglietto di fila.
Peter, fai un ciclo for nel timer che passerebbe attraverso gli ordini aperti e invierebbe i cambiamenti nella lista degli ordini alla tua tabella. Inoltre, assicuratevi che anche il profitto dell'ordine nella vostra tabella cambi dinamicamente.
Vi spiegherò come funziona una tabella dinamica:
1. Quando i pulsanti di acquisto/vendita vengono cliccati, il segnale va al file External Connection nel blocco di case del pulsante stesso.
Dovete sapere che una nuova riga viene aperta automaticamente se un nuovo biglietto viene inviato alla funzioneE_Main_form_1__Price(ticket, OrderOpenPrice());.
Se il biglietto esiste già, la riga desiderata viene selezionata AUTOMATICAMENTE e il nuovo valore viene impostato lì.
Per chiudere una riga della tabella chiamate la funzione E_Main_form_1_CLOSE_ROW___Orders_table(ticket);
Biglietto significa biglietto di fila.
Questa è un'implementazione storta, ed ecco la risposta:
Forum sul trading, sistemi di trading automatico e test di strategia
Il mio approccio. Nucleo - Motore.
Vasiliy Sokolov, 2019.01.09 13:33
Peter, mi dispiace, ma il tuo lavoro non è accettato, poiché quello che hai inviato è un raro lavoro di hacking. Mi dispiace ma sembra che io sia l'unico che ha eseguito ciò che hai inviato, e nessun altro farà la perizia a parte me.
Quindi, nell'ordine, l'incarico era il seguente:
Quello che vedo invece:
In primo luogo, le compravendite possono essere aperte solo nel tuo pannello cliccando il pulsante di acquisto/vendita. Se la posizione viene aperta attraverso la finestra standard, il trade non appare.
....
Supponiamo di avere diverse tabelle dinamiche.
Il file Connection Properties stamperà automaticamente delle funzioni wrapper per lavorare con queste tabelle.
Ecco un esempio illustrativo. Abbiamo disegnato una tabellaOrders_table dinamica.
Queste sono le funzioni wrapper che abbiamo:
Nota: ogni wrapper ha un nome di colonna dyn.table alla fine del suo nome.
L'elemento specifico non è specificato, solola riga Magic.
Cioè, per impostare un nuovo valore in una cella di una riga esistente, dovete inviare la sua magia e il suo valore.
Per impostare un nuovo valore in una cella di una riga inesistente, dovete inviare il suo magik e il suo valore. La riga verrà creata automaticamente.
Per distruggere una riga nella tabella, dovete chiamare il wrapper con le paroleCLOSE_ROW
Per esempio:
E passateci dentro il majik della fila che volete chiudere.
Questo è tutto.
Peter, fai un ciclo for nel timer, che passerebbe attraverso gli ordini aperti e invierebbe i cambiamenti nella lista degli ordini alla tua tabella. Assicuratevi anche che il profitto dell'ordine nella vostra tabella cambi dinamicamente.
Ok, scriverò cicli e codice per lavorare con gli ordini, ma lo darò a te per metterlo da solo, perché ho già convertito il motore per collegare attraverso le risorse e lo sto testando. In questo momento non posso recuperare il vecchio link e non ho ancora finito quello nuovo.
OK, scriverò i cicli e il codice per lavorare con gli ordini, ma ti lascio il compito di impostarlo da solo, perché ho già riprogettato il motore per comunicare attraverso le risorse e lo sto testando. In questo momento non posso recuperare il vecchio link e non ho ancora finito quello nuovo.
Lavorate con la versione del motore che avete allegato come dimostrazione.
Cioè, per impostare un nuovo valore in una cella di una riga esistente, è necessario inviare la sua maiuscola e il suo valore.
Mi sembra semplice. Se il tuo approccio funziona come penso, allora non vedo alcun problema né con una tabella dinamica né con l'aggiornamento dei valori di posizione tramite un timer. Peter, perché hai dovuto fare una gobba all'inizio?)