[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 574

 
Ekburg:

Capisco che molta esperienza e puoi urlare! Ma se non è difficile, faresti meglio a scrivere come farlo bene, insegnare a un principiante impotente... te ne sarei grato!

Prova la funzione che ti ho lasciato nel file allegato nella pagina precedente. L'ho cambiata un po', ma non posso controllarla, nessun Expert Advisor, dove potrei metterla. Non ho esperienza, MQL è l'unico linguaggio che conosco un po', l'ho studiato con l'aiuto di MT e rompendo il codice di qualcun altro di Kodobase, ora sento che mi manca la conoscenza e l'esperienza e ho deciso di cercarla sul forum. Guardo ciò che la gente chiede, cerco di risolvere i problemi degli altri, a poco a poco guadagno esperienza e guadagno il diritto morale di ottenere risposte alle mie domande.
 
Ekburg:

Capisco che con molta esperienza si possono fare scherzi! Ma se non ti dispiace, scrivi le tue cose e insegna a un principiante impotente come farlo correttamente - lo apprezzerei!

Non c'è di che. Solo che per qualche motivo ogni altro principiante, inizia immediatamente a scrivere il suo trailing! E quando non ci riesce, pretende a gran voce che tutti risolvano le sue hffantasie!!!! Ci sono un numero ENORME di barre di trascinamento in Codabase. Sono in quasi tutti gli EA. Finché non potete scrivere il vostro - CREDETE a quello di qualcun altro - GRATIS!

P.S. Iniziare con l'analisi dei codici degli altri. Non tutti i codici senza commenti. Quando OGNI linea è chiara, passate a scrivere le vostre funzioni. In questo caso, sto condividendo con voi la mia esperienza di padroneggiare la lingua per ottenere il RISULTATO, naturalmente, se "ne avete bisogno"! :)

 
Roll:

"Due sottospecie di cervo rosso, il cervo rosso dell'Altai (Cervus elaphus sibiricus) e il cervo rosso del Tien Shan (Cervus elaphus songaricus). I cervi rossi sono allevati in vivai e fattorie specializzate per produrre corna da cui si ricava un medicinale, la pantocrina". (KiM).

Non ci sono errori meccanici o di battitura?
 
TarasBY:

Non c'è di che. Solo che per qualche motivo ogni altro principiante, inizia immediatamente a scrivere il suo trailing! E quando non ci riesce, pretende a gran voce che tutti risolvano le sue hffantasie!!!! Ci sono un numero ENORME di barre di trascinamento in Codabase. Sono in quasi tutti gli EA. Finché non potete scrivere il vostro - CREDETE a quello di qualcun altro - GRATIS!

P.S. Iniziate ad analizzare i codici degli altri. Non tutti i codici sono senza commenti. Quando OGNI linea è chiara - passate a scrivere le vostre funzioni. In questo caso, sto condividendo con voi la mia esperienza di padroneggiare la lingua per ottenere il RISULTATO, naturalmente, se "ne avete bisogno"! :)


Grazie. Ho cercato il codebase, ho trovato qualcosa, ho provato a sostituire, ho cambiato per così dire, ho letto migliaia di righe di codice pro e non solo, dà un errore 1 quando si modifica, e tutto il diavolo sa cosa fare. Ho affrontato varie difficoltà nello scrivere e lavorare con gli EA, ma cerco di risolverle da solo, altrimenti non avrei avuto una buona esperienza, ho letto aiuti, riletto libri di testo, risolto problemi e ottenuto un pensiero diverso da quando ho iniziato, ma non sono riuscito a risolvere questo problema da solo, così mi sono rivolto a voi, professionisti! Non scriverei Traylin se non ne avessi bisogno per far funzionare il mio EA:)
 
Roll:
Tutorial MQL4 --> Operazioni di trading --> Modifica dell'ordine --> modifystoploss.mq4

L'ho letto molte volte, ho provato ad applicarlo, il risultato è lo stesso! Il codice principale ha anche delle modifiche, ma degli ordini, tutto è OK lì! Ma la modifica degli ordini di mercato è un casino, non capisco perché.
 
rigonich:

