Lista MT4 lub Array?
Strona 1 z 3 123 OstatniOstatni
Pokaż wyniki od 1 do 10 z 25

Wątek: Lista MT4 lub Array?

  1. #1
    Które jest lepszełatwiejsze .... lista lub tablica?

    Np. Mam 4 oddzielne warunki wejścia i chcę sprawdzić, czy któryś jest lepszy od innych, lub czy kombinacja jest lepsza.

    Kup, jeśli A
    Kup, jeśli B
    Kup, jeśli C
    Kup, jeśli D

    i dodatkowe kombinacje, np.
    Kup, jeśli ABCD
    Kup, jeśli AC
    Kup, jeśli BC
    itp.

    Ponieważ istnieją 4 warunki bool, jest w sumie 16 kombinacji i 15 możliwych warunków zakupu od FFFF do TTTT (16 minus FFFF).

    Które jest bardziej skuteczne na liście lub tablicy? Czy jeden jest skuteczniejszy od drugiego? Czy łatwiej jest wdrożyć niż inne? W innym EA korzystałem z listy i posiadałem ponad 30 instrukcji na stronę dla każdego możliwego zakupu lub sprzedaży.

    Jakie jest najbardziej logiczne podejście do tablicy w tym przypadku?

  2. #2
    Nie musisz sprawdzać wszystkich możliwości. Po prostu unieważnij transakcję, gdy tylko jeden z warunków będzie nieprawidłowy. Wstawiony kod BUY = true; if (Use_A! A) BUY = false; if (Use_B! B) BUY = false; if (Use_C! C) BUY = false; jeśli (Use_D! D) BUY = false; jeśli (KUPUJ) wyślij zamówienie zakupu

  3. #3

    Cytat Zamieszczone przez ;
    Nie musisz sprawdzać wszystkich możliwości. Po prostu unieważnij transakcję, gdy tylko jeden z warunków będzie nieprawidłowy. KUP = true; if (Use_A! A) BUY = false; if (Use_B! B) BUY = false; if (Use_C! C) BUY = false; jeśli (Use_D! D) BUY = false; jeśli (KUPUJ) wyślij zamówienie zakupu
    Dzięki za wejście. Muszę owinąć głowę tym i popracować nad logiką. Twój kod źródłowy jest zawsze na miejscu i doceniam to. Po prostu muszę to przemyśleć. To nie jest coś, o czym myślałem lub widziałem wcześniej. Mówisz, że nie muszę sprawdzać wszystkich możliwości, ale z testowego punktu widzenia zamierzałem ustawić 4 sygnały i 15 oddzielnych instrukcji if zawierających wszystkie możliwości kombinacji na liście: Wstawiony kod extern bool UseCondition1 = true;/test T i F extern bool UseCondition2 = true;/test T i F extern bool UseCondition3 = true;/test T i F extern bool UseCondition4 = true;/test T i F Testowanie wszystkich 4 elementów jednocześnie daje 16 kombinacji oczywiście F F F F nie wygeneruje niczego, więc nie odpowiada temu, jeśli dla tego;

  4. #4
    Nie wiem, co chcesz zrobić. Nie tak jasne wyjaśnienie (przynajmniej dla mnie!) ...

  5. #5

    Cytat Zamieszczone przez ;
    Które jest lepszełatwiejsze .... lista lub tablica? Np. Mam 4 oddzielne warunki wejścia i chcę sprawdzić, czy któryś jest lepszy od innych, lub czy kombinacja jest lepsza. Kup jeśli A Kup, jeśli B Kup, jeśli C Kup, jeśli D i dodatkowe kombinacje, na przykład: Kup, jeśli ABCD Kup, jeśli Kup AC, jeśli BC itp. Ponieważ są 4 warunki bool, jest w sumie 16 kombinacji i 15 możliwych warunków zakupu od FFFF do TTTT (16 minus FFFF). Które jest bardziej skuteczne na liście lub tablicy? Czy jeden jest skuteczniejszy od drugiego? Czy łatwiej jest wdrożyć niż inne? W innym EA ...
    pomyśl o binarnym ....

  6. #6

    Cytat Zamieszczone przez ;
    Które jest bardziej skuteczne na liście lub tablicy?
    Jeśli znasz maksymalne możliwe wyniki i nie musisz wstawiać elementów na dowolnych pozycjach, ale tylko na przykład na końcu, wtedy tablica byłaby bardziej wydajna.

  7. #7

    Cytat Zamieszczone przez ;
    Nie wiem, co chcesz zrobić. Nie tak jasne wyjaśnienie (przynajmniej dla mnie!) ...
    Mam cztery oddzielne proste sygnały kupna. Są ustawione jako boolean. Każdy własny sygnał może generować sygnał, który wynosi 4 możliwości testowania. Gdy wszystkie możliwe kombinacje sygnałów są łączone, istnieje 16 możliwości (4 do potęgi 2). 4 zestawy boolów to 16 możliwości sygnału. Ponieważ pierwsza to 0 0 0 0 lub F F F F, która niczego nie wygeneruje. Istnieje 15 możliwych kombinacji sygnałów kupna. Na przykład: TFFF/Tylko sygnał FTFF/Tylko SignalB FFTF/Tylko sygnał C FFFT/Tylko sygnał D TTFF/Sygnał A i BTFTF/Sygnał A i CTFFT/Sygnał A i DTTTF/Sygnał A i B i CTTFT/Sygnał A i B i D itp. Chcę przeprowadzić test historyczny, aby sprawdzić, która kombinacja sygnałów działa najlepiej przez określony czas dla określonego symbolu. Tak więc mam UseSigA, UseSigB, UseSigC, UseSigD jako test przełącza każdy boolean. i mam, jeśli (UseSigA) SigA = SigAformula; powtórzone dla każdego sygnału, następnie jeśli (UseSigA SigA) kup; jeśli (UseSigB SigB) kup; itp. i jeśli (UseSigA UseSigB SigA SigB) kup; itp. robi się to dla wszystkich możliwych 15 kombinacji. Jestem prawie pewien, że mógłbym to zrobić na powyższej liście i pracuję nad tym teraz. Zastanawiam się, czy tablica będzie lepsza i jak to się dzieje, i jak ją zaimplementować lub co najmniej gdzie zacząć, jeśli korzystam z tablicy. W większości przypadków, gdy pojawia się takie wyzwanie, po prostu robię rozwiązania binarne z ogromną listą kombinacji. Myślałem, że tablica może działać? Nigdy nie pracowałem z tablicą, więc jestem całkowicie ignorantem jeśli chodzi o tablicę, ale myślałem, że mogą być bardziej potężni i zaoszczędzić mi czasu po ich nauce. Im więcej kombinacji binarnych możliwości, tym dłuższa lista i większy potencjał dla błędów kodowania, takich jak powtarzanie kombinacji lub jej nie włączanie.

  8. #8

    Cytat Zamieszczone przez ;
    {quote} Jeśli znasz maksymalne możliwe wyniki i nie musisz wstawiać elementów na dowolnych pozycjach, ale tylko na przykład na końcu, wtedy tablica byłaby bardziej wydajna.
    Ach, w porządku; Znam maksymalne możliwe wyniki. Nie jestem pewien, czy muszę wstawiać elementy na dowolnych pozycjach. Na razie myślę, że nie. Po prostu chcę sprawdzić 16 możliwości i przetestować i zobaczyć, który z nich daje znacznie lepszy wynik.

  9. #9

    Cytat Zamieszczone przez ;
    {quote} Mam cztery oddzielne proste sygnały kupna. Są ustawione jako boolean. Każdy własny sygnał może generować sygnał, który wynosi 4 możliwości testowania. Gdy wszystkie możliwe kombinacje sygnałów są łączone, istnieje 16 możliwości (4 do potęgi 2). 4 zestawy boolów to 16 możliwości sygnału. Ponieważ pierwsza to 0 0 0 0 lub F F F F, która niczego nie wygeneruje. Istnieje 15 możliwych kombinacji sygnałów kupna. Na przykład: T F F F/Tylko sygnał F F F/Tylko sygnał F F T F/Tylko sygnał C F F F T/Tylko sygnał T T T ...
    Po obliczeniu A, B, C, D 4 wiersze kodu w moim poście # 2 dadzą taki sam wynik, jak to, co próbujesz zrobić z wielokrotnym sprawdzaniem ...

  10. #10
    Jak myślisz, dlaczego potrzebujesz listy lub tablicy? Jeśli dobrze to rozumiem, zrobiłbym: Permutuj wszystkie możliwości, a przy każdej permutacji, jeśli wynik jest lepszy od poprzedniego, przechowuj jego 4 wartości logiczne mnożone przez (binarne) ważenie jako sumę w indeksie zmiennym ”(tj. prawda = 1, fałsz = 0, A = 8, B = 4, C = 2, D = 1, co oznacza, że ​​jeśli tylko A jest spełnione, indeks dałby 8, jeśli indeks AB = 12 itd.). Na końcu 'index' jest wskaźnikiem do (lub indeksowania) najlepszej kombinacji.

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Używamy cookies
Używamy cookies, aby jak najlepiej dostosować witrynę do Twoich potrzeb. Kontynuowanie przeglądania tej strony, oznacza zgodę na używanie plików cookies. Aby uzyskać więcej informacji zapoznaj się z naszą Polityką Prywatności.