Witam, czy znalazłby się ktoś uprzejmy i zmienił moment wyświetlania alarmu w wskazniku MightyZones?
W tej chwili wskaznik alarmuje gdy cena wchodzi w strefy zaznaczne na wykresie a ja bym chciał żeby informował w momencie kiedy wychodzi z strefy.
Z góry bardzo dziękuje.
Zmiana Alarmu
Zmiana Alarmu
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Re: Zmiana Alarmu
udało mi się samemu coś wyskubać dodałem warunek sprawdzający czy świeca jest wzrostowa czy spadkowa:
if ((Time[0] > latestWicking) && (old > 0)) for(int j = 0; j < MaxLines; j++) {
if ((S[j] > 0) && (Close[0] > S[j]) && (old <= S[j])) {
if(Close[0]<Open[0]){
DisplayAlert("Sprzedarz "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
//else{
// DisplayAlert("Look for a "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
//}
latestWicking = Time[0];
break;
}
if ((L[j] > 0) && (Close[0] < L[j]) && (old >= L[j])) {
if(Close[0]>Open[0]){
DisplayAlert("Kupno "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
//else{
// DisplayAlert("Look for a "+Symbol()+" LONG on "+PeriodNice+" (MightyZone)");
//}
latestWicking = Time[0];
break;
}
}
if ((Time[0] > latestWicking) && (old > 0)) for(int j = 0; j < MaxLines; j++) {
if ((S[j] > 0) && (Close[0] > S[j]) && (old <= S[j])) {
if(Close[0]<Open[0]){
DisplayAlert("Sprzedarz "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
//else{
// DisplayAlert("Look for a "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
//}
latestWicking = Time[0];
break;
}
if ((L[j] > 0) && (Close[0] < L[j]) && (old >= L[j])) {
if(Close[0]>Open[0]){
DisplayAlert("Kupno "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
//else{
// DisplayAlert("Look for a "+Symbol()+" LONG on "+PeriodNice+" (MightyZone)");
//}
latestWicking = Time[0];
break;
}
}
Re: Zmiana Alarmu
Ale to chyba nie do końca dobrze działa? 

Re: Zmiana Alarmu
a możesz powiedzieć dlaczego bo mi sie zdaje że działa 

Re: Zmiana Alarmu
Nie analizowałem zbyt głęboko kodu wskaźnika z braku czasu.
Ale tak na oko:
S[j] to poziom dla shorta. Alarm oryginalnie pojawia się, gdy Close[0], czyli inaczej mówiąc Bid wejdzie w tę strefę od dołu.
Twoja modyfikacja powoduje tylko tyle, że alarm pojawi się wtedy, gdy świeca otworzyła się powyżej strefy, potem cena spadła poniżej a następnie wznów wzrosła i weszła do strefy.
Po pierwsze więc: jeśli cena nie wróci, tylko będzie po wyjściu ze strefy szybko spadać - alarm się nie pojawi.
Po drugie: jeśli świeca otworzy się poniżej strefy, potem cena wejdzie do niej i na tej samej świecy wróci - alarm się nie pojawi.
Dla longów analogicznie.
Reasumując: nie wszystkie przypadki są uwzględnione, dlatego napisałem że na pierwszy rzut oka nie do końca to dobrze działa.
Ale tak na oko:
S[j] to poziom dla shorta. Alarm oryginalnie pojawia się, gdy Close[0], czyli inaczej mówiąc Bid wejdzie w tę strefę od dołu.
Twoja modyfikacja powoduje tylko tyle, że alarm pojawi się wtedy, gdy świeca otworzyła się powyżej strefy, potem cena spadła poniżej a następnie wznów wzrosła i weszła do strefy.
Po pierwsze więc: jeśli cena nie wróci, tylko będzie po wyjściu ze strefy szybko spadać - alarm się nie pojawi.
Po drugie: jeśli świeca otworzy się poniżej strefy, potem cena wejdzie do niej i na tej samej świecy wróci - alarm się nie pojawi.
Dla longów analogicznie.
Reasumując: nie wszystkie przypadki są uwzględnione, dlatego napisałem że na pierwszy rzut oka nie do końca to dobrze działa.
Re: Zmiana Alarmu
Dziękuje za poprawienie faktycznie tak jest, a gdybym tak zrobił:
if ((Time[0] > latestWicking) && (old > 0)) for(int j = 0; j < MaxLines; j++) {
if ((S[j] > 0) && (Open[0] > S[j]) && (old <= S[j])) {
DisplayAlert("Sprzedarz "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
latestWicking = Time[0];
break;
}
if ((L[j] > 0) && (Open[0]< L[j]) && (old >= L[j])) {
DisplayAlert("Kupno "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
latestWicking = Time[0];
break;
}
}
if ((Time[0] > latestWicking) && (old > 0)) for(int j = 0; j < MaxLines; j++) {
if ((S[j] > 0) && (Open[0] > S[j]) && (old <= S[j])) {
DisplayAlert("Sprzedarz "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
latestWicking = Time[0];
break;
}
if ((L[j] > 0) && (Open[0]< L[j]) && (old >= L[j])) {
DisplayAlert("Kupno "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
}
latestWicking = Time[0];
break;
}
}
Re: Zmiana Alarmu
Też będzie źle.
Wydaje mi się, że powinno działać po takiej zamianie zamianie znaków w nierównościach. Ale nie mam czasu sprawdzać - przetestuj sam. Napisz czy dobrze działa.
Wydaje mi się, że powinno działać po takiej zamianie zamianie znaków w nierównościach. Ale nie mam czasu sprawdzać - przetestuj sam. Napisz czy dobrze działa.
Kod: Zaznacz cały
if ((S[j] > 0) && (Close[0] < S[j]) && (old >= S[j])) {
DisplayAlert("Look for a "+Symbol()+" SHORT on "+PeriodNice+" (MightyZone)");
latestWicking = Time[0];
break;
}
if ((L[j] > 0) && (Close[0] > L[j]) && (old <= L[j])) {
DisplayAlert("Look for a "+Symbol()+" LONG on "+PeriodNice+" (MightyZone)");
latestWicking = Time[0];
break;
}
Re: Zmiana Alarmu
Masz rację teraz działa jak w założeniu ale zastanawia mnie teraz czy nie lepiej dodać jeszcze warunek czy to jest świeca spadkowa dla shorta i wzrostowa dla longa, bo w praktyce jest tak że i tak cena się giba na tych poziomach i nie wiadomo co z tym zrobić, a gdyby alarm uruchamiał się dla shorta gdy jest spadkowa i wzrostowa dla longa to moim zdaniem jest pewniejszy sygnał więc dodam jeszcze warunek z mojego drugiego postu i będzie git. Bardzo dziękuje z6yszko za pomoc. Bardzo chętnie dał bym pochwale ale niestety nie wiem jak.
Re: Zmiana Alarmu
Podobno trzeba nacisnąć trójkącik z wykrzyknikiem i napisać do administratorów co i jak