September 28, 200917 yr 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 Edited September 29, 200917 yr by whipsaw code <> ergänzt Report
September 28, 200917 yr Author 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 Edited September 29, 200917 yr by whipsaw code <> ergänzt Report
September 28, 200917 yr 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 Edited September 29, 200917 yr by whipsaw Zitat gekürzt Report
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
Edited by whipsaw
code <> ergänzt