Wszystkie pytania dozwolone początkujących programistów
Witam wszystkich forumowiczów.
Zaczynam zabawę w programowanie w mt4, na chwilę obecną potrzebowałbym zrobić coś takiego:
- mam otwartą jakąś pozycję na rachunku danych parametrach (numer zlecenia, kierunek i wielkość)
- chciałbym, aby platforma po stracie na tej pozycji danej ilości punktów (i tu wartość możliwa do wpisania) otworzyła sama pozycję przeciwną na tej samej parze walutowej i takiej samej wielkości (ważne jest, aby pozycja przeciwna otwarta została tylko 1 raz w stosunku do danego zlecenia)
I tu pojawiają się kolejne wątpliwości - w przypadku zajęcia takich przeciwstawnych pozycji, jedną z nich chciałbym zamknąć ręcznie - czy jest możliwość ograniczenia powtórnego otwarcia pozycji przeciwstawnej (przecież po zamknięciu nadal strata na pierwszym zleceniu może być większa niż zadana wartość) - może zadać nie daną wartość a przedział wartości, tzn przy stracie np od 100 do 120 punktów otwieraj pozycję przeciwną? (chodzi też przecież o to, aby przy zmniejszaniu straty i przejściu przez ten zakres także nie otwierać pozycji przeciwnej)
No i kolejna wątpliwość to co w przypadku kilku pozycji otwartych - tu wystarczyłoby, gdyby była możliwość przypsania działania jednorazowego tej strategii do danego zlecenia.
Mam nadzieję że opisałem problem dość jasno. Jest mi to potrzebne jako zabezpieczenie i część większej strategii. Będę wdzięczny za każdą pomoc w tym temacie....
Zaczynam zabawę w programowanie w mt4, na chwilę obecną potrzebowałbym zrobić coś takiego:
- mam otwartą jakąś pozycję na rachunku danych parametrach (numer zlecenia, kierunek i wielkość)
- chciałbym, aby platforma po stracie na tej pozycji danej ilości punktów (i tu wartość możliwa do wpisania) otworzyła sama pozycję przeciwną na tej samej parze walutowej i takiej samej wielkości (ważne jest, aby pozycja przeciwna otwarta została tylko 1 raz w stosunku do danego zlecenia)
I tu pojawiają się kolejne wątpliwości - w przypadku zajęcia takich przeciwstawnych pozycji, jedną z nich chciałbym zamknąć ręcznie - czy jest możliwość ograniczenia powtórnego otwarcia pozycji przeciwstawnej (przecież po zamknięciu nadal strata na pierwszym zleceniu może być większa niż zadana wartość) - może zadać nie daną wartość a przedział wartości, tzn przy stracie np od 100 do 120 punktów otwieraj pozycję przeciwną? (chodzi też przecież o to, aby przy zmniejszaniu straty i przejściu przez ten zakres także nie otwierać pozycji przeciwnej)
No i kolejna wątpliwość to co w przypadku kilku pozycji otwartych - tu wystarczyłoby, gdyby była możliwość przypsania działania jednorazowego tej strategii do danego zlecenia.
Mam nadzieję że opisałem problem dość jasno. Jest mi to potrzebne jako zabezpieczenie i część większej strategii. Będę wdzięczny za każdą pomoc w tym temacie....
Witam wszystkich jako nowy na forum i proszę o pomoc.
Próbuję przepisać wskaźnik z afl na MT4 i mam problem.
Mianowicie chodzi o to że kiedy próbuje przypisać do linii zmienną w której policzona jest linia to nic nie pokazuje.
Chodzi o takie coś:
gdzie VS to zmienna w której jest wynik a Buf_0 to moja linia.
A tak działa:
Wszystko jest typu double.
Mógłby mi ktoś pomóc?
W zasadzie potrzebuję więcej pomocy ale nie chcę tu na forum więc na razie tylko to.
Z góry dziękuję.
Próbuję przepisać wskaźnik z afl na MT4 i mam problem.
Mianowicie chodzi o to że kiedy próbuje przypisać do linii zmienną w której policzona jest linia to nic nie pokazuje.
Chodzi o takie coś:
Kod: Zaznacz cały
VS[i]=Close[i]-trBull;
Buf_0[i]=VS[i];
A tak działa:
Kod: Zaznacz cały
Buf_0[i]=Close[i]-trBull;
Mógłby mi ktoś pomóc?
W zasadzie potrzebuję więcej pomocy ale nie chcę tu na forum więc na razie tylko to.
Z góry dziękuję.
Pjetja
Nie widać tu błędu więc może problem polega na czym innym.
Buf_0 to specyficzny bufor, a VS to tablica - nie koniecznie musi mieć ten sam rozmiar to raz, dwa czasami MT4 wymaga skorzystania z Array... (coś tam) aby wskazać że to jest konkretny typ tablicy
Nie widać tu błędu więc może problem polega na czym innym.
Buf_0 to specyficzny bufor, a VS to tablica - nie koniecznie musi mieć ten sam rozmiar to raz, dwa czasami MT4 wymaga skorzystania z Array... (coś tam) aby wskazać że to jest konkretny typ tablicy
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..
Aj i pewnie tu jest problem. Dziękuję za informację, nie wiedziałem tego.
W takim razie jaki jest na to sposób? Jeżeli w deklaracji tablicy wpiszę np
to też nic nie zmienia.
W takim razie jaki jest na to sposób? Jeżeli w deklaracji tablicy wpiszę np
Kod: Zaznacz cały
double VS[10000];
W tym właśnie rzecz że nie mogę działać bezpośrednio na tablicy bufora. Mam dwa bufory i nie zawsze chcę wyświetlać oba. Stąd właśnie konieczność działania na osobnej tablicy. Częściowo sobie z problemem poradziłem, dziękuję za naprowadzenie na trop
Natomiast zastanawiam się nad inną rzeczą. Jak w mql4 narysować linię poziomą? Tzn wskaźnik ma mieć kształt "schodków" a nie linii. Czyli nad każdym słupkiem ma być jeden tzw stopień. Myślałem że od tego jest styl DASH ale to jednak nie to. W bogatych zasobach internetu nie udało mi się nic takiego odnaleźć.

Natomiast zastanawiam się nad inną rzeczą. Jak w mql4 narysować linię poziomą? Tzn wskaźnik ma mieć kształt "schodków" a nie linii. Czyli nad każdym słupkiem ma być jeden tzw stopień. Myślałem że od tego jest styl DASH ale to jednak nie to. W bogatych zasobach internetu nie udało mi się nic takiego odnaleźć.
Nikt Ci nie każe nic wyświetlać, nie musisz wcale tego robić ale do obliczeń jak najbardziej możesz wykorzystać:Pjetja pisze:W tym właśnie rzecz że nie mogę działać bezpośrednio na tablicy bufora. Mam dwa bufory i nie zawsze chcę wyświetlać oba.
Kod: Zaznacz cały
SetIndexStyle(0,DRAW_NONE);
Poszukaj w helpiePjetja pisze:Jak w mql4 narysować linię poziomą?
Kod: Zaznacz cały
ObjectCreate
To użyj histogramuPjetja pisze:Tzn wskaźnik ma mieć kształt "schodków" a nie linii.
Jaki słupek? Świeca?Pjetja pisze:Czyli nad każdym słupkiem ma być jeden tzw stopień.
A może wystarczy obiekt? Sprawdź:
Kod: Zaznacz cały
SetIndexStyle(0,DRAW_ARROW,0
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..
Jednak pozostanę przy zwykłej linii.
Nie wiem czemu nie mogę dać Ci pochwały bo by już dwie poszły
Idąc za ciosem i mając nadzieję na kolejną pomoc zapytam po raz kolejny- jeśli można.
Czy w przypadku operatora warunkowego IF jest możliwość obsługi większej ilości paramtrów ELSE czy tylko jednego? Z tego co wyczytałem to można ale coś nie działa. I nie wiem czy pezez to czy przez źle napisany warunek.
Chodzi mi o to że takie coś:
nie chce mi działać prawidłowo.
Po prostu tak jakby ignoruje te AND i tylko pierwszy warunek bierze pod uwagę.
Czy muszę to rozbić na dwa if-y czy da się to jakoś inaczej zrobić?
Nie wiem czemu nie mogę dać Ci pochwały bo by już dwie poszły

Idąc za ciosem i mając nadzieję na kolejną pomoc zapytam po raz kolejny- jeśli można.
Czy w przypadku operatora warunkowego IF jest możliwość obsługi większej ilości paramtrów ELSE czy tylko jednego? Z tego co wyczytałem to można ale coś nie działa. I nie wiem czy pezez to czy przez źle napisany warunek.
Chodzi mi o to że takie coś:
Kod: Zaznacz cały
if((Close[i]>prev))||(Close[i+1]>prev))
{
..........
}
else if((Close[i]<prev)||(Close[i+1]<prev))
{
.............
}
else if(Close[i]>prev)
{
...........
}
else
{
.................
}
Po prostu tak jakby ignoruje te AND i tylko pierwszy warunek bierze pod uwagę.
Czy muszę to rozbić na dwa if-y czy da się to jakoś inaczej zrobić?