Geschrieben 28. September 200916 Jr. comment_87614 Hallo zusammen,ich habe jetzt noch mal eine Frage zur Loop-Programmierung und habe im Users Guide und im Forum leider keine Antwort gefunden. Wie programmiere ich bei Bedingungen in Schleifen einen von AmiBroker hart programmierten Indikator?Ich meine folgendes Beispiel: for( i = 1; i < BarCount; i++ ) { If ADX(14) > 30 // das ist falsch, da ADX(14) ein Array und kein Feldargument ist! { buy[i] = 1 } .... Wie bekomme ich aus einem hart programmierten ADX(14) Array ein Feldelement für eine Abfrage in einer Schleife?Muss ich immer den Index neu ausführlich programmieren und die Feldelemente dann einzeln zuweisen? Wäre für einen Tipp von den AmiBroker Erfahrenen sehr dankbar Viele GrüßeMathias Bearbeitet 29. September 200916 Jr. von whipsaw code <> ergänzt Melden
Geschrieben 28. September 200916 Jr. Autor comment_87615 Hallo zusammen,habe gerade selbst einen vielleicht nicht so eleganten Trick gefunden, der funktioniert.Ich definiere mir eine Hilfsvariable vor der Schleife und benutze IIF: ADXgr30ARRAY= IIf(ADX(14)>30,1,0); for( i = 1; i < BarCount; i++ ) { if (ADXgr30ARRAY[i] ) // nun richtige Adressierung und Werte true und false { buy[i] = 1 }.... Viele GrüßeMathias Bearbeitet 29. September 200916 Jr. von whipsaw code <> ergänzt Melden
Geschrieben 28. September 200916 Jr. comment_87621 Ich definiere mir eine Hilfsvariable vor der Schleife und benutze IIF: Das ist schon der richtige Weg es so zu machen, die Funktionen erwarten alle ein Array. Sie händeln auch noch das Verschieben bei neuen Bars innerhalb des Arrays. Das For Looping wurde eher eingeführt um komplexe Sachen zu machen. Man kann das aber alles Mixen. Hier was aus der AB Yahoo Group dazu. Looping_in_AmiBroker_AFL.pdf Gruß nn Bearbeitet 29. September 200916 Jr. von whipsaw Zitat gekürzt Melden
Hallo zusammen,
ich habe jetzt noch mal eine Frage zur Loop-Programmierung und habe im Users Guide und im Forum leider keine Antwort gefunden.
Wie programmiere ich bei Bedingungen in Schleifen einen von AmiBroker hart programmierten Indikator?
Ich meine folgendes Beispiel:
for( i = 1; i < BarCount; i++ ) { If ADX(14) > 30 // das ist falsch, da ADX(14) ein Array und kein Feldargument ist! { buy[i] = 1 }....
Wie bekomme ich aus einem hart programmierten ADX(14) Array ein Feldelement für eine Abfrage in einer Schleife?
Muss ich immer den Index neu ausführlich programmieren und die Feldelemente dann einzeln zuweisen?
Wäre für einen Tipp von den AmiBroker Erfahrenen sehr dankbar
Viele Grüße
Mathias
Bearbeitet von whipsaw
code <> ergänzt