Wstawienie OPISU do rysowanej przez wskaźnik horizontal line

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Wiertara
Stały bywalec
Stały bywalec
Posty: 23
Rejestracja: 07 wrz 2007, 00:01

Wstawienie OPISU do rysowanej przez wskaźnik horizontal line

Nieprzeczytany post autor: Wiertara »

Witam!
Mam prośbę, czy ktoś mógłby mi podpowiedzieć jak do tego wskaźnika dopisać jakąś linijkę, która spowoduje że rysowana przez ten wskaźnik "horizontal line" będzie miała automatycznie wypełnione okienko Opis: (na przykład słowem OPIS jak próbowałem to zrobić); (zapewne ma to związek z poleceniem ObjectDescription).
Próbowałem grzebać w kodzie i wstawiłem te dwie linijki na czerwono, ale mi to wogóle nie działa; poprostu się na tym kompletnie nie znam:

//---- input parameters
extern string NamePrice="Resistance";
extern string sObjDesc="OPIS"
extern string SoundFileName="shotgunBurst.wav";
extern bool ActiveSignal=true;
extern bool ActiveAlert=true;
extern color LineColor=LightSeaGreen;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ObjectFind(NamePrice)==-1)
{
ObjectCreate(NamePrice,OBJ_HLINE,0,0,Close[0]+0.0025);
ObjectSet(NamePrice,OBJPROP_COLOR,LineColor);
ObjectDescription(sObjDesc);
}
//----
return(0);


Z góry dzięki i serdecznie pozdrawiam!

Wiertara
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

Funkcja ObjectDescription jest funkcje Get nie Set ;)

Kod: Zaznacz cały

ObjectSetText(namePrice, sObjDesc);
pozdrawiam
Andrzej Pierz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
Wiertara
Stały bywalec
Stały bywalec
Posty: 23
Rejestracja: 07 wrz 2007, 00:01

Nieprzeczytany post autor: Wiertara »

Pierz Andrzej pisze:Funkcja ObjectDescription jest funkcje Get nie Set ;)

Kod: Zaznacz cały

ObjectSetText(namePrice, sObjDesc);
pozdrawiam
Andrzej Pierz
Okay, zrobiłem to tak, ale dalej nie działa, nie kompiluje się do .ex4, proszę łopatologicznie bo ja jestem prostym dentystą i nie wiem gdzie to upchać :D

//---- input parameters
extern string NamePrice="Resistance";
extern string sObjDesc="OPIS"
extern string SoundFileName="shotgunBurst.wav";
extern bool ActiveSignal=true;
extern bool ActiveAlert=true;
extern color LineColor=LightSeaGreen;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ObjectFind(NamePrice)==-1)
{
ObjectCreate(NamePrice,OBJ_HLINE,0,0,Close[0]+0.0025);
ObjectSet(NamePrice,OBJPROP_COLOR,LineColor);
ObjectSetText(NamePrice, sObjDesc);
}
//----
return(0);

:D

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

a gdzie ,masz po return(0) ; -> } ??

pozdrawiam
Andrzej Pierz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
Wiertara
Stały bywalec
Stały bywalec
Posty: 23
Rejestracja: 07 wrz 2007, 00:01

Nieprzeczytany post autor: Wiertara »

Pierz Andrzej pisze:a gdzie ,masz po return(0) ; -> } ??

pozdrawiam
Andrzej Pierz
Cały kod oryginalnego wskaźnika:

//----
#property indicator_chart_window
#property indicator_buffers 0
//---- input parameters
extern string NamePrice="Resistance";
extern string SoundFileName="shotgunBurst.wav";
extern bool ActiveSignal=true;
extern bool ActiveAlert=true;
extern color LineColor=LightSeaGreen;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ObjectFind(NamePrice)==-1)
{
ObjectCreate(NamePrice,OBJ_HLINE,0,0,Close[0]+0.0025);
ObjectSet(NamePrice,OBJPROP_COLOR,LineColor);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete(NamePrice);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
if (ObjectFind(NamePrice)==-1) return(0);
double _price=ObjectGet(NamePrice,OBJPROP_PRICE1);
double _min=MathMin(High[1],Low[0]);
double _max=MathMax(Low[1],High[0]);
//----
if (ActiveSignal && _price>=_min && _price<=_max)
{
if (ActiveAlert) Alert (Symbol()," ",Period()," Osiągnął poziom ", NormalizeDouble(_price,Digits), " !"); // Ďđĺäóďđĺćäĺíčĺ íŕ ýęđŕí
if(SoundFileName!="" )
PlaySound( SoundFileName ); // Çâóęîâîé ńčăíŕë
}
//----
return(0);
}
//+------------------------------------------------------------------+

Chciałbym, żeby wyrysowana przez niego "horizontal line" miała w opisie automatycznie wpisane słowo powiedzmy "OPIS". Jestem kompletnym zerem z programowania i nie wiem co to funkcja "set", czy "get" :D Proszę Cię więc powiedz tylko gdzie to upchać bo programisty to napewno już ze mnie nie będzie :D

pozdrawiam
Wiertara

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

Kod: Zaznacz cały

