Forex programozás › Fórum › Kérdések az MQL4 programozási nyelvvel kapcsolatban › Invalid EX4 file (8)
-
SzerzőBejegyzés
-
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Így látatlanban passz. Ez valami saját készítésű indikátor?
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.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!
Idáig milyen builddel próbálkoztál fordítani?
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… :DAz ú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.
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.
Uh, és mi vitt rá erre a cselekvésre? :)
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ó… :DSziasztok!
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. TomiTomyder, 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 :)
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.