loop: przekazywanie tablicy do funkcji pytania?
Pokaż wyniki od 1 do 7 z 7

Wątek: loop: przekazywanie tablicy do funkcji pytania?

  1. #1
    cześć,

    może ktoś wie, jak to zrobić poprawnie.

    Chciałbym przejść przez różne interwały TF i przekazać różne tablice do mojej funkcji:

    Coś w tym stylu:/blok

    PHP Code: <code><span style=”color: #000000”> <span style=”color: #0000BB”>intinterval</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>1</span><span style=”color: #007700”>;
    </span><span style=”color: #0000BB”>int_PeriodM1</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>10</span><span style=”color: #007700”>;
    </span><span style=”color: #0000BB”>int_PeriodM5</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>50</span><span style=”color: #007700”>;

    </span><span style=”color: #0000BB”>doubledArOpenPriceM1</span><span style=”color: #007700”>#91;#93;;
    </span><span style=”color: #0000BB”>doubledArOpenPriceM5</span><span style=”color: #007700”>#91;#93;;

    </span><span style=”color: #FF8000”>//Somewhere
    </span><span style=”color: #0000BB”>ArrayCopySeries</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>dArOpenPriceM1</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>MODE_OPEN</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>sPairName</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>PERIOD_M1</span><span style=”color: #007700”>);
    </span><span style=”color: #0000BB”>ArrayCopySeries</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>dArOpenPriceM5</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>MODE_OPEN</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>sPairName</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>PERIOD_M5</span><span style=”color: #007700”>);
    =====================



    </span><span style=”color: #FF8000”>//Blockinquestion
    </span><span style=”color: #007700”>if(</span><span style=”color: #0000BB”>interval</span><span style=”color: #007700”>==</span><span style=”color: #0000BB”>PERIOD_M1</span><span style=”color: #007700”>){
    </span><span style=”color: #0000BB”>myFunc</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>_PeriodM1</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>dArOpenPriceM1</span><span style=”color: #007700”>);
    }
    elseif(</span><span style=”color: #0000BB”>interval</span><span style=”color: #007700”>==</span><span style=”color: #0000BB”>PERIOD_M5</span><span style=”color: #007700”>){
    </span><span style=”color: #0000BB”>myFunc</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>_PeriodM5</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>dArOpenPriceM5</span><span style=”color: #007700”>);
    }


    =====================
    </span><span style=”color: #FF8000”>//Helperfunction
    </span><span style=”color: #0000BB”>voidmyFunc</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>int_Period</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>double_dArOpenPrice</span><span style=”color: #007700”>#91;#93;){
    </span><span style=”color: #FF8000”>//Domything
    </span><span style=”color: #007700”>}
    </span><span style=”color: #0000BB”></span> </span> </code> instead of the/Block in question

    Chciałbym zrobić coś takiego:

    Kod PHP: <code> <span style = ”color: # 000000”> <span style = ”color: # 0000BB”> intHelperArray </span> <span style = ”color: # 007700”> # 91; </span > <span style = ”color: # 0000BB”> 2 </span> <span style = ”color: # 007700”> # 93 ;;
    </span> <span style = ”color: # 0000BB” > HelperArray </span> <span style = ”color: # 007700”> # 91; </span> <span style = ”color: # 0000BB”> 0 </span> <span style = ”color: # 007700” > # 93; = </span> <span style = ”color: # 0000BB”> _ PeriodM1 </span> <span style = ”color: # 007700”>;
    </span> <span style = ” color: # 0000BB ”> HelperArray </span> <span style =” color: # 007700 ”> # 91; </span> <span style =” color: # 0000BB ”> 1 </span> <span style =” color: # 007700 ”> # 93; = </span> <span style =” color: # 0000BB ”> _ PeriodM5 </span> <span style =” color: # 007700 ”>;

    for (</span> <span style = ”color: # 0000BB”> intx </span> <span style = ”color: # 007700”> = </span> <span style = ”color: # 0000BB”> 0 </span> <span style = ”color: # 007700”>; </span> <span style = ”kolor: # 0000 BB ”> x </span> <span style =” kolor: # 007700 ”> lt; </span> <span style =” kolor: # 0000BB ”> 2 </span> <span style =” kolor: # 007700 ”>; </span> <span style =” color: # 0000BB ”> x </span> <span style =” color: # 007700 ”> ) {
    </span> <span style = ”Color: # 0000BB”> myFunc </span> <span style = ”color: # 007700”> (</span> <span style = ”color: # 0000BB”> HelperArray </span> <span style = ”kolor : # 007700 ”> # 91; </span> <span style =” color: # 0000BB ”> x </span> <span style =” color: # 007700 ”> # 93 ;, </span> <span style = ”Kolor: # 0000BB”> double_dArOpenPrice </span> <span style = ”kolor: # 007700”> # 91; # 93;)
    </span> <span style = ”color: # FF8000”>/don'tknowhow topassherethecorrectonearray
    </span> <span style = ”color: # 007700”>}
    </span> <span style = ”color: # 0000BB”> </span> </span> </code> Domyślam się, że ktoś musiał zrobić coś takiego w ten sposób przede mną (jeśli jest to możliwe w MT4)
    - i mam nadzieję, że jesteś na tyle uprzejmy, aby poświęcić kilka minut, aby się podzielić - wielkie dzięki.

  2. #2
    The following is a script that shows how to loop through each TF and Pair Save it to the Scripts folder, click the Experts tab and then execute the script. PHP Code: <code><span style=”color: #000000”> <span style=”color: #0000BB”></span><span style=”color: #FF8000”>// ------------------------------------------------------------------
    //|close.mq4|
    //|Copyright©2004,MetaQuotesSoftwareCorp.|
    //|http://www.metaquotes.net/|
    // ------------------------------------------------------------------
    #propertycopyright”Copyright©2004,MetaQuotesSof twareCorp.”
    #propertylink”http://www.metaquotes.net/”

    // ------------------------------------------------------------------
    //|script|
    // ------------------------------------------------------------------
    </span><span style=”color: #0000BB”>intstart</span><span style=”color: #007700”>(){

    </span><span style=”color: #0000BB”>intTimeFrame</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>TF</span><span style=”color: #007700”>;
    </span><span style=”color: #0000BB”>stringdSymbol</span><span style=”color: #007700”>;

    </span><span style=”color: #FF8000”>//currencies
    </span><span style=”color: #0000BB”>stringCurrencies</span><span style=”color: #007700”>#91;#93;={</span><span style=”color: #DD0000”>”EURUSD”</span><span style=”color: #007700”>,</span><span style=”color: #DD0000”>”GBPUSD”</span><span style=”color: #007700”>,</span><span style=”color: #DD0000”>”AUDUSD”</span><span style=”color: #007700”>};
    </span><span style=”color: #0000BB”>intcount</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>ArraySize</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>Currencies</span><span style=”color: #007700”>);

    </span><span style=”color: #FF8000”>//TimeFrames
    </span><span style=”color: #0000BB”>intTimeFrames</span><span style=”color: #007700”>#91;#93;={</span><span style=”color: #0000BB”>30</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>60</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>240</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>1440</span><span style=”color: #007700”>,</span><span style=”color: #0000BB”>10080</span><span style=”color: #007700”>};
    </span><span style=”color: #0000BB”>intcounttf</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>ArraySize</span><span style=”color: #007700”>(</span><span style=”color: #0000BB”>TimeFrames</span><span style=”color: #007700”>);

    for(</span><span style=”color: #0000BB”>intx</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>0</span><span style=”color: #007700”>;</span><span style=”color: #0000BB”>x</span><span style=”color: #007700”>lt;</span><span style=”color: #0000BB”>count</span><span style=”color: #007700”>;</span><span style=”color: #0000BB”>x</span><span style=”color: #007700”> ){
    </span><span style=”color: #0000BB”>dSymbol</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>Currencies</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>x</span><span style=”color: #007700”>#93;;

    for(</span><span style=”color: #0000BB”>intxe</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>0</span><span style=”color: #007700”>;</span><span style=”color: #0000BB”>xe</span><span style=”color: #007700”>lt;</span><span style=”color: #0000BB”>counttf</span><span style=”color: #007700”>;</span><span style=”color: #0000BB”>xe</span><span style=”color: #007700”> ){
    </span><span style=”color: #0000BB”>TF</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>TimeFrames</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>xe</span><span style=”color: #007700”>#93;;
    Print(</span><span style=”color: #0000BB”>dSymbol</span><span style=”color: #007700”> </span><span style=”color: #DD0000”>”-”</span><span style=”color: #007700”> </span><span style=”color: #0000BB”>TF</span><span style=”color: #007700”>);


    }
    }
    return(</span><span style=”color: #0000BB”>0</span><span style=”color: #007700”>);
    }
    </span><span style=”color: #FF8000”>// ------------------------------------------------------------------
    </span><span style=”color: #0000BB”></span> </span> </code>

  3. #3

    Cytat Zamieszczone przez ;
    Poniżej znajduje się skrypt, który pokazuje, jak przechodzić przez każdy TF i Pair. Zapisz go w folderze Skrypty, kliknij kartę Eksperci, a następnie uruchom skrypt. [php]/ -------------------------------------------- ---------------------- /| close.mq4 |/| Copyright © 2004, MetaQuotes Software Corp. |/| http://www.metaquotes.net/|/ ----------------------------------------------- ------------------- # właściwość prawa autorskie Copyright ...
    cyber1, Dziękuję bardzo za poświęcenie czasu. To nie jest dokładnie to, czego szukałem. Mam tablice (seria ArrayCopy, ale także inne) w zależności od każdego TF.

  4. #4

    Cytat Zamieszczone przez ;
    hi mj, możesz scalić tę otwartą cenę tablicy, ale musisz mieć tablicę o stałym rozmiarze dla loing innego indeksu startowego tf, coś takiego: Kod PHP: <code> <span style = ”color: # 000000”> <span style = ”Color: # 0000BB”>
    </span> <span style = ”color: # FF8000”>/- copydArOpenPriceM1dArOpenPriceM5todaOpenPrice
    /--- # 0M1, started from0 * ARR_OPEN_SIZE
    <span> <span style = ”color: # 0000BB”> ArrayCopy </span> <span style = ”color: # 007700”> (</span> <span style = ”color: # 0000BB”> daOpenPrice </span > <span style = ”color: # 007700”>, </span> <span style = ”color: # 0000BB”> dArOpenPriceM1 </span> <span style = ”color: # 007700”>, </span> < span style = ”color: # 0000BB”> 0 </span> <span style = ”color: # 007700”> * </span> <span style = ”color: # 0000BB”> ARR_OPEN_SIZE </span> <styl span = ”Kolor: # 007700”>, </span> <span style = ”kolor: # 0000BB”> 0 </span> <span style = ”kolor: # 007700”>, </span> <span style = ” kolor: # 0000BB ”> ARR_OPEN_SIZE </span> <span style =” color: # 007700 ”>);
    </span> <span style = ”color: # FF8000”>/--- # 1M5, startedfrom1 * ARR_OPEN_SIZE
    </span> <span style = ”color: # 0000BB”> ArrayCopy </span> <span style = ”color: # 007700”> (</span> <span style = ”color: # 0000BB”> daOpenPrice </span> <span style = ”color: # 007700”>, </span> <span style = ”color: # 0000BB”> dArOpenPriceM5 </span> <span style = ”color: # 007700”>, </span> <span style = ”color: # 0000BB”> 1 </span> <span style = ”color: # 007700”> * </span> <span style = ”color: # 0000BB”> ARR_OPEN_SIZE </span> <span style = ”color: # 007700”>, </span> <span style = ”Kolor: # 0000BB”> 0 </span> <span style = ”kolor: # 007700”>, </span> <span style = ”kolor: # 0000BB”> ARR_OPEN_SIZE </span> <span style = ”kolor : # 007700 ”>);
    </span> <span style =” color: # FF8000 ”>/lt; - copydArOpenPriceM1dArOpenPriceM5todaOpenPrice



    <span> <span style = ”color: # 007700”>}
    </span> <span style = ”color: # 0000BB”> </span> </span> </code>
    bandung, wielkie dzięki - patrząc na to, wydaje się być jedną z możliwych opcji - nie myślałem o tym wcześniej. Więc to jest pomocny punkt. Będę się trochę z tym bawić. W przypadku, gdy ktoś inny ma inne podejście, w którym mogę uniknąć dodatkowej części kopii (powyżej części) (dla 9 TF jest 36 ArrayCopySeries), dostosowałbym również twoje wejście.

  5. #5
    1 załącznik (i)
    Cytat Zamieszczone przez ;
    Po prostu coś zauważyłem: nigdy nie przekazałem tablicy o stałym rozmiarze do ArrayCopySeries, więc chciałem to sprawdzić. Wygląda na to, że mimo to ReSized nie ma żadnego efektu. Obraz poniżej: [php] #define ARR_OPEN_SIZE 2000 datetime dtArTimeM1 []; datetime dtArTimeM5 []; datetime dtArTimeM1_limit [ARR_OPEN_SIZE]; datetime dtArTimeM5_limit [ARR_OPEN_SIZE]; int start () {Comment (); int beforedtArTimeM1Size = ArraySize (dtArTimeM1); int beforedtdtArTimeM5Size ...
    tak samo jak ja, próbuję i tak zmieniłem rozmiar, ale to nie ma znaczenia, ponieważ ten blok kopiuje tylko tyle, ile ARR_OPEN_SIZE Wstawiony kod/- kopia dArOpenPriceM1 dArOpenPriceM5 do daOpenPrice/--- # 0 M1, rozpoczęta od 0 * ARR_OPEN_SIZE ArrayCopy (daOpenPrice, dArOpenPriceM1, 0 * ARR_OPEN_SIZE, 0, # 91; b # 93; ARR_OPEN_SIZE # 91;b # 93;/--- # 1 M5, rozpoczęty od 1 * ARR_OPEN_SIZE ArrayCopy (daOpenPrice, dArOpenPriceM5, 1 * ARR_OPEN_SIZE, 0, # 91; b # 93; ARR_OPEN_SIZE # 91;b # 93;/lt; - copy dArOpenPriceM1 dArOpenPriceM5 do daOpenPrice Comment (Array daOpenPricegt; gt; M1 @ # 91; 0 # 93;, DoubleToStr (daOpenPrice # 91; 0 # 93 ;, Digits), M5 @ # 91; 2000 # 93 ; DoubleToStr (daOpenPrice # 91; 2000 # 93 ;, Cyfry), niOpengt; gt; M1 bar # 0, DoubleToStr (iOpen (NULL, PERIOD_M1, 0), cyfry), M5 bar # 0, DoubleToStr (iOpen (NULL, PERIOD_M5, 0), cyfry));
    https://www.forex-instant.com/broker...iscussion.html

  6. #6
    Jest jeszcze coś, o czym myślę: zamiast przekazywać tablicę np. dArOpenPriceM1 ArrayCopySeries (dArOpenPriceM1, MODE_OPEN, Symbol (), PERIOD_M1); Mogłem zrobić w mojej funkcji dla każdego paska a: double iOpen (symbol łańcucha, int timeframe, int shift) i przekazać tylko różne wartości TimeFrame

  7. #7
    Cytat Zamieszczone przez ;
    ja też
    , próbuję i tak, zmienił rozmiar, ale to nie ma znaczenia, ponieważ ten blok będzie kopiował tylko tyle, ile ARR_OPEN_SIZE
    Tak - był po prostu ciekawy, ponieważ nigdy nie przekazałem takich tablic - ale ogólny pomysł zadziałał. Myślę też, że z dowolnymi przesunięciami - wystarczy je przekazać (robię to już z innymi tablicami.) Dzięki za ogólny pomysł - jeśli nikt inny nie ma jeszcze kilku lepszych podejść - spróbuję w prawdziwym indi. Miło z twojej strony.

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.