Caratteristiche utili da KimIV - pagina 99

 
TarasBY писал(а) >>
Ho notato un bug nella funzione TypeNearPos quando la condizione è soddisfatta:
Prezzo di mercato = prezzo dell'ordine aperto, allora questo ordine non viene preso in considerazione da questa funzione.
Ho dovuto aggiungere questa semplice condizione al codice.
Questa condizione sarà anche utile in funzioni come TypeNearPos() e PriceOpenNearPos().


Ha più senso confrontare ti con zero nella condizione invece di pp

if (ti==0 || pp>MathAbs(OrderOpenPrice()-mi)/p)
{
   pp=MathAbs(OrderOpenPrice()-mi)/p;
   ti=OrderTicket();
}
Ma se lasciamo la condizione così com'è, è meglio uscire dal ciclo con break invece che con return.
if (pp==0 || pp>MathAbs(OrderOpenPrice()-mi)/p)
{
   pp=MathAbs(OrderOpenPrice()-mi)/p;
   ti=OrderTicket();
   if (pp==0)
      break;
}
 
Ciao, Igor. Ciao a tutti.
Igor, ti parlo da eccellente specialista ed esperto nel tuo campo.
L'essenza del mio problema è la seguente:
Io uso cinque indicatori nel mio TS, uno di questi è TRAP. Rimuove molto bene tutti i "rumori" inutili, ma è altrettanto "buono". Ha tre buffer di disegno: 0 per la linea di segnale, 1 e 2 per il grafico a due colori. Quando la linea del segnale TRAP è giù e ha un grafico rosso sotto di essa - Vendi. Quando la linea di segnale sale e il grafico è blu - Compra.
Manualmente, tutto va bene, ma quando cerco di ottenere i suoi dati dall'Expert Advisor, inizia la tortura, che continua ancora oggi.
Il design...
   TRAPsig0=iCustom(NULL,0,"TRAP",12,5,0,4,0.5,0,0);  // Сигнальная линия,       0 бар
   TRAPsig1=iCustom(NULL,0,"TRAP",12,5,0,4,0.5,0,1);  // Сигнальная линия,       1 бар
   TRAPmnR0=iCustom(NULL,0,"TRAP",12,5,0,4,0.5,1,0);  // Буфер цвета 1 (красн.), 0 бар
   TRAPmnR1=iCustom(NULL,0,"TRAP",12,5,0,4,0.5,1,1);  // Буфер цвета 1 (красн.), 1 бар
   TRAPmnB0=iCustom(NULL,0,"TRAP",12,5,0,4,0.5,2,0);  // Буфер цвета 2 (син.),   0 бар
   TRAPmnB1=iCustom(NULL,0,"TRAP",12,5,0,4,0.5,2,1);  // Буфер цвета 2 (син.),   1 бар
...legge i dati, ma i dati non sono affatto quelli che mi aspettavo. Ho provato a leggere i dati da tutti e tre i buffer per le barre 0 - 7 e a visualizzarli sullo schermo. La barra zero contiene 2147483647, la prima barra il prezzo, la seconda barra il prezzo, la terza barra il prezzo, la quarta barra ancora 2147483647 ecc. Allo stesso tempo, tutti i dati non cambiano tick per tick, ma quando lo fanno. A volte dopo un periodo di tempo piuttosto lungo, a volte rapidamente, e cambiano il loro contenuto secondo uno strano sistema che non ho ancora capito. Se prima c'è un prezzo lì, allora può essere questo numero misterioso, o può essere un prezzo diverso o lo stesso (anche se la linea sale e il prezzo dovrebbe salire), ecc...
In breve, tutti i miei tentativi di sistematizzare queste letture hanno portato al fatto che il mio cervello dovrebbe già essere dato alla sistematizzazione dei sanitari.... :)
Sto gridando aiuto... Igor, forse puoi consigliarmi su come battere questo indicatore?
O qualcuno dei guru che si occupa già di questo problema.
Aiuto per favore, tutti i costi del lavoro...
Grazie in anticipo!
L'indicatore stesso è nel rimorchio:
File:
trap.ex4  4 kb
 
non usare zero bar.... Si sta solo formando, il che significa che il valore dell'indicatore cambia ad ogni tick....
 

A proposito - dov'è Igor in persona? Non è stato visto per quattro o cinque mesi!

 
kharko >>:
не используйте нулевой бар.... Он только формируется, а значит, значение индикатора меняется с каждым тиком....

Il fatto è che ho provato la prima e la seconda e la terza e... ha provato ogni barra fino a sette su ogni buffer. I segnali sono sbagliati. Il segnale che mostra il prezzo, diciamo, 1,3478 può essere tenuto fino al prossimo aumento del prezzo al livello di 1,3478, e poi diventare bruscamente 1,3486 o il prezzo scompare e appare un valore sconosciuto di 2147483647, può vagare da una barra all'altra nelle letture di tutti e tre i buffer... Se Dio vuole... Può essere presente nelle letture di tre buffer in barre diverse, e quando si cambia il prezzo di una barra, questa lettura si sposta in un'altra barra o buffer... Non potevo battere la sua logica...

 
artmedia70 >>:

вообще цена пропадает и появляется непонятное значение 2147483647...

2147483647 è 0x7FFFFFFFFFF.

Costanti speciali usate per indicare lo stato di parametri e variabili. Può avere i seguenti valori:

VUOTO_VALORE 0x7FFFFFFFF Valore predefinito, puntatore a un valore vuoto. Usato in indicatori personalizzati
 
artmedia70 писал(а) >>

Il fatto è che ho provato la prima e la seconda e la terza e... ha provato ogni barra fino a sette su ogni buffer. I segnali sono sbagliati. Il segnale che mostra il prezzo, diciamo, 1,3478 può essere tenuto fino al prossimo aumento del prezzo al livello di 1,3478, e poi diventare bruscamente 1,3486 o il prezzo scompare e appare un valore sconosciuto di 2147483647, può vagare da una barra all'altra nelle letture di tutti e tre i buffer... Se Dio vuole... Può essere presente nelle letture di tre buffer in barre diverse, e quando si cambia il prezzo di una barra, questa lettura si sposta in un'altra barra o buffer... Non ho potuto battere la sua logica...


aprire la finestra dei dati (Ctrl+D), spostare il mouse sul vostro indicatore e vedere cosa ha in barre. Non è calcolato su barre zero, e su EMPTY_VALUE è già stato scritto.

 
PapaYozh >>:


откройте окно данных (Ctrl+D), поводите мышью по своему индикатору и посмотрите что он имеет в барах. На нулевом баре он не рассчитан, а про EMPTY_VALUE Вам уже написали.

Oh, merda! Si vive e si impara! E facevo un Expert Advisor non di trading, che tracciava questi dati su un grafico... :))) Una teiera, ed era anche bollente... :)
Tutto si è rivelato così facile... Grazie mille!!!!

 
PapaYozh >>:


Логичнее, в условии сравнивать с нулём не pp, a ti

Если же оставить условие как есть, то из цикла лучше выходить не по return, а по break.

Spiegare perché: "è meglio uscire dal ciclo con break invece che con return".
Esco da una funzione con return, ma esco da un ciclo solo con break. Qual è il trucco?

 

Aiuto, per favore... Già provato tutto... Non posso....=( Ho bisogno di trovare l'intersezione degli indicatori... Tutti i consigli che mi sono stati dati non mi hanno aiutato...=( forse tu puoi aiutarmi...

File:
lastlast.mq4  13 kb