Invalid EX4 file (8)2014-09-07T21:49:59+00:00
12 bejegyzés megtekintése - 1-12 / 12
  • Szerző
    Bejegyzés
  • COF258
    Tag
    Bejegyzések száma: 30

    Sziasztok!
    Az alábbi problémával szembesültem.
    Egy darabig úgy tűnik minden rendben megy, a kötések is létrejönnek ezen indikátor alapján, de egy ponttól kezdve ezt csinálja, és lövésem sincsen, hogy mi lehet a gond.
    Próbálkoztam már a legjobb G-barátommal is, de nem sokra jutottam, gondoltam megkérdezem itt is, hátha…

    Előre is köszönöm!

    2014.09.07 21:28:25.422 2012.11.07 04:45 “indicatorname” EURUSD,M15: Invalid EX4 file (8)
    2014.09.07 21:28:25.416 2012.11.07 04:45 Custom indicator “indicatorname” EURUSD,M15: loaded successfully
    2014.09.07 21:28:25.404 2012.11.07 04:30 Custom indicator “indicatorname” EURUSD,M15: removed
    2014.09.07 21:28:25.404 2012.11.07 04:30 “indicatorname” EURUSD,M15: global initialization failed
    2014.09.07 21:28:25.404 2012.11.07 04:30 “indicatorname” EURUSD,M15: Invalid EX4 file (8)
    2014.09.07 21:28:25.397 2012.11.07 04:30 Custom indicator “indicatorname” EURUSD,M15: loaded successfully
    2014.09.07 21:28:24.209 2012.11.06 16:45 Custom indicator “indicatorname” EURUSD,M15: removed

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Így látatlanban passz. Ez valami saját készítésű indikátor?

    COF258
    Tag
    Bejegyzések száma: 30

    Uhh.
    Igen és nem is. GMTS-Tape az alapja, úgy töltöttem, éppen csak annyi változott, hogy kimeneti értéknek egyértelmű jelölést adtam az EA miatt.
    Amit fórumokon le tudtam szűrni, az buffer túlcsordulás. Az, hogy milyen, az nem derült ki.
    Lehet valahogy néha levenni az indikátort a chartról? Esetleg reset-elni? Workarundnak szerintem megtenné, míg rá nem jövök hol száll el.

    COF258
    Tag
    Bejegyzések száma: 30

    Az a helyzet, hogy egy 416 build -el fordítva simán működik minden indikátor. Kiábrándító.
    :@

    Mindenesetre köszönöm!

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Idáig milyen builddel próbálkoztál fordítani?

    COF258
    Tag
    Bejegyzések száma: 30

    A 670-es legfrissebbel. Még jó, hogy megtartottam a korábbi telepítést, de ez akkor sem jelent jót.
    Nem vitték túlzásba a fejlesztést, hosszú idő után megint elővettem a témát és csalódással vegyes a lelkesedésem.
    A környezet kezdetleges. A debug jó, hogy van, csak éppen béna.
    De az is lehet, hogy máshonnan jövő tapasztalatok szülik a nagy elvárásokat és tökéletes a rendszer… 😀

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Az új build verziókban lévő MQL4 rengeteg változást tartalmaz. Emiatt a régi kódokat nem fogod tudni lefordítani az újabb fordítókkal.

    A rendszer messze nem tökéletes, és elég átgondolatlan. Mindemellett a régi compiler megőrzésével a régi kódok használhatóak maradnak.

    COF258
    Tag
    Bejegyzések száma: 30

    Igen. Viszont ez eleve az új fordítóra írt kód volt amit vissza alakítottam a régi fordító szája íze szerint.

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Uh, és mi vitt rá erre a cselekvésre? 🙂

    COF258
    Tag
    Bejegyzések száma: 30

    A végső elkeseredés, és mert emlékeztem, hogy több helyen is mondtad, hogy a régi fordító hasznos dolog, ha meg van.
    Amúgy nem volt nagy meló… 😀

    tomyder
    Tag
    Bejegyzések száma: 3

    Sziasztok!

    Nekem is ugyanez a hiba jött ki, szerencsére sejtettem, hol rontottam el. 🙂
    A fordítóval nincs semmi gond, hiába fogják sokan rá, egyszerűen csak nem veszik észre a saját hibájukat, és a compiler sem szúrja ki. Hm, ilyet még nem tapasztaltam…
    De nézzétek:

    //if(GlobalVariableCheck("percent_"+magic_number && in_1_row != 0) == true) rows = rows + 1;

    Ez a sor okozta a gondokat. Én sem vettem észre először, mert CTRL+c, CTRL+v-vel mentem végig a sorokon, kisebb javításokat eszközölve. Először így nézett ki:

    //if(GlobalVariableCheck("percent_"+magic_number) == true) rows = rows + 1;

    beszúrtam a feltételhez:

    && in_1_row != 0

    És végül egy összekuszált sor keletkezett:

    //if(GlobalVariableCheck("percent_"+magic_number && in_1_row != 0) == true) rows = rows + 1;

    A GlobalVariableCheck függvény paraméterein (zárójelén) belülre került véletlen az if() második feltétele, amit a compiler nem szúrt ki, és lefordította a programot.
    Viszont az MT4 már nem tudta inicializálni, mert nem értette, mi a pálya. 🙂

    Remélem, tudtam segíteni.
    Üdv. Tomi

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Tomyder, köszönöm a hozzászólást a többiek nevében is. Szívatós hiba, magam is futottam már bele hasonlóba 🙂

    A fordítóval valóban kevés gond van – legalábbis ilyen szempontból.

    Még egy javaslat: az egysoros – {} jelek nélküli – if -ek alkalmazását egyébként én mindig kerülöm; ha valaha bővítem az if-en belüli részt, akkor máris kész a baleset 🙂

12 bejegyzés megtekintése - 1-12 / 12

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben