PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erster Versuch



Isabeahpop
15:20,
Ich habe Programmiererfahrung mit anderen Plattformen, aber dies ist mein erster Versuch mit Metatrader und einer C basierten Sprache und ich brauche etwas Hilfe. Ich wollte mit einem einfachen Indikator beginnen, um das höchste Hoch und das niedrigste Tief mit unterschiedlichen Zeitrahmen auf einem Chart zu zeichnen. Der Code wird kompiliert, aber bei einem Hinzufügen zu einem Diagramm wird nichts geplottet:

Code #property eingefügt copyright Internets #eigenschaft link #eigenschaft indikator_chart_fenster #eigenschaft indikator_buffer 4/---- Eingabeparameter extern int timeframe1 = 15; extern int timeframe2 = 240;/--- Anzeige Puffer doppelt ExtMapBuffer1 # 91; # 93 ;; doppelter ExtMapBuffer2 # 91; # 93 ;; doppelter ExtMapBuffer3 # 91; # 93 ;; doppelter ExtMapBuffer4 # 91; # 93 ;;/ ----------------------------------------------- ------------------- /| Benutzerdefinierte Indikatorinitialisierungsfunktion |/ ----------------------------------------------- ------------------- int init () {//---- Indikator Puffers Mapping SetIndexBuffer (0, ExtMapBuffer1); SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (1, ExtMapBuffer2); SetIndexStyle (1, DRAW_LINE); SetIndexBuffer (2, ExtMapBuffer3); SetIndexStyle (2, DRAW_LINE); SetIndexBuffer (3, ExtMapBuffer4); SetIndexStyle (3, DRAW_LINE);* ---- Create Rectangle-Indikatoren ObjectCreate (sObjName, OBJ_RECTANGLE, 0, 0, 0, 0, 0); ObjectSet (sObjName, OBJPROP_STYLE, STYLE_SOLID); ObjectSet (sObjName, OBJPROP_COLOR, cObjColor); ObjectSet (sObjName, OBJPROP_BACK, bProp_Back); *zurück (0); }/ ---------------------------------------------- -------------------- /| Benutzerdefinierte Indikator Deinitialisierungsfunktion |/ ----------------------------------------------- ------------------- int deinit () {//----/---- zurück (0); }/ ---------------------------------------------- -------------------- /| Benutzerdefinierte Indikatoriterationsfunktion |/ ----------------------------------------------- ------------------- int start () {int gezählte_leisten = IndiorCounted (); int Grenze; int pos = 0; DoppelhochT1; Doppeltief T1; DoppelhochT2; doppelt niedrigT2;/---- Skript zum Zählen der Balken im Diagramm if (counted_barslt; 0) return (-1); if (counted_barsgt; 0) counted_bars--; limit = Bars-counted_bars;/---- Hauptcode für (int i = 0; ilt; = timeframe1; i ) {if (Hoch # 91; i # 93; gt; hochT1) highT1 = Hoch # 91; i # 93 ;; if (Niedrig # 91; i # 93; lt; niedrigT1) niedrigT1 = Niedrig # 91; i # 93 ;; } für (int j = 1; jlt; = zeitlicher Rahmen2; j ) {if (Hoch # 91; j # 93; gt; hochT2) highT2 = Hoch # 91; j # 93 ;; if (Niedrig # 91; j # 93; lt; niedrigT2) niedrigT2 = Niedrig # 91; j # 93 ;; } für (pos = Balken; pos gt; = 0; pos--) {ExtMapBuffer1 # 91; pos # 93; = hoch T1; ExtMapBuffer2 # 91; pos # 93; = tief T1; ExtMapBuffer3 # 91; pos # 93; = hoch T2; ExtMapBuffer4 # 91; pos # 93; = niedrigT2; } zurückgeben (0); }/ ---------------------------------------------- --------------------