[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 20

 
Dimka-novitsek:
Ugh, non Smoothness, ma Slowdown. Eccone dieci:

Ecco uno sguardo a come conta lo stocastico da manuale.

 

Chiripaha:

Il testo è legato al prezzo della linea + 3*Point (cioè l'ho messo leggermente più in alto), ma ancora, quando cambio la dimensione del grafico (finestra) il testo è ora sopra la linea, ora sotto, ora al livello della linea (salta)... Perché succede questo? - Sto dando le coordinate del prezzo esatto. Come si risolve?

Ho cercato e provato come lo fanno gli altri, ma l'effetto è simile. Voglio capire come si elimina questo "rimbalzo". E soprattutto, perché sembra che le coordinate siano difficili: prezzo e tempo?

TarasBY:

Il testo viene inserito nella descrizione dell'oggetto e il grafico è autorizzato a mostrare le descrizioni degli oggetti (uno dei modi).

Come implementarlo programmaticamente? Ho cercato e ricercato - non ho trovato. Con le mani funziona, ma che tipo di comandi dovrebbero essere....
 
Chiripaha:
Come implementare questo programmaticamente? Ho cercato e frugato e non l'ho trovato. A mano funziona, ma i comandi dovrebbero essere ....

bool ObjectSetText( stringa nome, stringa testo, int font_size, stringa font_name=NULL, colore text_color=CLR_NONE)
Modifica della descrizione dell'oggetto. Per gli oggetti OBJ_TEXT e OBJ_LABEL questa descrizione viene mostrata sul grafico come una stringa di testo. Se ha successo, la funzione restituisce TRUE, altrimenti FALSE. Per ottenere maggiori informazioni sull'errore, chiamare GetLastError().
I parametri font_size, font_name e text_color sono usati solo per gli oggetti OBJ_TEXT e OBJ_LABEL. Per altri tipi di oggetti, questi parametri sono ignorati.
Vedere anche ObjectDescription().
Parametri:
nome- nome dell'oggetto.
testo- Testo che descrive l'oggetto.
dimensione del carattere- Dimensione del carattere in punti.
nome_font- Nome del carattere.
colore_testo- Colore_testo.
Esempio:
ObjectSetText("text_object", "Hello world!", 10, "Times New Roman", Green);
 
TarasBY:


Vedere anche ObjectDescription().

Woohoo... Descrizione... : )))) Ho cercato dove si fa .... Grazie mille! : )))

 
Chiripaha:

Woohoo... DESCRIZIONE... : )))) Mi stavo chiedendo dove si fa .... Grazie mille! : )))

ObjectDescription() restituisce solo una proprietà (in questo caso una descrizione), MA non la imposta!!!

 
TarasBY:

ObjectDescription() restituisce solo una proprietà (in questo caso una descrizione), MA non la imposta!!!

Sì... Ecco, l'ho appena capito... Come si installa? : ((

Si riflette lì manualmente se lo si imposta attraverso la finestra delle proprietà.

 
Chiripaha:

Sì... Ecco, l'ho appena capito... Come si installa? : ((

C'è manualmente se lo imposti nella finestra delle proprietà.

Con chi sto parlando? - https://forum.mql4.com/ru/52892/page20#732354
 
TarasBY:
E a chi devo rispondere? - https://forum.mql4.com/ru/52892/page20#732354

: ))))))) Evviva, l'ho capito... - Ora l'ho sperimentato dopo il bashing. Non sapevo che si potesse fare... : )) Ho guardato come lo fanno gli altri e l'ho fatto per analogia. E si scopre che questa funzione "..SetText" è indipendente. Pensavo che avrebbe funzionato solo dopo la creazione dell'oggetto testo.

Grazie mille ancora! : ))) Ho comunque imparato qualcosa. : ))

 
rigonich:


Stampa lo stato delle bandiere separatamente per ogni condizione. Questo perché le condizioni non tengono conto dello stato della seconda bandiera.

P.S. Ed è più conveniente stamparePrint("flag=",flag, "flagg=",flagg) per evitare confusione;


print("flag=",flag, "flagg=",flagg);

stampa flag=1 flagg=0 AS ORDER!

ma in qualche modo il segnale passa OGNI TICK!

cioè la condizione if(Ma_1<Ma_2 && flag==0) flag viene ignorata FULL! come mai? flag stampa flag=1 e passa immediatamente if(Ma_1<Ma_2 && flag==0) ->Sound

-----------------

potete semplificare questo codice nel seguente modo

if(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav"); flag=1 }

di conseguenza il suono dovrebbe andare UNA volta sola. E suona ad ogni ticchettio!!!

 
lottamer:


stampato Print("flag=",flag, "flagg=",flagg);

stampa flag=1 flagg=0 AS ORDERED!

ma in qualche modo il segnale passa OGNI TICK!

cioè la condizione if(Ma_1<Ma_2 && flag==0) flag viene ignorata FULL! come mai? flag stampa flag=1 e passa immediatamente if(Ma_1<Ma_2 && flag==0) ->Sound

-----------------

potete semplificare questo codice nel seguente modo

if(Ma_1<Ma_2 && flag==0) {PlaySound("ok.wav"); flag=1 }

di conseguenza il suono dovrebbe andare UNA volta sola. E suona ad ogni ticchettio!!!


Avete la bandiera come variabile locale?

P.S. Quando non è del tutto chiaro cosa sta succedendo, è meglio stampare i valori prima e dopo la funzione o l'operatore che volete controllare, per vedere esattamente come cambiano. A volte i valori di input non sono quello che ci aspettiamo che siano, e trovare dove e perché diventano quello che sono è molto più facile nel codice che indovinare perché il programma non funziona correttamente.
Motivazione: