Il mio cervello sta bollendo. Ho bisogno di un foglio di istruzioni. - pagina 4

 
Vladimir M.:

Dopo le azioni giuste, le azioni sbagliate? Secondo la tua frase, posso supporre che ci sia un errore nel codice - le variabili non vengono azzerate. Nel momento in cui l'EA viene attivato, cioè l'apertura della barra o il tick in arrivo, le variabili e gli array nell'EA devono essere resettati o i valori devono essere assegnati ad essi. Le quotazioni vengono aggiornate e gli importi e le proprietà degli ordini e delle posizioni vengono recuperati e controllati di nuovo. Questa è solo una supposizione - può essere eliminata stampando i valori, prima e dopo aver ricevuto i dati. È possibile osservare e confrontare visivamente. Beh, è un lavoro scomodo.

O forse c'è qualcosa di sbagliato nella logica...?

Lasciate che vi spieghi la situazione. Mamaev MAGOMED KHAN-MAGOMEDOVICH, alias zvezdochet, è lontano dalla programmazione. Ha ordinato un robot e ha ricevuto un codice di prova ex4. Ha rilevato errori di runtime. Il programmatore ha trovato una scusa:

Qui, x è un numero reale che denota Ask oBid, che sono memorizzati nella memoria del computer con una certa precisione limitata in notazione binaria, mentre voi ed io usiamo la notazione decimale. Bisogna tener conto che tutti i numeri decimali che non rappresentano una potenza di due possono essere scritti solo sotto forma di una frazione infinita il cui valore è insignificante, ma maggiore o minore del numero decimale rappresentato. Per esempio, x=1.7750000...0001>1.77500 (la condizionetpnon è ancora soddisfatta) e x=1.77499999...9999 <1.77500 (x è fuori dal livello 1.77500)

Ora immaginate di essere il programmatore e che il cliente vi scriva:

Posso indovinare che tipo di errore c'è nel codice - le variabili non vengono cancellate. Al momento dell'attivazione dell'EA - apertura della barra o tick in arrivo - le variabili e gli array nell'EA devono essere cancellati o devono essere assegnati i valori necessari. Le quotazioni vengono aggiornate e gli importi e le proprietà degli ordini e delle posizioni vengono recuperati e controllati di nuovo. Questa è solo una supposizione - può essere eliminata stampando i valori, prima e dopo aver ricevuto i dati. È possibile osservare e confrontare visivamente. È un lavoro difficile.

Come ti sentiresti a riguardo?

 

I sub sono una scusa stupida. In primo luogo, possono e devono essere normalizzati, e in secondo luogo, anche se non sono normalizzati, ci sarà solo un errore occasionale e solo di un pip. Tranne nei casi in cui la posizione non si aprirà affatto a causa di un lotto errato o del prezzo di stop loss/teyprofit.

 
JRandomTrader:

Queste sfumature riguardano solo il programmatore, e anche come aggirarle. Il cliente non ha bisogno di conoscerli. E la mia spiegazione era intesa per un programmatore principiante.

Parole sagge!!! Il programmatore ha detto che avremmo dovuto introdurre un parametro aggiuntivo "Take Profit Zone". Cioè, se Sell 1.20000 tp 1.19500, con il parametro = 50 pips l' ordine a cinque cifre può chiudere vicino a 1.195000 - 1.94500 ...........Ecco perché ho chiesto COME si chiude su Take Profit senza parametri aggiuntivi?Ecco perché ho detto che i cervelli ribollono di verità apparentemente ovvie....

 
Konstantin Erin:

Lasciate che vi spieghi la situazione. MAMAEV MAGOMED KHAN-MAGOMEDOVICH, alias zvezdochet, è lontano dalla programmazione. Ha ordinato un robot e ha ricevuto un codice di prova ex4. Ha rilevato errori di runtime. Il programmatore ha trovato una scusa:

Qui, x è un numero reale che denota Ask oBid, che sono memorizzati nella memoria del computer con una precisione limitata in notazione binaria, mentre voi ed io usiamo la notazione decimale. Bisogna tener conto che tutti i numeri decimali che non rappresentano una potenza di due possono essere scritti solo sotto forma di una frazione infinita il cui valore è insignificante, ma maggiore o minore del numero decimale rappresentato. Per esempio, x=1.7750000...0001>1.77500 (la condizionetpnon è ancora soddisfatta) e x=1.77499999...9999 <1.77500 (x è fuori dal livello 1.77500)

Ora immaginate di essere il programmatore e che il cliente vi scriva:

Posso indovinare che tipo di errore c'è nel codice - le variabili non vengono cancellate. Al momento dell'attivazione dell'EA - apertura della barra o tick in arrivo - le variabili e gli array nell'EA devono essere cancellati o devono essere assegnati i valori necessari. Le quotazioni vengono aggiornate e gli importi e le proprietà degli ordini e delle posizioni vengono recuperati e controllati di nuovo. Questa è solo una supposizione - può essere eliminata stampando i valori, prima e dopo aver ricevuto i dati. È possibile osservare e confrontare in modalità visiva. È un lavoro difficile.

Come ti sentiresti a riguardo?

Kostya!!! Trattiamo tutto ciò che è straniero relativamente, perché ci fidiamo di Anstein!
 
Алексей Тарабанов:

E mostratemi il codice del programma per aprire una posizione. Il modulo che piazza l'ordine.

Più precisamente, il modulo che lo chiama.

In altre parole, vorrei vedere quale condizione usi per piazzare l'ordine.

Posso premere Buy o Sell manualmente o impostare ordini pendenti. Per avere un codice bisogna prima scriverlo, ma qui, il sistema binario è fuori strada...

 
Zvezdochet:

Posso premere manualmente Buy o Sell o impostare ordini pendenti. Per avere un codice, bisogna prima scriverlo, ma qui, il sistema binario è fuori discussione...

Maga! Calmati... Sei stato bannato di nuovo!!!
 
Zvezdochet:

Parole sagge! Il programmatore ha detto che avremmo dovuto introdurre un parametro aggiuntivo "Take Profit zone". Cioè, se Sell 1.20000 tp 1.19500, con il parametro = 50 pips un ordine a cinque cifre può chiudere vicino a 1.195000 - 1.94500 ...........Ecco perché ho chiesto COME si chiude su Take Profit senza parametri aggiuntivi?Ecco perché ho detto che i cervelli si confondono da verità apparentemente ovvie....

Ma il cliente dovrebbe capire che un take o stop non è quando il prezzo "è arrivato a questo punto", ma quando "il prezzo ha attraversato questa linea". Per il punto, il prezzo può saltare. Ma se volete un "punto", allora dovete specificare la larghezza di questa zona "punto".

 
Zvezdochet:


Circa l'apertura esatta. C'è stato un programmatore che ha coniato il termine "corrispondenza assoluta con il marchio". Nel 90% degli ordini aperti! Non voglio una corrispondenza assoluta. Ma quando il mio EA agisce sul prossimo passo della griglia (invece di quello attuale), non riesco a capirlo:Al livello attuale l'EA ha fatto un'azione corretta. Allo stesso livello EA deve eseguire altre azioni corrette. Così queste azioni sono eseguite al livello successivo e i valori si riferiscono al livello precedente!Esempio Comprare 1.20000 sl 1.19500 tp 1.20500 Vendere 1.20000 sl 1.20500 tp 1.19500 , uno degli ordini è aperto al passo successivo della griglia, ad "un altro" livello, dove i record rimangono ! livello , le voci rimangono invariate al "loro" livello 1.20000

Per questo ho chiesto il codice del modulo che definisce il posizionamento degli ordini.

Qual è la condizione del controllo della ripartizione dei livelli? Se non è Open e non è una zecca, tutto è normale. Una barra deve finire la sua formazione e dare un segnale per aprire una posizione sulla barra successiva, altrimenti non può farlo.

 
JRandomTrader:

Ma il cliente deve capire che un take o stop non è quando il prezzo "è arrivato a questo punto", ma quando "il prezzo ha attraversato questa linea". Perché il prezzo può passare attraverso quel punto. Ma se vogliamo raggiungere un "punto", dobbiamo specificare la larghezza dell'area di questo "punto".

Se il livello viene attraversato per chiudere l'ordine al Take Profit, possiamo matematicamente considerarlo uguale o infinito al lato superiore del Take Profit. Sono felice di questo . Ma il problema sono i livelli nel terminale che usano la notazione decimale Il problema è che l'EA non vede i livelli in notazione decimale perché usa la notazione binaria. Cosa faccio adesso? Devo sedermi con carta e penna e copiare i valori dei prezzi che il mio Expert Advisor vede?E poi devo risolvere il puzzle: "Come usare questo framework per l'intero algoritmo"? E se invece di 100 pips un ordine viene chiuso con 50 TP, è anche colpa del sistema binario?

 
Алексей Тарабанов:

Ecco perché ho chiesto il codice del modulo che definisce il posizionamento degli ordini.

Qual è la condizione per il controllo di una rottura di livello? Se non è Open e non è una zecca, allora tutto è naturale. La barra deve finire di formarsi e dare un segnale per aprire una posizione sulla barra successiva, altrimenti non può farlo.

Il codice... modulo.... formazione a barre .... Faccio fatica a leggere queste parole, figuriamoci a memorizzarle o a dare una risposta comprensibile...Proverò a copiare le tue parole e a mandarle al programmatore, ma penso (è già successo più di una volta) che dirà: "Anche noi abbiamo i baffi".

Motivazione: