Tempo di scrivere il consulente - pagina 5

 
82Dmitry82:

Posso mandarvi un ordine che ha fatto la fonte, potete guardare chi capisce, qualità o non l'ha fatto, proprio non capisco, qualità o non, la cosa principale che lavora sull'algoritmo, e come l'interno, non so) 0

La maggior parte del codice è nella libreria Trades.mqh, che presumo ti abbia mandato. Si prega di allegarlo per una stima della qualità.
Non c'è molto da giudicare da questo file. Sembra che non ci siano controlli e normalizzazioni dove dovrebbero essere, ma potrebbero essere anche nel file Trades.mqh incluso.
E la maggior parte del codice si trova nello stesso posto.

Tuttavia, ho qualcosa da dire sul blocco del segnale.
1) confronto dei doppi tra loro senza alcuna normalizzazione.
2) Il crossover del prezzo MA è implementato senza prendere in considerazione la situazione in cui il prezzo di chiusura della candela è uguale al prezzo MA. Questo è raro, ma ancora possibile.

 
82Dmitry82:

Non discuto che sia difficile e sì, ci sono un sacco di errori, ma 2 mesi fa è stato detto che gli errori sono noti, risolvibili e tutta la parte più difficile è finita, purtroppo non lo faccio, e qualcuno che conosce tutti i dettagli della strategia, e ha accettato una tariffa oraria e una semplice relazione sul lavoro e non ho potuto dimostrare a lui che era sbagliato e sbagliato

Il freelance paga all'ora?

Se potete risolvere i problemi attraverso l'arbitrato, esiste una cosa del genere, lo risolveranno.

 

Lasciatemi partecipare alla discussione, se ve la sentite ))))

Prima di tutto, naturalmente a 82Dmitry82 e al resto del suo team, mi scuso per il ritardo nello sviluppo. Come io stesso ho indicato al loro rappresentante che mi sono pentito di aver assunto lo sviluppo, ammetto che per me è un compito difficile. Il compito è stato diviso in parti, ma una forte complicazione dei requisiti si è rivelata nella seconda fase, e infatti, dal momento che l'ho preso, ho deciso di portare a termine, ma non è stato così facile.

Ora, senza rivelare la strategia, cercherò di delineare il fatto di aumentare la complessità del ToR, in modo che i nostri programmatori apprezzino veramente quanto questo fatto complica lo sviluppo.

La base è la costruzione grafica dei livelli da cui aprire gli ordini. Questi livelli non possono essere costruiti subito sul bordo del grafico senza fare riferimento alla storia, dobbiamo aspettare che la storia sia costruita o semplicemente fare in modo che l'Expert Advisor faccia riferimento alla storia stessa e venga sul bordo del grafico con alcuni dati. Questo è ciò che abbiamo deciso di fare.

Inizialmente, abbiamo immaginato che avremmo eseguito per candele e stimato 4 parametri (Open, Close, High, Low) e costruito in base alle condizioni. E così abbiamo fatto la prima parte su una grande TF (ToR è divisa in 3 parti, 3 TF per ciascuna delle quali ci sono diverse costruzioni e condizioni per queste costruzioni). Quando siamo passati al secondo TF e abbiamo iniziato a testare essenzialmente la seconda parte pronta, abbiamo identificato degli errori e la discussione generale ha mostrato che una candela nella storia dovrebbe essere tracciata online (cioè come se fosse zero sul bordo del grafico) e un re-build fatto quando la candela non è ancora chiusa, che non è realistico durante la corsa attraverso la storia, perché ci sono effettivamente 4 parametri Open, Close, Low e High.

La discussione generale ha deciso di andare più a fondo e rompere fino a m1 per tracciare la candela in linea il più possibile (come se fosse zero sul bordo del grafico). L'idea di lasciare l'edificio storico così com'è di 4 punti e tracciare la logica corretta al bordo del grafico (quando Close[0] è fluttuante) è stata respinta. I clienti stessi hanno capito che questo fatto, rivelato nel processo di sviluppo, complica significativamente i ToR. Già in quella fase volevo abbandonare lo sviluppo, ma poiché la prima fase era già fatta, e non è proprio nei miei principi abbandonare lo sviluppo a metà ho deciso di continuare. Mentre adattavo l'algoritmo esistente al fatto che avrei dovuto usare M1 e tracciare TF superiori, ho iniziato a sentirmi psicotico, perché avevo ucciso un sacco di tempo per questo, durante il processo di non successo ero solito diventare frustrato e scrivere ai clienti che avrei dovuto aumentare il costo di sviluppo, ma quando mi sono allontanato dal computer e mi sono raffreddato un po', ho continuato a correggere il problema.

Ho suggerito un pagamento a tempo solo perché non ero più in grado di tirare il progetto per l'importo negoziato. Anche se offerto di dare il codice sorgente per trovare eventualmente qualcuno che porterà alla mente.

Se l'avessi saputo fin dall'inizio, avrei usato un altro approccio per tracciare М1 all'interno del timeframe superiore.

Se c'è un errore nella costruzione, lo correggerò. Non posso controllare tutto io, perché ci sono molte condizioni nella strategia che non riesco nemmeno a ricordare. Ho già controllato tutti loro in modo che non siano in conflitto tra loro, questo è il problema principale. È stato fatto gradualmente, e i clienti ammettono che la strategia è difficile da capire, ma in generale ora è quasi tutto prescritto, ma come funziona non posso nemmeno capire giustamente o no)))

L'ultima cosa su cui si sono fermati è stato il caso che non è stato preso in considerazione (anche secondo il rappresentante dei clienti) e ora dobbiamo scrivere, incollare e accettare un'altra dozzina di condizioni un'altra volta. Quindi il passaggio a una tariffa oraria da parte mia credo sia giustificato.

82Dmitry82, se vuoi, possiamo parlarti personalmente del consigliere, hai i miei contatti. Ho fatto un altro EA per voi, penso che apprezzerete la sua reattività e il suo supporto, ma vi chiederò pazienza con questo, a volte lo rimando, solo perché non capisco da che parte andare, per iniziare a correggere un'altra costruzione di livello sbagliato.


Al momento ci sono più di 1000 linee di codice nell'Expert Advisor e questo è solo la costruzione di livelli, senza alcuna meshura bella e anche ordini, che non sono ancora stati raggiunti.

 
Sergey Ermolov:

Lasciatemi partecipare alla discussione, se ve la sentite ))))

Prima di tutto, naturalmente a 82Dmitry82 e al resto del suo team, mi scuso per il ritardo nello sviluppo. Come io stesso ho indicato al loro rappresentante che mi sono pentito di aver assunto lo sviluppo, ammetto che per me è un compito difficile. Il compito era diviso in parti, ma una forte complicazione dei requisiti si è rivelata nella seconda fase, e infatti, dal momento che l'ho preso, ho deciso di portare a termine, ma non è stato così facile.

Ora, senza rivelare la strategia, cercherò di delineare il fatto di aumentare la complessità del ToR, in modo che i nostri programmatori apprezzino veramente quanto questo fatto complica lo sviluppo.

La base è la costruzione grafica dei livelli da cui aprire gli ordini. Questi livelli non possono essere costruiti subito sul bordo del grafico senza fare riferimento alla storia, dobbiamo aspettare che la storia sia costruita o semplicemente fare in modo che l'Expert Advisor faccia riferimento alla storia stessa e venga sul bordo del grafico con alcuni dati. Questo è ciò che abbiamo deciso di fare.

Inizialmente, abbiamo immaginato che avremmo eseguito per candele e stimato 4 parametri (Open, Close, High, Low) e costruito in base alle condizioni. E così abbiamo fatto la prima parte su una grande TF (ToR è divisa in 3 parti, 3 TF per ciascuna delle quali ci sono diverse costruzioni e condizioni per queste costruzioni). Quando siamo passati al secondo TF e abbiamo iniziato a testare essenzialmente la seconda parte pronta, abbiamo identificato degli errori e la discussione generale ha mostrato che una candela nella storia dovrebbe essere tracciata online (cioè come se fosse zero sul bordo del grafico) e un re-build fatto quando la candela non è ancora chiusa, che non è realistico durante la corsa attraverso la storia, perché ci sono effettivamente 4 parametri Open, Close, Low e High.

La discussione generale ha deciso di andare più a fondo e rompere fino a m1 per tracciare la candela in linea il più possibile (come se fosse zero sul bordo del grafico). L'idea di lasciare l'edificio storico così com'è di 4 punti e tracciare la logica corretta al bordo del grafico (quando Close[0] è fluttuante) è stata respinta. I clienti stessi hanno capito che questo fatto, rivelato nel processo di sviluppo, complica significativamente i ToR. Volevo abbandonare lo sviluppo già in quella fase, ma dato che la prima fase era già fatta, e non è proprio nei miei principi abbandonare lo sviluppo a metà, ho deciso di continuare. Mentre adattavo l'algoritmo esistente al fatto che avrei dovuto usare M1 e tracciare TF superiori, ho iniziato a sentirmi psicotico, perché avevo ucciso un sacco di tempo per questo, durante il processo di non successo ero solito diventare frustrato e scrivere ai clienti che avrei dovuto aumentare il costo di sviluppo, ma quando mi sono allontanato dal computer e mi sono raffreddato un po', ho continuato a correggere il problema.

Ho suggerito un pagamento a tempo solo perché non ero più in grado di tirare il progetto per l'importo negoziato. Anche se offerto di dare il codice sorgente per trovare eventualmente qualcuno che porterà alla mente.

Se l'avessi saputo fin dall'inizio, avrei usato un altro approccio per tracciare М1 all'interno del timeframe superiore.

Se avessi saputo fin dall'inizio che è necessario tracciare in M1 e in timeframes più alti, l'avrei fatto diversamente. Non ho la possibilità di controllare tutto da solo, perché ci sono molte condizioni nella strategia che non riesco nemmeno a ricordare. Ho già controllato tutti loro in modo che non siano in conflitto tra loro, questo è il problema principale. È stato fatto gradualmente, e i clienti ammettono che la strategia è difficile da capire, ma in generale ora è quasi tutto prescritto, ma come funziona non posso nemmeno capire giustamente o no)))

L'ultima cosa su cui si sono fermati è stato il caso che non è stato preso in considerazione (anche secondo il rappresentante dei clienti) e ora dobbiamo scrivere, incollare e accettare un'altra dozzina di condizioni un'altra volta. Quindi il passaggio a una tariffa oraria da parte mia credo sia giustificato.

82Dmitry82, se vuoi, possiamo parlarti personalmente del consigliere, hai i miei contatti. Ho fatto un altro EA per voi, penso che apprezzerete la sua reattività e il suo supporto, ma vi chiederò pazienza con questo, a volte lo rimando, solo perché non capisco da che parte andare, per iniziare a correggere un'altra costruzione di livello sbagliato.


Al momento ci sono più di 1000 linee di codice nell'Expert Advisor e questo è solo la costruzione dei livelli senza nessuna bella maglia e nemmeno gli ordini a cui non siamo ancora arrivati.

Tutto sommato, è diventato ancora più confuso di prima.

Ho capito che dovremmo controllare la coincidenza delle condizioni su un timeframe superiore e se la coincidenza non viene trovata.

Se ho capito bene l'algoritmo, non è così complicato, 2-3 giorni al massimo.

 
Sergey Ermolov:

Al momento ci sono più di 1000 linee di codice nell'EA, e questo è solo la costruzione dei livelli, senza alcuna meshura bella e anche gli ordini, che non sono ancora stati raggiunti.

1000 linee è comunque la dimensione media di qualsiasi EA al di sopra di uno semplice. Credo che il problema sia che avete preso la strada sbagliata nel pensare a come aggirare i problemi che sono sorti. Il 90% del successo è formulare il problema giusto, e la sua attuazione è una decima questione

 
Sergey Ermolov:

.

.

Infatti, se avessi saputo fin dall'inizio che era necessario tracciare m1 all'interno del timeframe superiore, avrei costruito la logica dell'EA in modo diverso.

.

Al momento ci sono più di 1000 linee di codice nell'EA, e questo è solo la costruzione dei livelli, senza alcuna meshura bella e anche gli ordini, che non sono ancora stati raggiunti.

Lasciate che vi sostenga.

Naturalmente la mia strategia non è esattamente così, ma simile. Prende in considerazione i livelli di supporto/cop, la tendenza, le inversioni, i pullback e molte altre cose, senza usare indicatori esterni (personalizzati).

Ho fatto trading manuale con questa strategia per 3 anni. Per tutto questo tempo ho pensato a come implementarlo e l'ho programmato per un anno. Sono venute fuori meno di 2000 linee.


Tutti gli sviluppatori che sono in grado di fare trading a mano, è più facile per loro quando prendono alcune barre come base per l'analisi.

Ma una barra, anche se è M1, è già nel passato. È inutile costruire una strategia sulle barre (specialmente su quelle più alte).

Dovrebbe essere fatto usando ogni zecca.

Nel mio programma non c'è un solo array (in senso assoluto), e non analizzo ciò che è stato in passato, ma ovviamente ricordo i punti di controllo necessari in tempo reale (non in array).

In breve: quello che si fa a mano e che è così facilmente e meravigliosamente disegnato sul grafico, non è sempre possibile programmare.

 
Sergey Ermolov:

Lasciatemi partecipare alla discussione, se ve la sentite ))))

Prima di tutto, naturalmente a 82Dmitry82 e al resto del suo team, mi scuso per il ritardo nello sviluppo. Come io stesso ho indicato al loro rappresentante che mi sono pentito di aver assunto lo sviluppo, ammetto che per me è un compito difficile. Il compito è stato diviso in parti, ma una forte complicazione dei requisiti si è rivelata nella seconda fase, e infatti, dal momento che l'ho preso, ho deciso di portare a termine, ma non è stato così facile.

Ora, senza rivelare la strategia, cercherò di delineare il fatto di aumentare la complessità del ToR, in modo che i nostri programmatori apprezzino veramente quanto questo fatto complica lo sviluppo.

La base è la costruzione grafica dei livelli da cui aprire gli ordini. Questi livelli non possono essere costruiti subito sul bordo del grafico senza fare riferimento alla storia, dobbiamo aspettare che la storia sia costruita o semplicemente fare in modo che l'Expert Advisor faccia riferimento alla storia stessa e venga sul bordo del grafico con alcuni dati. Questo è ciò che abbiamo deciso di fare.

Inizialmente, abbiamo immaginato che avremmo eseguito per candele e stimato 4 parametri (Open, Close, High, Low) e costruito in base alle condizioni. E così abbiamo fatto la prima parte su una grande TF (ToR è divisa in 3 parti, 3 TF per ciascuna delle quali ci sono diverse costruzioni e condizioni per queste costruzioni). Quando siamo passati al secondo TF e abbiamo iniziato a testare essenzialmente la seconda parte pronta, abbiamo identificato degli errori e la discussione generale ha mostrato che una candela nella storia dovrebbe essere tracciata online (cioè come se fosse zero sul bordo del grafico) e le ricostruzioni dovrebbero essere fatte mentre la candela è ancora aperta, il che non è realistico durante la corsa attraverso la storia, perché ci sono effettivamente 4 parametri Open, Close, Low e High.

La discussione generale ha deciso di andare più a fondo e rompere fino a m1 per tracciare la candela in linea il più possibile (come se fosse zero sul bordo del grafico). L'idea di lasciare l'edificio storico così com'è di 4 punti e tracciare la logica corretta al bordo del grafico (quando Close[0] è fluttuante) è stata respinta. I clienti stessi hanno capito che questo fatto, rivelato nel processo di sviluppo, complica significativamente i ToR. Già in quella fase volevo abbandonare lo sviluppo, ma poiché la prima fase era già fatta, e non è proprio nei miei principi abbandonare lo sviluppo a metà ho deciso di continuare. Mentre adattavo l'algoritmo esistente al fatto che avrei dovuto usare M1 e tracciare TF superiori, ho iniziato a sentirmi psicotico, perché avevo ucciso un sacco di tempo per questo, durante il processo di non successo ero solito diventare frustrato e scrivere ai clienti che avrei dovuto aumentare il costo di sviluppo, ma quando mi sono allontanato dal computer e mi sono raffreddato un po', ho continuato a correggere il problema.

Ho suggerito un pagamento a tempo solo perché non ero più in grado di tirare il progetto per l'importo negoziato. Anche se offerto di dare il codice sorgente per trovare eventualmente qualcuno che porterà alla mente.

Se l'avessi saputo fin dall'inizio, avrei usato un altro approccio per tracciare М1 all'interno del timeframe superiore.

Se c'è un errore nella costruzione, lo correggerò. Non ho la possibilità di controllare tutto da solo, perché ci sono molte condizioni nella strategia che non riesco nemmeno a ricordare. Ho già controllato tutti loro in modo che non siano in conflitto tra loro, questo è il problema principale. È stato fatto gradualmente, e i clienti ammettono che la strategia è difficile da capire, ma in generale ora è quasi tutto prescritto, ma come funziona non posso nemmeno capire giustamente o no)))

L'ultima cosa su cui si sono fermati è stato il caso che non è stato preso in considerazione (anche secondo il rappresentante dei clienti) e ora dobbiamo scrivere, incollare e accettare un'altra dozzina di condizioni un'altra volta. Quindi il passaggio a una tariffa oraria da parte mia credo sia giustificato.

82Dmitry82, se vuoi, possiamo parlarti personalmente del consigliere, hai i miei contatti. Ho fatto un altro EA per voi, penso che apprezzerete la sua reattività e il suo supporto, ma vi chiederò pazienza con questo, a volte lo rimando, solo perché non capisco da che parte andare, per iniziare a correggere un'altra costruzione di livello sbagliato.


Al momento ci sono più di 1000 linee di codice nell'EA e questo è solo la costruzione dei livelli, senza nessuna bella mesh e nemmeno gli ordini, che non sono ancora stati raggiunti.

Dalla descrizione è chiaro che non ho avuto TOR e il compito sembra questo: fammi questa strategia e dovrebbe funzionare così, pensa a come implementare tutto questo, non esiste nessun algoritmo.

In questo caso, è un lavoro ad alta intensità di lavoro, come ho scritto sopra, il programmatore inizia a pensare, e il costo del pensiero è diverso per ognuno. Pertanto, il prezzo può essere giustificato.

La divisione del lavoro è stata inventata per un motivo. Il cliente intende un programmatore come un mago che può trasferire qualsiasi idea in codice. Infatti, le abilità e le competenze di una persona sono sempre limitate, e nelle grandi aziende c'è una divisione del lavoro tra una persona che crea algoritmi, un architetto e un programmatore - ognuno di loro ha la propria specializzazione. È così che è andata a finire questa situazione.

 
Petros Shatakhtsyan:

Lasciate che vi sostenga.

Non ho esattamente lo stesso, ma una strategia simile. Prende in considerazione i livelli di supporto/cop, la tendenza, le inversioni, i pullback e molte altre cose, senza usare indicatori esterni (personalizzati).

Ho fatto trading manuale con questa strategia per 3 anni. Per tutto questo tempo ho pensato a come implementarlo e l'ho programmato per un anno. Sono venute fuori meno di 2000 linee.


Tutti gli sviluppatori che sono in grado di fare trading a mano, è più facile per loro quando prendono alcune barre come base per l'analisi.

Ma un bar, anche se è M1, è già il passato. È inutile costruire una strategia sulle barre (specialmente su quelle più alte).

Dovrebbe essere fatto usando ogni zecca.

Nel mio programma non c'è un solo array (in senso assoluto), e non analizzo ciò che è stato in passato, ma ovviamente ricordo i punti di controllo necessari in tempo reale (non in array).

In breve: quello che si fa a mano e che è così facilmente e meravigliosamente disegnato su un grafico, non può essere sempre programmato.

Puoi programmare qualsiasi cosa, ma prima devi sviluppare un algoritmo, e questa è una parte importante del lavoro. In sostanza, dovete prima trasformare ciò che vedete in formule e logica, e poi programmarle. E il primo è molto spesso sottovalutato.

 
Sergey Ermolov:

Lasciatemi partecipare alla discussione, già che ci siamo ))))

....

Infatti, se avessi saputo all'inizio cosa ....., avrei costruito la logica EA in modo diverso.

....

Questa è una situazione familiare. Prima di iniziare a scrivere il codice, si pianifica la sua struttura e la logica del suo lavoro, ma una volta che l'algoritmo è pronto ed è completamente funzionale, si inizia ad aggiungere altre condizioni e nuove funzionalità, e alla fine diventa chiaro che è più facile rivedere l'intera struttura e riscrivere completamente l'intera logica, che continuare a cercare di inserire qualche nuovo concetto nel vecchio algoritmo. Si scopre che è più facile ripensare tutto con nuove funzioni e condizioni e riscrivere l'algoritmo, ma ci vuole molto tempo.

 

Una buona illustrazione del "risultato del lavoro senza un progetto".

Tutti non sono contenti l'uno dell'altro, c'è zero produzione...

Motivazione: