[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 647
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
giusto.
Ho disegnato il codice qui sotto. Qualcuno può dirmi qual è il problema - il frammento che ho messo in grassetto?
Il problema è che l'indicatore disegna la storia all'indietro immediatamente e non la resetta dopo aver cambiato i parametri.
#proprietà indicator_separate_window
#proprietà indicator_buffers 1
#property indicator_color1 LimeGreen
doppio AUD;
extern int PerAvr=5,Delta=1;
doppio Idx[];
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzato
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0,Idx);
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'indicatore Custor
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(int i=limite; i>=0; i--)
{
AUD=(iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+De lta)*100/iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+De lta) ;
//if (Curency =="AUDUSD")
Idx[i] = AUD;
}
//----
//----
ritorno(0);
}
//+------------------------------------------------------------------+
Buon pomeriggio, membri del forum. Ho trovato un codice interessante per costruire una linea di tendenza e ho deciso di giocarci un po'.
Per qualche motivo mi è venuto in mente un aneddoto: in una famiglia di un programmatore, un figlio si avvicina al padre e chiede perché il sole sorge a est e tramonta a ovest.
Papà, senza distogliere gli occhi dal suo computer, sorge davvero a est? -Sì. E tramonta a ovest? - Sì. Quindi, cosa, ogni giorno? - Sì. Beh, non toccare nulla se funziona.
Per qualche motivo mi è venuto in mente un aneddoto: in una famiglia di un programmatore, un figlio si avvicina al padre e chiede perché il sole sorge a est e tramonta a ovest.
Papà, senza distogliere gli occhi dal suo computer, sorge davvero a est? -Sì. E tramonta a ovest? - Sì. Quindi, cosa, ogni giorno? - Sì. Beh, non devi toccare niente se funziona.
Ciao utenti del forum, ho trovato un codice interessante per disegnare la linea di tendenza.
Sai cos'è divertente: hai cambiato il codice secondo i tuoi principi e vuoi una brigata di studiosi per trovare i difetti
e tu provi solo ad emettere le informazioni che vuoi ottenere nel commento? è possibile che tutto funzioni ma tu ottieni i dati che non sono visualizzati al prezzo corrente ma da qualche parte nella parte inferiore del grafico - penso che sia il separatetwinds
SZS buona fortuna
Sai cos'è divertente: hai cambiato il codice secondo i tuoi principi e vuoi una brigata di studiosi per trovare i difetti
e tu provi solo ad emettere le informazioni che vuoi ottenere nel commento? è possibile che tutto funzioni ma tu ottieni i dati che non sono visualizzati al prezzo corrente ma da qualche parte nella parte inferiore del grafico - penso che sia il separatetwinds
SZS buona fortuna
So del separatore - lo so, è in una finestra separata, non c'entra. Non riesco a capire cosa succederà con questo codice - apparentemente questo metodo di calcolo non funziona per gli interessi(((.
Immediatamente, per qualche motivo mi viene in mente una barzelletta: il figlio di un programmatore va da suo padre e chiede perché il sole sorge a est e tramonta a ovest?
Papà, senza distogliere gli occhi dal suo computer, sorge davvero a est? -Sì. E tramonta a ovest? - Sì. Quindi, cosa, ogni giorno? - Sì. Beh, non devi toccare niente se funziona.
Grazie. Immagino che l'unica differenza sia che l'EA viene lanciato ogni volta che arriva un nuovo tick, mentre lo script deve essere lanciato in loop infinito per tenerlo in esecuzione?
Non necessariamente. Tutto dipende dallo scopo della sceneggiatura. Se lo scopo dello script è quello di una corsa unica (che è la stragrande maggioranza), non c'è bisogno di inventare cicli infiniti. La necessità di calcolare la quantità di denaro che sarà utilizzata nel mercato quando si apre una posizione con un lotto predeterminato può servire come esempio di un tale script una tantum. Poiché il prezzo del punto al lotto minimo è diverso per i diversi strumenti, è più facile aprire lo strumento richiesto, applicare lo script ad esso, inserire il lotto previsto nella finestra dei parametri e vedere quanto denaro sarà bloccato se il trade è aperto.
Questo è solo un esempio. Lo scopo degli script può essere diverso.
Sono consapevole della separazione, è in una finestra separata, non si tratta di questo. Non vedo come questo codice funzionerà - apparentemente questo metodo di calcolo della percentuale non funziona((.
Immediatamente, per qualche motivo mi viene in mente una barzelletta: un figlio in una famiglia di un programmatore viene da suo padre e chiede perché il sole sorge a est e tramonta a ovest?
Papà, senza distogliere gli occhi dal suo computer, sorge davvero a est? -Sì. E tramonta a ovest? - Sì. Quindi, cosa, ogni giorno? - Sì. Beh, non devi toccare niente se funziona.
È un indicatore abbastanza semplice, non vedo come le percentuali siano migliori dei pip, ma non importa.
Hai fatto qualche errore, però :)
1.
Per calcolare correttamente la percentuale è necessario aggiungere le parentesi.
2.
Il problema è che l'indicatore disegna la storia all'indietro immediatamente e non la resetta dopo aver cambiato i parametri.
La cosa più interessante è che ha svegliato l'interesse sportivo e si è seduto per mezz'ora sul tuo indicatore.
Perché la storia non è stata calcolata?
La risposta è che avete aggiunto un'operazione di divisione.
Il fatto che la funzione iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE ,i+Delta) restituisca 0 all'inizio della storia non è stato preso in considerazione. E sei stato "buttato fuori" con l'errore 4013 (ERR_ZERO_DIVIDE) quando hai provato a dividere per 0, controlla il log.
Si può aggiungere un altro controllo nel ciclo FOR.
E tutto andrà bene. Di seguito la mia variante.
#property indicator_color1 White
È possibile cambiare questo parametro programmaticamente nel modulo start(),
cioè è possibile cambiare il colore impostato per il buffer mentre il programma procede?
#property indicator_color1 White
È possibile cambiare questo parametro programmaticamente nel modulo start(),
cioè è possibile cambiare il colore impostato per il buffer mentre il programma procede?
Non credo. E perché dovrebbe esserlo?