Wszystkie pytania dozwolone początkujących programistów
Re: Wszystkie pytania dozwolone początkujących programistów
W którym miejscu utknąłeś? Zalogowałeś się na serwer? Pulpit chodzi?
Re: Wszystkie pytania dozwolone początkujących programistów
Mam kod i pytanie, kto by mi mógł ten kod linijka po linijce wytłumaczyć? Chętnie odpłatnie komuś to zlecę...
Re: Wszystkie pytania dozwolone początkujących programistów
Witam,
chcę sobie zmodyfikować stary wskażnik #(T_S_R)-Daily Range Calculator.mq4 i dodać do niego 1 zmienna Daily_Range bo wbrew nazwie nie liczy on obecnego Daily Range tylko średnie Daily Range z X poprzednich okresów (po wpisaniu 1 okresu liczy daily range z wczoraj), a nie liczy obecnego. Do niego dopisałem (w zasadzie skopiowałem z innego miejsca dotyczącego innych zmiennych z tego samego wskaźnika) to co mi potrzeba:
ObjectCreate("DR", OBJ_LABEL, WindowFind("TSR"), 0, 0);
ObjectSetText("DR","Current Day Range:", 9, "Arial ", Black);
ObjectSet("DR", OBJPROP_CORNER, 0);
ObjectSet("DR", OBJPROP_XDISTANCE, 680);
ObjectSet("DR", OBJPROP_YDISTANCE, 20);
ObjectCreate("DR", OBJ_LABEL, WindowFind("TSR"), 0, 0);
ObjectSetText("DR",DoubleToStr(Daily_Range,0), 9, "Arial Bold", DarkViolet);
ObjectSet("DR", OBJPROP_CORNER, 0);
ObjectSet("DR", OBJPROP_XDISTANCE, 780);
ObjectSet("DR", OBJPROP_YDISTANCE, 20);
Tylko nie potrafię zdefiniować swojej zmiennej Daily_Range która ma brzmiec po prostu: obecny Daily high - obecny daily low.
Próbowałem na różne sposoby, np coś takiego:
double Daily_Range = (iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0))-(iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0));
ale wyskakuje mi error. Podejrzewam że sprawa jest tak banalnie prosta że sie w głowie nie mieści, ale ja po prostu nie jestem programista:-)
Za ewentualna podpowiedx z góry dziękuje:-)
chcę sobie zmodyfikować stary wskażnik #(T_S_R)-Daily Range Calculator.mq4 i dodać do niego 1 zmienna Daily_Range bo wbrew nazwie nie liczy on obecnego Daily Range tylko średnie Daily Range z X poprzednich okresów (po wpisaniu 1 okresu liczy daily range z wczoraj), a nie liczy obecnego. Do niego dopisałem (w zasadzie skopiowałem z innego miejsca dotyczącego innych zmiennych z tego samego wskaźnika) to co mi potrzeba:
ObjectCreate("DR", OBJ_LABEL, WindowFind("TSR"), 0, 0);
ObjectSetText("DR","Current Day Range:", 9, "Arial ", Black);
ObjectSet("DR", OBJPROP_CORNER, 0);
ObjectSet("DR", OBJPROP_XDISTANCE, 680);
ObjectSet("DR", OBJPROP_YDISTANCE, 20);
ObjectCreate("DR", OBJ_LABEL, WindowFind("TSR"), 0, 0);
ObjectSetText("DR",DoubleToStr(Daily_Range,0), 9, "Arial Bold", DarkViolet);
ObjectSet("DR", OBJPROP_CORNER, 0);
ObjectSet("DR", OBJPROP_XDISTANCE, 780);
ObjectSet("DR", OBJPROP_YDISTANCE, 20);
Tylko nie potrafię zdefiniować swojej zmiennej Daily_Range która ma brzmiec po prostu: obecny Daily high - obecny daily low.
Próbowałem na różne sposoby, np coś takiego:
double Daily_Range = (iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0))-(iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0));
ale wyskakuje mi error. Podejrzewam że sprawa jest tak banalnie prosta że sie w głowie nie mieści, ale ja po prostu nie jestem programista:-)
Za ewentualna podpowiedx z góry dziękuje:-)
Re: Wszystkie pytania dozwolone początkujących programistów
Nie analizowałem całości, ale tak na szybko to tu może być błąd :
na początku start() zdefiniuj sobie :
a później dopiero możesz sobie obliczać :
na początku start() zdefiniuj sobie :
Kod: Zaznacz cały
double ma1=iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0);
double ma2=iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0);
Kod: Zaznacz cały
double Daily_Range = ma1-ma2;
Solą życia jest kasa.
Re: Wszystkie pytania dozwolone początkujących programistów
Wielkie dzięki , zadziałało; czyli nie ma się co zapętlać w nawiasy tylko definiować każdą zmienną i je do siebie dodawać i odejmować-)
Jeszcze raz dzięki:-)
-- Dodano: czw 05-09-2013, 11:29 --
Kurcze skompilowało bez błędów ale wyskakuje mi wynik 1 na platformie; na GbpJpy hi to 156,194 a low to 155,481 i wynik mi daje 1; jak zrobić żeby było do 3 miejsc po przecinku ; 0,713 bo tak powinno być? to zawsze moge razy 100 pomnożyć potem i bede miał te swoje 71,3 pipsa:-)
-- Dodano: czw 05-09-2013, 11:38 --
Wpadłem już sam
)
double ma1=iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0)/Point;
double ma2=iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0)/Point;
double Daily_Range = (ma1-ma2)/10;
Teraz jest dobrze:-)
Pozdrawiam:-)
-- Dodano: czw 05-09-2013, 12:03 --
Okay a teraz juz chyba ostatnie pytanie; tak wygląda mój kod:
double HI = iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0)/Point;
double LOW = iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0)/Point;
double OPEN = iMA(Symbol(),PERIOD_D1,1,0,MODE_OPEN,PRICE_OPEN,0)/Point;
double CLOSE = iMA(Symbol(),PERIOD_D1,1,0,MODE_CLOSE,PRICE_CLOSE,0)/Point;
double Daily_Range = (HI-LOW)/10;
double Candle_Body = (CLOSE-OPEN)/10;
Jak z Candle_Body zrobić wartość zawsze dodatnią bo przy czarnych świecach wyświetla mi ujemną co jest zrozumiałe, więc jak to poprawić
Jeszcze raz dzięki:-)
-- Dodano: czw 05-09-2013, 11:29 --
Kurcze skompilowało bez błędów ale wyskakuje mi wynik 1 na platformie; na GbpJpy hi to 156,194 a low to 155,481 i wynik mi daje 1; jak zrobić żeby było do 3 miejsc po przecinku ; 0,713 bo tak powinno być? to zawsze moge razy 100 pomnożyć potem i bede miał te swoje 71,3 pipsa:-)
-- Dodano: czw 05-09-2013, 11:38 --
Wpadłem już sam

double ma1=iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0)/Point;
double ma2=iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0)/Point;
double Daily_Range = (ma1-ma2)/10;
Teraz jest dobrze:-)
Pozdrawiam:-)
-- Dodano: czw 05-09-2013, 12:03 --
Okay a teraz juz chyba ostatnie pytanie; tak wygląda mój kod:
double HI = iMA(Symbol(),PERIOD_D1,1,0,MODE_HIGH,PRICE_HIGH,0)/Point;
double LOW = iMA(Symbol(),PERIOD_D1,1,0,MODE_LOW,PRICE_LOW,0)/Point;
double OPEN = iMA(Symbol(),PERIOD_D1,1,0,MODE_OPEN,PRICE_OPEN,0)/Point;
double CLOSE = iMA(Symbol(),PERIOD_D1,1,0,MODE_CLOSE,PRICE_CLOSE,0)/Point;
double Daily_Range = (HI-LOW)/10;
double Candle_Body = (CLOSE-OPEN)/10;
Jak z Candle_Body zrobić wartość zawsze dodatnią bo przy czarnych świecach wyświetla mi ujemną co jest zrozumiałe, więc jak to poprawić

-
- Stały bywalec
- Posty: 57
- Rejestracja: 02 sie 2013, 13:30
Re: Wszystkie pytania dozwolone początkujących programistów
ile mozna zrobic wejsc extern double w EA?
Re: Wszystkie pytania dozwolone początkujących programistów
MathAbs() to wartość bezwzględna.Wiertara pisze:Jak z Candle_Body zrobić wartość zawsze dodatnią bo przy czarnych świecach wyświetla mi ujemną co jest zrozumiałe, więc jak to poprawić
Kod: Zaznacz cały
double Candle_Body = MathAbs((CLOSE-OPEN)/10);
Solą życia jest kasa.
-
- Gaduła
- Posty: 132
- Rejestracja: 27 sie 2011, 13:10
Re: Wszystkie pytania dozwolone początkujących programistów
Witam,
Po optymalizacji strategii w mt4, otrzymuję listę wyników. Jednakże, po wybraniu konkretnego zestawu parametrów, a następnie jego przetestowaniu otrzymuję inne wyniki niżeli były w tabeli wyników optymalizacji. Czy ktoś wie, co może za tym się kryć ?
Po optymalizacji strategii w mt4, otrzymuję listę wyników. Jednakże, po wybraniu konkretnego zestawu parametrów, a następnie jego przetestowaniu otrzymuję inne wyniki niżeli były w tabeli wyników optymalizacji. Czy ktoś wie, co może za tym się kryć ?
-
- Stały bywalec
- Posty: 57
- Rejestracja: 02 sie 2013, 13:30
Re: Wszystkie pytania dozwolone początkujących programistów
David_Plavko pisze:Witam,
Po optymalizacji strategii w mt4, otrzymuję listę wyników. Jednakże, po wybraniu konkretnego zestawu parametrów, a następnie jego przetestowaniu otrzymuję inne wyniki niżeli były w tabeli wyników optymalizacji. Czy ktoś wie, co może za tym się kryć ?
jak odpalasz optymalizacje to masz kilka parametrow do ustawienie miedz innymi: "spread" zmien z current na inna wartosc odpowiednia do waluty. ja borykalem sie z tym problemem i to pomoglo dla eurjpy ustawiam 30 i teraz zawsze jest ta sama wartosc. bo robisz optymalizacje dla jednakowego przedzialu czasowego prawda?
-
- Gaduła
- Posty: 132
- Rejestracja: 27 sie 2011, 13:10
Re: Wszystkie pytania dozwolone początkujących programistów
Tak, przedział czasowy i wszystko jest tak samo ustawione. W rezultatach optymalizacji klikam na jednym z wyników prawym przyciskiem i wybieram "Ustaw parametry". Następnym razem spróbuje Twojej metody, gdyż ten błąd raz się pokazuje a raz nie. Aktualnie wszystko działa okej, ale prędzej czy później znów się może pojawić dziwny wynik, jak to w MTKrzysztofJezyna pisze:bo robisz optymalizacje dla jednakowego przedzialu czasowego prawda?
