Aiuto per la codifica - pagina 54

 

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

 
mladen:
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

File:
 

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.

File:
dots.jpg  71 kb
 

Potete usare una funzione come questa:

bool lastOrderStopLossHit(int magicNumber, string symbol, datetime& lastTime)

{

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

uk_kara:
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.

File:
 

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)

annbeea:
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.
 
mladen:
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 magico

Grazie Mladen. Controllerò

 
mladen:
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

annbeea:
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.
 
uk_kara:
Grazie Mladen. Lo controllerò

Funziona come un fascino come sempre, grazie Mladen, sei una stella

Motivazione: