Nowa wersja MT4 - Build 574 ! UWAGA !
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
Taki wskaźnik, działa ok to nie będę nawet grzebał w nim, to tak na szybko poprawiałem
"Y" gdzieś zapewne był modyfikowany bo inaczej by to nie działało
"Y" gdzieś zapewne był modyfikowany bo inaczej by to nie działało
"Najważniejsze nie jest to, co robisz, ale to, jak to robisz."
"Dokładnie wiedz czego szukasz, łatwiej będzie znaleźć."
"Pomyśl, zanim pomyślisz."
"Dokładnie wiedz czego szukasz, łatwiej będzie znaleźć."
"Pomyśl, zanim pomyślisz."
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
Po aktualizacji ShellExecuteA nie działa. Nie wiem nawet co się dzieje, nie wykonuje funkcji, zero komunikatów o błędach. Szukam o co chodzi. Jakby ktoś znał odp. to będę wdzięczny. Idzie się wk....ić na takie rzeczy !
Edit:
w sumie to dodam, że robiłem coś takiego
ShellExecuteA(0, "Open", "java", args, TerminalPath(), 0);
i działało, a po aktualizacji nic się nie dzieje. Żadnych błędów też nie ma. Nawet jak ustawię "pytaj o pozwolenie wykonania dll" to też nic nie wyskakuje.
Edit:
w sumie to dodam, że robiłem coś takiego
ShellExecuteA(0, "Open", "java", args, TerminalPath(), 0);
i działało, a po aktualizacji nic się nie dzieje. Żadnych błędów też nie ma. Nawet jak ustawię "pytaj o pozwolenie wykonania dll" to też nic nie wyskakuje.
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
Spróbuj to wywołanie przenieść do DLL i wywołać pośrednio przez DLLrayzeel pisze:Po aktualizacji ShellExecuteA nie działa. Nie wiem nawet co się dzieje, nie wykonuje funkcji, zero komunikatów o błędach. Szukam o co chodzi. Jakby ktoś znał odp. to będę wdzięczny. Idzie się wk....ić na takie rzeczy !
Edit:
w sumie to dodam, że robiłem coś takiego
ShellExecuteA(0, "Open", "java", args, TerminalPath(), 0);
i działało, a po aktualizacji nic się nie dzieje. Żadnych błędów też nie ma. Nawet jak ustawię "pytaj o pozwolenie wykonania dll" to też nic nie wyskakuje.
Wtedy możesz wywołać w DLL funkcje sprawdzające błędy i zapisać do pliku log albo wywołać messagebox i sprawdzić czy działa.
Ja miałem takie przypadki że nawet w DLL nie mogłem utworzyć socketa żeby normalnie funkcjonował i u mnie skrypt komunikuje się z DLL a DLL z oddzielną aplikacją i dopiero ta aplikacja wykonuje docelowe zadania.
Tak samo nie działa prawidłowo współdzielenie pamięci.
Są błędy mt4 i są błędy windowsa i trzeba stosować różne sztuczki i iść okrężną drogą.
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
A ja mam taki problem pobrałem platformę z Admirala mt4 demo i wklejam ea i go nie wykrywa a na plaftormie od armada jest
Ok rozwiązłem problem otwieramy w platformie Plik, Otwórz folder danych i tam wklejamy naszego EA i wtedy go wykrywa
Ok rozwiązłem problem otwieramy w platformie Plik, Otwórz folder danych i tam wklejamy naszego EA i wtedy go wykrywa
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
Dzięki za wskazówkę. Może to tego jeszcze wrócę bo na razie zrobiłem komunikację na socketach i działa elegancko na moim kompie, a na win 2008 server (VPS) się wywala. Więcej opisałem w odrębnym wątku: http://forex-nawigator.biz/forum/unreso ... ml#p653001 , jeśli miałbyś chwilę zerknąć. Może coś podpowiesz. Dzięki jeszcze raz.lolek pisze:Spróbuj to wywołanie przenieść do DLL i wywołać pośrednio przez DLLrayzeel pisze:Po aktualizacji ShellExecuteA nie działa. Nie wiem nawet co się dzieje, nie wykonuje funkcji, zero komunikatów o błędach. Szukam o co chodzi. Jakby ktoś znał odp. to będę wdzięczny. Idzie się wk....ić na takie rzeczy !
Edit:
w sumie to dodam, że robiłem coś takiego
ShellExecuteA(0, "Open", "java", args, TerminalPath(), 0);
i działało, a po aktualizacji nic się nie dzieje. Żadnych błędów też nie ma. Nawet jak ustawię "pytaj o pozwolenie wykonania dll" to też nic nie wyskakuje.
Wtedy możesz wywołać w DLL funkcje sprawdzające błędy i zapisać do pliku log albo wywołać messagebox i sprawdzić czy działa.
Ja miałem takie przypadki że nawet w DLL nie mogłem utworzyć socketa żeby normalnie funkcjonował i u mnie skrypt komunikuje się z DLL a DLL z oddzielną aplikacją i dopiero ta aplikacja wykonuje docelowe zadania.
Tak samo nie działa prawidłowo współdzielenie pamięci.
Są błędy mt4 i są błędy windowsa i trzeba stosować różne sztuczki i iść okrężną drogą.
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
czesc Tymek...Tymek pisze:Ja mam build 600 i w funkcji klasy jak najbardziej działa i się kompiluje.
sprawdź czy masz linie:
#property strict
wtedy kompiluje przy pomocy nowego kompilatora
wlasnie mi zaktualizowala MT4 do bulid600 i niestety niektore rzeczy nie dzialaja
probowalem komplikowac ale pokazuje mi takie cos:
not all control return a valuue
linia 118
kolumna 1
} // end of init()
_________________________
not all control return a valuue
linia 297
kolumna 1
}// end of start()
_________________________
not all control return a valuue
linia 317
kolumna 1
}// end of deinit()
_________________________
mozesz pomoc jak to rozwiazac..
"...wyniki z przeszlosci wcale nie daja gwarancji zyskow w przyszlosci"...
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
Daj chociaż jedną funkcję by można było zobaczyć co masz w środku.
Nowy kompilator wymaga zdefiniowania funkcji start, init i deinit zgodnie ze specyfikacja MQL.
Jeżeli masz jakieś odstępstwa to nie działa.
Nowy kompilator wymaga zdefiniowania funkcji start, init i deinit zgodnie ze specyfikacja MQL.
Jeżeli masz jakieś odstępstwa to nie działa.
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
masz tam na końcu funkcji przed końcowym } wstawione return; lub return(0); ? (najprawdopodobniej nie)
w poprzednim mt4 by to przeszło bez return, teraz z tego co się zorientowałem to jest wymagane, więc trzeba wstawić.
Sam musiałem poprawić trochę swojego niechlujnego kodu
w poprzednim mt4 by to przeszło bez return, teraz z tego co się zorientowałem to jest wymagane, więc trzeba wstawić.
Sam musiałem poprawić trochę swojego niechlujnego kodu
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
W nowej wersji fakt potrzeba zwrócić wartość ale już nawiasy nie są konieczne
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego
Re: Nowa wersja MT4 - Build 574 ! UWAGA !
Tymek pisze:Daj chociaż jedną funkcję by można było zobaczyć co masz w środku.
Nowy kompilator wymaga zdefiniowania funkcji start, init i deinit zgodnie ze specyfikacja MQL.
Jeżeli masz jakieś odstępstwa to nie działa.
// message to the experts log (shows in reverse order)
if(IsTesting() == False)
{
Print("Copyright © 2010 Robert Dee, All Rights Reserved");
Print("Free software for personal non-commercial use only. No guarantees are expressed or implied.");
Print(INDICATOR_NAME+" indicator version "+INDICATOR_VERSION+" for "+RELEASE_LEVEL+" release, compiled with MetaTrader4 Build "+MT4_BUILD);
}
} // end of init()
______________________________________________
// HIDE LINE TRANSITIONS
if(HideTransitions == True)
{
if(UpperLine[shift] != UpperLine[shift+1]) UpperLine[shift+1] = EMPTY_VALUE;
if(LowerLine[shift] != LowerLine[shift+1]) LowerLine[shift+1] = EMPTY_VALUE;
if(Target1[shift] != Target1[shift+1]) Target1[shift+1] = EMPTY_VALUE;
if(Target2[shift] != Target2[shift+1]) Target2[shift+1] = EMPTY_VALUE;
}
shift--; // move ahead one candle
}
// update the status display
StatusMessage();
}// end of start()
_________________________________________________
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
// cleanup display buffers
for(int i=0; i<Bars; i++)
{
UpperLine = EMPTY_VALUE;
LowerLine = EMPTY_VALUE;
Target1 = EMPTY_VALUE;
Target2 = EMPTY_VALUE;
BuyArrow = EMPTY_VALUE;
SellArrow = EMPTY_VALUE;
BullDot = EMPTY_VALUE;
BearDot = EMPTY_VALUE;
}
Comment("");
}// end of deinit()
_________________________________
teraz mozecie zobaczyc...
i co z tym zrobic..
"...wyniki z przeszlosci wcale nie daja gwarancji zyskow w przyszlosci"...