Non so cosa cerchi di dimostrare con questo codice, ma so per certo che non posso rientrare nella categoria degli esaminatori... Quindi, se vuoi aiuto, dovrai diventare tu stesso un interrogatore. Un ciclo del genere facilmente, in certe condizioni, si chiude, e solo il caso può impedire che accada.
Perché il debugger si "blocca" durante il debug dell'indicatore (perché accede ai confini dell'array), ma allo stesso tempo tutto viene disegnato normalmente sul grafico?
Nella tua domanda su come trovare il tasso più alto nel resto della giornata dopo una candela rialzista, la parte sul fuso orario dell'ora del server è stata omessa per qualche motivo. Il compito è strettamente legato al confine del giorno, e questi confini sono diversi in diverse aziende. I candelieri appartenenti a diversi giorni sono diversi. A seconda del fuso orario del server, i valori più alti che troverete apparterranno a giorni diversi. È normale nel suo caso?
Non sono un novellino, ma c'è una domanda "sciocca", dato che non ho quasi mai incontrato una situazione simile.
Supponiamo che ci sia un ordine pendente già impostato. Usiamo l'indicatore per muovere il suo prezzo. In un momento, l'ordine non può essere modificato perché il nuovo prezzo è entrato nell'intervallo proibito a causa degli stop come Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Ma l'ordine deve essere aperto "dal mercato".
Cosa possiamo fare in questo caso?
Possiamo cancellare l'ordine pendente e aprirne uno nuovo dal mercato?
Oppure, è possibile cambiare l'ordine pendente in uno aperto?
Non sono un novellino, ma c'è una domanda "sciocca", dato che non ho quasi mai incontrato una situazione del genere.
Supponiamo che ci sia un ordine pendente già impostato. Usiamo l'indicatore per muovere il suo prezzo. In un momento, l'ordine non può essere modificato perché il nuovo prezzo è entrato nell'intervallo proibito a causa degli stop come Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Ma l'ordine deve essere aperto "dal mercato".
Cosa possiamo fare in questo caso?
Possiamo cancellare l'ordine pendente e aprirne uno nuovo dal mercato?
O l'ordine pendente può essere in qualche modo trasformato in un ordine aperto?
Se è così vicino al prezzo, il prezzo lo troverà, ma non, forse è meglio se è una fermata! E se si tratta di un limite, pazienza. Prova a sperimentare nel tester e l'ottimizzazione determinerà la migliore variante! Buona fortuna!
borilunad: Se è così vicino al prezzo, il prezzo lo troverà da solo, e se non lo è, forse è meglio che sia una fermata! E quello del limite, poi la pazienza. Prova a sperimentare nel tester, e l'ottimizzazione determinerà la migliore variante! Buona fortuna!
Grazie! È tutto così chiaro. Ma voglio sapere la risposta alla mia domanda - cosa fare, se devo assolutamente far funzionare l'ordine, non importa dove andrà il prezzo? Devo cancellare l'ordine pendente e aprirne uno regolare o avere qualche altra variante?
mt4trade: Grazie! Ma ho bisogno di una risposta alla mia domanda - se un ordine deve essere attivato indipendentemente da dove va il prezzo ora, cosa dovrei fare? Devo cancellare l'ordine pendente e aprirne uno regolare?
Per me, se seguite la vostra strategia, allora fatelo! Non vi consiglio di cambiarla a metà strada, altrimenti senza risultati certi (positivi o negativi), non potete essere sicuri della razionalità della vostra strategia. Questo è tutto!
borilunad: Per me, se segui la tua strategia, allora seguila! Non ti consiglio di cambiarla a metà strada, altrimenti senza risultati certi (positivi o negativi), non puoi essere sicuro della razionalità della tua strategia. Questo è tutto!
Di nuovo, grazie! Dici cose giuste, ma irrilevanti per la domanda. Ancora una volta: se il prezzo calcolato dell'ordine pendente ha colpito il range proibito, e non può essere modificato, ma deve (secondo la strategia) scattare al prezzo calcolato - come si fa a "trasformarlo" in uno scatenato? Per cancellarlo e aprirlo come uno normale? O ci sono altre opzioni? Per favore, rispondete esattamente a questa domanda.
mt4trade: Grazie ancora! Dici cose giuste, ma irrilevanti per la domanda. :) Ancora una volta: se il prezzo calcolato di un ordine pendente ha colpito l'intervallo proibito e non può essere modificato, ma deve (secondo la strategia) scattare al prezzo calcolato - come faccio a "trasformarlo" in un trigger? Per cancellarlo e aprirlo come uno normale? O ci sono altre opzioni? Per favore, rispondete esattamente a questa domanda.
C'è incoerenza in questo approccio. Se ci si aspetta che una posizione venga aperta già nella zona di congelamento (non può essere modificata) da un ordine pendente, allora l'ordine dovrebbe essere inizialmente collocato a un prezzo diverso, al confine di questa zona di congelamento. Ecco perché il suo approccio non è accettato da molte persone.
Per essere specifico alla tua domanda. Prima rimuovi l'ordine pendente e poi apri immediatamente una posizione al prezzo corrente. Il problema è che durante queste azioni, il prezzo può muoversi fuori dalla zona di congelamento (in peggio) e la posizione sarà aperta ad un prezzo sbagliato. Un'altra opzione è quella di non creare un ordine pendente e memorizzare il valore per aprire la posizione in una variabile nel programma. Lo confronti con il prezzo attuale e se la condizione è soddisfatta (tenendo conto della zona di congelamento), apri una posizione.
Perché il debugger si "blocca" durante il debug dell'indicatore (perché accede ai confini dell'array), ma allo stesso tempo tutto viene disegnato normalmente sul grafico?
MT4 build 950, demo Alpari.
L'indicatore è allegato.
Non sono un novellino, ma c'è una domanda "sciocca", dato che non ho quasi mai incontrato una situazione simile.
Supponiamo che ci sia un ordine pendente già impostato.
Usiamo l'indicatore per muovere il suo prezzo.
In un momento, l'ordine non può essere modificato perché il nuovo prezzo è entrato nell'intervallo proibito a causa degli stop come Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Ma l'ordine deve essere aperto "dal mercato".
Cosa possiamo fare in questo caso?
Possiamo cancellare l'ordine pendente e aprirne uno nuovo dal mercato?
Oppure, è possibile cambiare l'ordine pendente in uno aperto?
Ciao a tutti!
Non sono un novellino, ma c'è una domanda "sciocca", dato che non ho quasi mai incontrato una situazione del genere.
Supponiamo che ci sia un ordine pendente già impostato.
Usiamo l'indicatore per muovere il suo prezzo.
In un momento, l'ordine non può essere modificato perché il nuovo prezzo è entrato nell'intervallo proibito a causa degli stop come Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Ma l'ordine deve essere aperto "dal mercato".
Cosa possiamo fare in questo caso?
Possiamo cancellare l'ordine pendente e aprirne uno nuovo dal mercato?
O l'ordine pendente può essere in qualche modo trasformato in un ordine aperto?
Per favore, aiutatemi.
Quando installo un EA su un grafico standalone, l'EA non funziona, perché la funzione start() non viene avviata.
Come posso implementare un aggiornamento del grafico da un EA che lo costruisce, o da un EA che è collegato a questo grafico?
Se è così vicino al prezzo, il prezzo lo troverà da solo, e se non lo è, forse è meglio che sia una fermata! E quello del limite, poi la pazienza. Prova a sperimentare nel tester, e l'ottimizzazione determinerà la migliore variante! Buona fortuna!
Grazie! Ma ho bisogno di una risposta alla mia domanda - se un ordine deve essere attivato indipendentemente da dove va il prezzo ora, cosa dovrei fare? Devo cancellare l'ordine pendente e aprirne uno regolare?
Per me, se segui la tua strategia, allora seguila! Non ti consiglio di cambiarla a metà strada, altrimenti senza risultati certi (positivi o negativi), non puoi essere sicuro della razionalità della tua strategia. Questo è tutto!
Grazie ancora! Dici cose giuste, ma irrilevanti per la domanda. :) Ancora una volta: se il prezzo calcolato di un ordine pendente ha colpito l'intervallo proibito e non può essere modificato, ma deve (secondo la strategia) scattare al prezzo calcolato - come faccio a "trasformarlo" in un trigger? Per cancellarlo e aprirlo come uno normale? O ci sono altre opzioni? Per favore, rispondete esattamente a questa domanda.
Per essere specifico alla tua domanda. Prima rimuovi l'ordine pendente e poi apri immediatamente una posizione al prezzo corrente. Il problema è che durante queste azioni, il prezzo può muoversi fuori dalla zona di congelamento (in peggio) e la posizione sarà aperta ad un prezzo sbagliato. Un'altra opzione è quella di non creare un ordine pendente e memorizzare il valore per aprire la posizione in una variabile nel programma. Lo confronti con il prezzo attuale e se la condizione è soddisfatta (tenendo conto della zona di congelamento), apri una posizione.