#property indicator_chart_window 
 //---- input parameters 
 extern string NamePrice="Resistance"; 
 extern string Opis     = "tutaj opis :)";
 extern string SoundFileName="shotgunBurst.wav"; 
 extern bool ActiveSignal=true; 
 extern bool ActiveAlert=true; 
 extern color LineColor=LightSeaGreen; 
 //+------------------------------------------------------------------+ 
 //| Custom indicator initialization function | 
 //+------------------------------------------------------------------+ 
 int init() 
 { 
 //---- indicators 
 if (ObjectFind(NamePrice)==-1) 
 { 
 ObjectCreate(NamePrice,OBJ_HLINE,0,0,Close[0]+0.0025); 
 ObjectSet(NamePrice,OBJPROP_COLOR,LineColor); 
 ObjectSetText(NamePrice,Opis);
 } 
 //---- 
 return(0); 
 } 
 //+------------------------------------------------------------------+ 
 //| Custom indicator deinitialization function | 
 //+------------------------------------------------------------------+ 
 int deinit() 
 { 
 //---- 
 ObjectDelete(NamePrice); 
 //---- 
 return(0); 
 } 
 //+------------------------------------------------------------------+ 
 //| Custom indicator iteration function | 
 //+------------------------------------------------------------------+ 
 int start() 
 { 
 //---- 
 if (ObjectFind(NamePrice)==-1) return(0); 
 double _price=ObjectGet(NamePrice,OBJPROP_PRICE1); 
 double _min=MathMin(High[1],Low[0]); 
 double _max=MathMax(Low[1],High[0]); 
 //---- 
 if (ActiveSignal && _price>=_min && _price<=_max) 
 { 
 if (ActiveAlert) Alert (Symbol()," ",Period()," Osiągnął poziom ", NormalizeDouble(_price,Digits), " !"); // Ďđĺäóďđĺćäĺíčĺ íŕ ýęđŕí 
 if(SoundFileName!="" ) 
 PlaySound( SoundFileName ); // Çâóęîâîé ńčăíŕë 
 } 
 //---- 
 return(0); 
 } 
 //+------------------------------------------------------------------+
nie wiem co zle robiles wstawiiajac funkcje ObjectSetText ??

pozdrawiam
Andrzej PIerz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
Wiertara
Stały bywalec
Stały bywalec
Posty: 23
Rejestracja: 07 wrz 2007, 00:01

Nieprzeczytany post autor: Wiertara »

Pierz Andrzej pisze:

Kod: Zaznacz cały

#property indicator_chart_window 
 //---- input parameters 
 extern string NamePrice="Resistance"; 
 extern string Opis     = "tutaj opis :)";
 extern string SoundFileName="shotgunBurst.wav"; 
 extern bool ActiveSignal=true; 
 extern bool ActiveAlert=true; 
 extern color LineColor=LightSeaGreen; 
 //+------------------------------------------------------------------+ 
 //| Custom indicator initialization function | 
 //+------------------------------------------------------------------+ 
 int init() 
 { 
 //---- indicators 
 if (ObjectFind(NamePrice)==-1) 
 { 
 ObjectCreate(NamePrice,OBJ_HLINE,0,0,Close[0]+0.0025); 
 ObjectSet(NamePrice,OBJPROP_COLOR,LineColor); 
 ObjectSetText(NamePrice,Opis);
 } 
 //---- 
 return(0); 
 } 
 //+------------------------------------------------------------------+ 
 //| Custom indicator deinitialization function | 
 //+------------------------------------------------------------------+ 
 int deinit() 
 { 
 //---- 
 ObjectDelete(NamePrice); 
 //---- 
 return(0); 
 } 
 //+------------------------------------------------------------------+ 
 //| Custom indicator iteration function | 
 //+------------------------------------------------------------------+ 
 int start() 
 { 
 //---- 
 if (ObjectFind(NamePrice)==-1) return(0); 
 double _price=ObjectGet(NamePrice,OBJPROP_PRICE1); 
 double _min=MathMin(High[1],Low[0]); 
 double _max=MathMax(Low[1],High[0]); 
 //---- 
 if (ActiveSignal && _price>=_min && _price<=_max) 
 { 
 if (ActiveAlert) Alert (Symbol()," ",Period()," Osiągnął poziom ", NormalizeDouble(_price,Digits), " !"); // Ďđĺäóďđĺćäĺíčĺ íŕ ýęđŕí 
 if(SoundFileName!="" ) 
 PlaySound( SoundFileName ); // Çâóęîâîé ńčăíŕë 
 } 
 //---- 
 return(0); 
 } 
 //+------------------------------------------------------------------+
nie wiem co zle robiles wstawiiajac funkcje ObjectSetText ??

pozdrawiam
Andrzej PIerz
Ale ja już wiem:-))) nie wstawiłem na końcu tej linijki tego cuda ; i dlatego się nie kompilowało
KOD pisze: extern string Opis= "tutaj opis :)" ;
już działa :!:

BARDZO DZIĘKUJĘ DOBRY CZŁOWIEKU :D

pozdrawiam!

Wiertara

ODPOWIEDZ