@rzemyk
pokaż kilka z tych warunków to na 100% znajdzie się prostsze rozwiązanie problemu
Wystarczy, że będziemy wiedzieć co chcesz osiągnąć to łatwiej będzie pomóc.
Jestem pewny, że istnieje o wiele łatwiejsze i szybsze rozwiązanie bo nawet mój najbardziej rozwinięty systemo-wskaźnik, który pisałem wiele tygodni ma zaledwie niecałe 700 linii kodu, a tworzy on dziesiątki obiektów i wykonuje całą masę skomplikowanych obliczeń. Twój system jest raczej prosty, a zajmuje prawie 1000 linii kodu. Wynika to najpewniej z przepisywania prawie identycznych modułów w kółko.
Tworzenie i usuwanie obiektów
Wklejam zatem fragment kodu:
Zamieściłem tu przykład warunków dotyczących 2 obiektów (z1-z1-c1 oraz z1-z1-c2). Jak widać, gdy kurs oddali się o 100 lub więcej pipsów w górę lub w dół od istniejącego obiektu, tworzony jest automatycznie nowy obiekt o konkretnej nazwie, a dotychczas istniejący jest usuwany. Oznaczenia tych obiektów są bardzo ważne, bo dla każdego z nich mam inne warunki na wejście ze zleceniem kupna lub sprzedaży. W kodzie nie ma elementów dotyczących składania zleceń, bo to chciałem dopisać w drugiej kolejności, ale po błędach w kompilacji nie było sensu tego uzupełniać. Skupiłem się na razie na EA tworzącym obiekty a nie otwierającym zlecenia. Niestety nadmiar tego rodzaju warunków kładzie cały misterny plan zostania milionerem i przejęcia władzy na Światem
Kod: Zaznacz cały
if (ObjectFind("z1-z1-c1")!=-1){
if(Bid > ObjectGet("z1-z1-c1",OBJPROP_PRICE1)+99*Point) {
ObjectCreate("z2-z1-c1",OBJ_HLINE,0,TimeCurrent(),ObjectGet("z1-z1-c1",OBJPROP_PRICE1)+100*Point);
ObjectDelete("z1-z1-c1");}
if(Bid < ObjectGet("z1-z1-c1",OBJPROP_PRICE1)-99*Point) {
ObjectCreate("c1-z1-c1",OBJ_HLINE,0,TimeCurrent(),ObjectGet("z1-z1-c1",OBJPROP_PRICE1)-100*Point);
ObjectDelete("z1-z1-c1");}}
if (ObjectFind("z1-z1-c2")!=-1){
if(Bid > ObjectGet("z1-z1-c2",OBJPROP_PRICE1)+99*Point) {
ObjectCreate("z2-z1-c2",OBJ_HLINE,0,TimeCurrent(),ObjectGet("z1-z1-c2",OBJPROP_PRICE1)+100*Point);
ObjectDelete("z1-z1-c2");}
if(Bid < ObjectGet("z1-z1-c2",OBJPROP_PRICE1)-99*Point) {
ObjectCreate("c1-z1-c2",OBJ_HLINE,0,TimeCurrent(),ObjectGet("z1-z1-c2",OBJPROP_PRICE1)-100*Point);
ObjectDelete("z1-z1-c2");}}
Zamieściłem tu przykład warunków dotyczących 2 obiektów (z1-z1-c1 oraz z1-z1-c2). Jak widać, gdy kurs oddali się o 100 lub więcej pipsów w górę lub w dół od istniejącego obiektu, tworzony jest automatycznie nowy obiekt o konkretnej nazwie, a dotychczas istniejący jest usuwany. Oznaczenia tych obiektów są bardzo ważne, bo dla każdego z nich mam inne warunki na wejście ze zleceniem kupna lub sprzedaży. W kodzie nie ma elementów dotyczących składania zleceń, bo to chciałem dopisać w drugiej kolejności, ale po błędach w kompilacji nie było sensu tego uzupełniać. Skupiłem się na razie na EA tworzącym obiekty a nie otwierającym zlecenia. Niestety nadmiar tego rodzaju warunków kładzie cały misterny plan zostania milionerem i przejęcia władzy na Światem

- thisredone
- Stały bywalec
- Posty: 72
- Rejestracja: 05 sie 2010, 17:07
twoim problemem jest nazewnictwo obiektów.
Wszystko wprowadzasz ręcznie. Od tego jest komputer żeby zrobił to za ciebie ;p.
Napisałbym ci jakiś kod ale w ogóle nie rozumiem tego co chcesz osiągnąć bo z tego co widzę te obiekty to zwyczajne linie poziome, które można by przedstawić jako tablice o wartościach double.
Jak możesz to wyjaśnij trochę działanie albo po prostu napisz dokładnie jaki chcesz osiągnąć cel to wtedy będę wstanie bardziej ci pomóc.
Szczególnie interesuje mnie konstrukcja warunków i powód, dla którego obiekty mają takie nazwy.
Wszystko wprowadzasz ręcznie. Od tego jest komputer żeby zrobił to za ciebie ;p.
Napisałbym ci jakiś kod ale w ogóle nie rozumiem tego co chcesz osiągnąć bo z tego co widzę te obiekty to zwyczajne linie poziome, które można by przedstawić jako tablice o wartościach double.
Jak możesz to wyjaśnij trochę działanie albo po prostu napisz dokładnie jaki chcesz osiągnąć cel to wtedy będę wstanie bardziej ci pomóc.
Szczególnie interesuje mnie konstrukcja warunków i powód, dla którego obiekty mają takie nazwy.