[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 168

 
DhP:

Come posso rendere questo ciclo più "facile"? Ci vuole molto tempo per contare.
 if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i)) if(LOWprice> bid) CountH++ else CountL++; 
 
Ditemi, perché avete bisogno di barre "più di un anno"? Perché avete bisogno di barre "su un anno" se avete davvero bisogno di dati solo "su una certa area"? Trova uno strumento che definisca la "dimensione della trama" e poi usa il numero di barre uguale alla "dimensione della trama".
 
splxgf:
Sì, è più "colorato" e corretto.
 
DDFedor:
Ditemi, perché avete bisogno di barre "più di un anno"? Perché avete bisogno di barre "su un anno" se avete davvero bisogno di dati solo "su una certa area"? Trova uno strumento che definisca la "dimensione della trama" e poi usa il numero di barre uguale alla "dimensione della trama".
Non capisco...
 
Non so per la bellezza e la correttezza, ma si libera della doppia chiamata iHigh,iLow... Sono troppo pigro per pensarci ora, se si capisce la logica del codice, forse ci saranno altre opzioni.
 
splxgf:
Non so per la bellezza e la correttezza, ma si libera della doppia chiamata iHigh,iLow... Sono troppo pigro per pensarci ora, se si capisce la logica del codice, forse ci saranno altre opzioni.


qui:

          if(LOWprice> bid)if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i))CountH++;  
          if(LOWprice<=bid)if(iHigh(NULL,60,i)>LOWprice && LOWprice>iLow(NULL,60,i))CountL++;

nessuna doppia chiamata iHigh,iLow - c'è un controllo extra se(LOWprice<=bid) - dovremmo usare else

 
splxgf:
Non so per la bellezza e la correttezza, ma aiuta ad evitare il doppio iHigh, iLow... Sono troppo pigro per pensarci ora, ma se capisco la logica del codice, forse ci saranno altre opzioni.

Per la testa fresca di domani:

Un doppio ciclo (while e for) seleziona i prezzi sopra e sotto il Bid e conta quante volte il prezzo "penetra" le barre orarie nel corso dell'anno.

Il prezzo che ha penetrato più barre è il livello di resistenza più forte.

Così abbiamo 2 livelli forti nella gamma dei 600 punti. Sopra e sotto l'offerta.

 

Altrimenti creerei un grande array (60 kilobyte non sono troppi e possono essere sacrificati in nome della velocità) di livelli di prezzo e lo riempirei con la quantità di incroci delle barre orarie. Sarebbe chiamato una volta in init e all'apparire di una nuova barra oraria i livelli necessari sarebbero incrementati, e in tutti gli altri casi l'array sarebbe selezionato per il prezzo necessario con un semplice ciclo.

 
abolk:


se programmaticamente - quando si apre un ordine - c'è un magik e un commento - è possibile criptare le informazioni sulla condizione specifica in cui l'ordine viene aperto nel magik o nel commento

in generale, lo stop non viene attivato da una condizione, ma quando il prezzo raggiunge un livello di prezzo - l'ordine può essere chiuso da una condizione

E come tornare al commento già scritto dopo n battute dopo averlo scritto?


In generale, come posso ottenere informazioni sull'ultimo ordine chiuso?

 
Xaoss1990:

Come posso tornare a un commento già scritto, n barre dopo averlo scritto?

In generale, come posso ottenere informazioni sull'ultimo ordine chiuso?


l'ordine è selezionato https://docs.mql4.com/ru/trading/OrderSelect - o con il looping o selezionando per biglietto

poi usando la funzione Order*() si cerca il rispettivo parametro dell'ordine