Hallo an alle,
ich beschäftige mich erst seit kurzem mit der Programmierung in EasyLanguage und daher weiß auch noch nicht so richtig was funktioniert und was nicht. Mein folgendes Signal soll ab einer bestimmten Barnummer in vorher festgelegten Abständen zur nächsten Barnummer springen und dort testen ob die Bedingung erfüllt ist oder nicht, dann zur nächsten barnummer und wieder testen usw. hier ein kleines Beispiel
Start Barnummer = 2; Abstand = 5
nächste Barnummer 7 und dann bei barnummer 12 schauen ob beding. stimmt, dann 17 usw.
Hier das Programm dazu:
Input: ZyklusBegin(2), ZyklusLaenge(5);
Var: Start(0), Abstand(0), PatC(0), Pat(false);
Start = 0;
Abstand= 0;
PatC = 0;
Pat = (Low[2] > Low[1] and Low[1] < Low);
if CurrentBar = ZyklusBegin then
Start = CurrentBar;
if (CurrentBar > Start) and (CurrentBar = ZyklusBegin + ZyklusLaenge) then
Abstand = Currentbar - Start;
if Abstand > 0 then
while lastbaronchart = false
begin
Start = Start + Abstand;
Print(File("C:...."), CurrentDate);
if Pat then
PlotPaintBar(Low,"Pat",green);
PatC = PatC + 1;
end
else
Abstand = 0;
if lastbaronchart then
Begin
Print(File("C:..."), numtostr(PatC,0));
End;
Erst kam eine Fehlermeldung das meine MaxBarsBack nicht stimmen, das habe ich geändert und jetzt kommt entweder die Fehlermeldung, dass ich durch Null dividieren würde und das (natürlich) nicht geht oder er bricht einfach ab.
Kann mir bitte jemand helfen und sagen warum das nicht geht, ich sitze jetzt schon geschlagene 7 Tagen an dem Problem und hau mir die Nächte um die Ohren, weil es einfach nicht geht. Schon mal im Voraus vielen vielen Dank.
|