![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Bisogno di aiuto con la funzione Sleep
Ciao mladen
Il mio requisito è che se il trade precedente ha colpito lo stoploss, l'EA dovrebbe dormire per 24 ore. Potresti per favore aiutarmi a codificarlo
annbeea Per quanto riguarda la prima parte del tuo post: sì, quella versione si ridipinge (è dovuto al modo in cui il calcolo T3 è fatto e ha un errore in esso, ecco perché ho detto che è meglio utilizzare l'altro)
ciao mladen, oltre a usare l'altro che hai menzionato, potresti ricodificare quella parte dell'indicatore allegato come preferisco il suo stile di attraversamento, in modo che non si ridipinga passato e con il codice di avviso corretto?
Molte grazie per l'aiuto
Segni di trading sul grafico, come posso cancellarli
Ottengo questi punti rossi sui miei grafici ogni volta che piazza un ordine. come posso disattivarli o cancellarli. Non so cosa li sta causando.
Potete usare una funzione come questa:
{
double lastClosePrice = -1;
double lastStopLoss = -1;
//
//
// reset the time of the last order
//
//
lastTime = -1;
//
//
// find the last order
//
//
for (int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (OrderSymbol() !=symbol) continue;
if (OrderCloseTime()>lastTime)
{
lastTime = OrderCloseTime();
lastClosePrice = OrderClosePrice();
lastStopLoss = OrderStopLoss();
}
}
int digits = MarketInfo(symbol,MODE_DIGITS);
return (lastTime!=-1 && NormalizeDouble(lastClosePrice,digits)==NormalizeDouble(lastStopLoss,digits));
}[/PHP]
and then at the beginning of the start procedure place a code that could look like this :
[PHP] datetime lastClosedTime;
if (lastOrderStopLossHit(1,Symbol(),lastClosedTime) && (lastClosedTime+24*60*60)>TimeCurrent()) return(0);
Se desiderate una pausa diversa da 1 giorno, cambiate il "24*60*60" con quello che desiderate
PS: ho usato "1" per il numero magico nella chiamata. Sostituiscilo con il tuo vero numero magico
Ciao mladen Il mio requisito è che se il trade precedente ha colpito lo stoploss allora l'EA dovrebbe dormire per 24 ore. Potresti per favore aiutarmi a codificarlo
Ciao mladen,
potresti aiutarmi a modificare il codice all'interno, in modo che possa (normalizzare) avere una scala verticale: minimo come zero, massimo come 100, punto medio a 50 invece di zero ora, ma ancora mantenere gli stessi segnali come prima? Molte grazie per l'aiuto.
annbeea
Non puoi farlo. La normalizzazione di qualsiasi tipo cambierà i segnali (non possono rimanere esattamente gli stessi - soprattutto perché hai 3 valori lì, c'è ancora meno possibilità di mantenere i segnali negli stessi posti)
Ciao mladen, potresti aiutarmi a modificare il codice all'interno, in modo che possa (normalizzare) avere una scala verticale: minimo come zero, massimo come 100, punto medio a 50 invece di zero ora, ma mantenere comunque gli stessi segnali di prima? Molte grazie per l'aiuto.
Puoi usare una funzione come questa:
.............................
Se desiderate una pausa diversa da 1 giorno, cambiate il "24*60*60" con quello che desiderate
PS: ho usato "1" per il numero magico nella chiamata. Sostituiscilo con il tuo vero numero magicoGrazie Mladen. Controllerò![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
annbeea Non puoi farlo. La normalizzazione di qualsiasi tipo cambierà i segnali (non possono rimanere esattamente gli stessi - soprattutto perché hai 3 valori lì, c'è ancora meno possibilità di mantenere i segnali negli stessi posti)
ciao mladen
forse ho usato male o frainteso la parola "normalizzare", è possibile scalare il test di prova osc come comunemente appare la scala, min 0, max 100, mid 50?
Btw, è possibile lasciare che il mio precedente test di prova rsi sia modificato per non ridipingere? Posso sapere se è il t3 o i componenti rsi a ridipingere o entrambi a ridipingere? Molte grazie per l'aiuto.
annbeea
Stiamo parlando della stessa cosa: convertire i valori per avere un minimo e un massimo significa sempre "deformare" i valori originali. Possiamo chiamarla normalizzazione o standardizzazione o quello che vogliamo ma il prezzo che paghiamo è una perdita di correlazione dei valori originali. E quando sono "deformati" i segnali avverranno in luoghi completamente diversi
Per quanto riguarda l'indicatore rsi trial: la parte t3 si ridisegnerà. E' dovuto a come vengono trattati i passi precedenti del calcolo del t3. La prima volta che viene calcolato (quando si posiziona sul grafico, si cambia time frame o simbolo, ...) calcolerà OK. ma al prossimo tick, le variabili da e1 a e6 avranno i valori della barra corrente (zero-esimo) quando si calcola il prossimo tick e dovrebbero avere almeno i valori della prima barra (a seconda della variabile "limite"). È un errore come il calcolo del prossimo tick eredita i valori del calcolo del passo precedente che causerà un errore sempre più grande ad ogni nuovo tick, ed è per questo che ti ho raccomandato di usare quell'altro indicatore come base poiché in quello questi problemi sono risolti
ciao mladen
forse ho abusato o capito male la parola "normalizzare", è possibile scalare il test osc trial come appare comunemente la scala, min 0, max 100, mid 50?
Btw, è possibile lasciare che il mio precedente test di prova rsi sia modificato per non ridipingere? Posso sapere se è il t3 o i componenti rsi a ridipingere o entrambi a ridipingere? Molte grazie per l'aiuto.Grazie Mladen. Lo controllerò
Funziona come un fascino come sempre, grazie Mladen, sei una stella![](https://c.mql5.com/forextsd/smiles/You_Rock_Emoticon.png)