Una domanda per i conoscitori di MQL - pagina 3 1234567891011 Nuovo commento [Eliminato] 2010.08.15 15:37 #21 Da qualche parte ho ricevuto il consiglio di controllare sempre se un oggetto esiste prima di usare ObjectCreate (o ObjectSet? Non ricordo) In generale, uso questa variante if (ObjectFind("AsignalGF")==-1) {ObjectCreate("AsignalGF",OBJ_LABEL,0,0,0,0,0); ObjectSet("AsignalGF",OBJPROP_CORNER,1); ObjectSet("AsignalGF",OBJPROP_XDISTANCE,12*1); ObjectSet("AsignalGF",OBJPROP_YDISTANCE,1*5); ObjectSetText("AsignalGF",CharToStr(110),38,"Wingdings",DimGray);} keekkenen 2010.08.15 15:38 #22 leonid553: Buon pomeriggio. Ho già passato mezza giornata e non riesco a capirlo. Per favore consigliatemi quale può essere l'errore qui? Forse nella funzione INIT?l'errore potrebbe essere 1. Se chiamate WindowFind() in init() o in una funzione chiamata in init 2. windowFind() e avete dichiarato la #proprietà indicator_chart_window, poiché windowFind() è chiamata per la sottofinestra 3. non c'è nessun indicatore con il nome che stai cercando nella finestra Indicatori Elite :) [Qualsiasi domanda da principiante, Generatore di ID unico [Eliminato] 2010.08.15 15:47 #23 keekkenen: 3. l'indicatore con il nome che state cercando non è nella finestra mmm... cosa intendi per oggetto? keekkenen 2010.08.15 16:22 #24 Abzasc: mmm... cosa intendi per oggetto? Cosa ha a che fare questo con l'oggetto? L'oggetto è secondario, perché sta cercando di essere reso in una finestra che non esiste, inoltre, se l'oggetto viene creato, non ci sarà alcun errore, se l'oggetto viene creato secondariamente, ObjectCreate() restituirà false Discussione sull articolo "Implementazione Indicatori Elite :) Errori, bug, domande [Eliminato] 2010.08.15 16:36 #25 keekkenen: Cosa ha a che fare questo con l'oggetto? L'oggetto è secondario, perché sta cercando di essere reso in una finestra che non esiste, inoltre, se l'oggetto viene creato, non si verificherà alcun errore, se l'oggetto viene creato secondariamente, ObjectCreate() restituirà false Capito, grazie :) Leonid Borsky 2010.08.15 18:19 #26 keekkenen: l'errore può essere 1. se chiamate WindowFind() in init() o in una funzione che viene chiamata in init 2. windowFind() e avete dichiarato la #proprietà indicator_chart_window, perché windowFind() è chiamata per la sottofinestra 3. l'indicatore con il nome che state cercando non è presente nella finestra 1. No, chiamo la funzione in START: object("Symbol1", Symbol_1, 11, Color_1, 5); 2. Avete dichiarato #proprietà indicator_separate_window 3. Come può mancare un indicatore se la sua finestra è presente? Ecco la funzione stessa: void object(string name, string _text, int fontsize, color color_, int value) { // задаем окно индикатора ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0); // задаем текстовую метку в окне ObjectSetText(name+ WindowExpertName(), _text, fontsize, "Times New Roman", color_); ObjectSet(name+ WindowExpertName(), OBJPROP_CORNER, 1);//задаем правый угол ObjectSet(name+ WindowExpertName(), OBJPROP_XDISTANCE, 4);//задаем х-координату ObjectSet(name+ WindowExpertName(), OBJPROP_YDISTANCE, value);//задаем у-коордтнату } Non chiamo assolutamente nulla in INIT. Forse dovrei aggiungere qualcosa anche lì? A question for MQL Errori, bug, domande Domande di Dummies. Leonid Borsky 2010.08.15 18:27 #27 Abzasc:Da qualche parte ho ricevuto il consiglio di controllare sempre se un oggetto esiste prima di usare ObjectCreate (o ObjectSet? Non ricordo) In generale, uso questa variante. Quale nome dovrei specificare in(ObjectFind("AsignalGF") - Cosa devo impostare il nome dell'indicatore o il nome (array) della linea disegnata dall'indicatore? [Eliminato] 2010.08.15 18:31 #28 leonid553: Quale nome devo impostare in (ObjectFind("AsignalGF") - nome dell'indicatore o il nome (array) della linea disegnata dall'indicatore? Il nome dell'oggetto che viene creato/modificato. Leonid Borsky 2010.08.15 18:50 #29 Credo di aver capito. Ho impostato il nome dell'oggetto nella funzione. ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0); [Eliminato] 2010.08.15 19:09 #30 leonid553: Ho impostato il nome dell'oggetto nella funzione. ObjectCreate(name+ WindowExpertName(), ....); Sì, è quello che stiamo cercando. 1234567891011 Nuovo commento
Da qualche parte ho ricevuto il consiglio di controllare sempre se un oggetto esiste prima di usare ObjectCreate (o ObjectSet? Non ricordo)
In generale, uso questa variante
Buon pomeriggio.
Ho già passato mezza giornata e non riesco a capirlo.
Per favore consigliatemi quale può essere l'errore qui? Forse nella funzione INIT?l'errore potrebbe essere
1. Se chiamate WindowFind() in init() o in una funzione chiamata in init
2. windowFind() e avete dichiarato la #proprietà indicator_chart_window, poiché windowFind() è chiamata per la sottofinestra
3. non c'è nessun indicatore con il nome che stai cercando nella finestra
3. l'indicatore con il nome che state cercando non è nella finestra
mmm... cosa intendi per oggetto?
Cosa ha a che fare questo con l'oggetto?
L'oggetto è secondario, perché sta cercando di essere reso in una finestra che non esiste,
inoltre, se l'oggetto viene creato, non ci sarà alcun errore, se l'oggetto viene creato secondariamente, ObjectCreate() restituirà false
Cosa ha a che fare questo con l'oggetto?
L'oggetto è secondario, perché sta cercando di essere reso in una finestra che non esiste,
inoltre, se l'oggetto viene creato, non si verificherà alcun errore, se l'oggetto viene creato secondariamente, ObjectCreate() restituirà false
l'errore può essere
1. se chiamate WindowFind() in init() o in una funzione che viene chiamata in init
2. windowFind() e avete dichiarato la #proprietà indicator_chart_window, perché windowFind() è chiamata per la sottofinestra
3. l'indicatore con il nome che state cercando non è presente nella finestra
1. No, chiamo la funzione in START: object("Symbol1", Symbol_1, 11, Color_1, 5);
2. Avete dichiarato #proprietà indicator_separate_window
3. Come può mancare un indicatore se la sua finestra è presente?
Ecco la funzione stessa:
Non chiamo assolutamente nulla in INIT. Forse dovrei aggiungere qualcosa anche lì?Da qualche parte ho ricevuto il consiglio di controllare sempre se un oggetto esiste prima di usare ObjectCreate (o ObjectSet? Non ricordo)
In generale, uso questa variante.
Quale nome dovrei specificare in(ObjectFind("AsignalGF") -
Cosa devo impostare il nome dell'indicatore o il nome (array) della linea disegnata dall'indicatore?
Quale nome devo impostare in (ObjectFind("AsignalGF") -
nome dell'indicatore o il nome (array) della linea disegnata dall'indicatore?
Credo di aver capito. Ho impostato il nome dell'oggetto nella funzione.
ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0);
Ho impostato il nome dell'oggetto nella funzione. ObjectCreate(name+ WindowExpertName(), ....);