Prova la funzione che ti ho lasciato nel file allegato nella pagina precedente. L'ho ridisegnata un po', ma non ho modo di testarla, nessun Expert Advisor dove posso inserirla. Non ho esperienza, MQL è l'unico linguaggio che conosco un po', l'ho studiato con l'aiuto di MT e rompendo il codice di qualcun altro di Kodobase, ora sento che mi manca la conoscenza e l'esperienza e ho deciso di cercarla sul forum. Sto cercando di risolvere i problemi degli altri, di fare esperienza poco a poco e di guadagnarmi il diritto morale di ottenere risposte alle mie domande.

Il risultato è lo stesso... errore 1
 
Brava gente ditemi come lavorare con gli array, ho bisogno di selezionare i valori massimi e minimi della barra di chiusura e di apertura, nell'intervallo di tempo da 1.00 a 10.00, ho provato a farlo, ma non è lo stesso.
int MAX()
{
if (Hour()==10)
        {
      
        for(i=0; i<=9; i++)
        MAX1 = High [iClose(NULL,PERIOD_H1,i)];
        }
        return(MAX1);
        
}
Ma non è giusto. Fornisce '[' - l'indice dell'array deve essere un intero C:\Program Files\InstaTrader\experts\Profiler19 EUR-JPY.mq4 (61, 21)
Cosa c'è che non va, come risolvere il problema
 
Ekburg:

Grazie. Ho cercato nel codebase, ho trovato qualcosa, ho provato a sostituirlo, l'ho cambiato di qua e di là, ho letto migliaia di righe di codice pro, e non solo, ma dà errore 1 quando si modifica e basta, non so cosa fare. Ho affrontato varie difficoltà nella scrittura e nel successivo lavoro dell'EA, ma per risolverle da solo, altrimenti non faccio una buona esperienza, ho letto la guida, riletto il tutorial, e risolto i problemi, ho iniziato a pensare un po' diversamente da quando ho iniziato, ma questo problema da solo non ha funzionato, così mi sono rivolto a voi, professionisti! Non scriverei Traylin, se non è necessario per il lavoro dell'EA:)

Per evitare l'errore 1, è necessario controllare i parametri passati alla funzione di modifica prima di chiamare la funzione. Se almeno uno di essi non è uguale ai parametri dell'ordine modificato, potete chiamare la funzione OrderModify(), altrimenti otterrete fuori o errore 1.
 
rigonich:

Per evitare l'errore 1, dovremmo controllare i parametri passati a modificare la funzione prima di chiamare la funzione. Se almeno uno di essi non è uguale ai parametri dell'ordine aggiornabile, potete chiamare la funzione OrderModify(), altrimenti otterrete exit o errore 1.

È questo il punto: tutto va bene lì! Ho messo le stampe lì per questo, per tracciare durante il test quali valori vengono passati alla funzione di modifica, tutto va bene lì, lo stop è diverso, non viene lanciato nulla di inutile, tutto è nei limiti consentiti dal server, e gli avversari nel codice sopra non permettono di passare gli stessi valori...
 

Necessità di normalizzare il grafico dei prezzi, qualsiasi coppia di valute di vostra scelta. Ne ho bisogno per un indicatore. Ho provato a dividere il valore attuale per quello precedente - ottengo una specie di oscillatore intorno a 1. Mi è venuta l'idea di convertire il grafico da valori assoluti a valori relativi, cioè in questo caso potrò vedere la variazione percentuale della quotazione. È stato implementato. È già meglio e praticamente ciò di cui abbiamo bisogno. Tuttavia, il mio desiderio finale è quello di normalizzare le citazioni nell'intervallo [0:1] .A proposito, ecco quello che mi serve ma in borghese - vorrei lo stesso in russo: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

Mi sono già stancato di lottare con questo. Non riesco a cancellare tutti gli ordini in sospeso normalmente, non riesco proprio a capire come funziona:

   for (int i=OrdersTotal()-1;i>=0;i--)
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if (OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)
            if (OrderMagicNumber()==Magik && OrderSymbol()==Symbol())
            while(!OrderDelete(OrderTicket(),CLR_NONE)){}

Ho anche aggiunto al ciclo FOR WHILE gli ordini cancellati sono ancora lì, ma non li ho ancora cancellati. Ho molti ordini in sospeso da cancellare, cioè circa 20, forse è qualcosa di complicato?