einfache Coding-Frage ...
Ergebnis 1 bis 4 von 4

Thema: einfache Coding-Frage ...

  1. #1
    Hallo, Entschuldigung für die blöde Frage, aber bitte helft mir hier raus:

    Wenn Sie einen Indikator haben, der aus 1 Zeile im Diagrammfenster besteht, und Sie Standardabweichungsbänder zu dieser Linie hinzufügen möchten, wie Bollinger-Bänder. Wie machst Du das:
    Nehmen wir an, Ihr Puffer, der Ihren ursprünglichen Indikator darstellt, heißt abc
    Also zuerst deklarieren Sie diese:
    extern int BänderPeriod = 20;
    extern int BänderShift = 0;
    extern double BandsDeviations = 2.0;
    1) du änderst dich
    #property indior_buffers 1 (1 wird 3)
    2)
    SetIndexBuffer (0, abc);
    SetIndexStyle (0, DRAW_LINE);
    und hinzufügen
    SetIndexBuffer (1, UpperBuffer);
    SetIndexStyle (1, DRAW_LINE);
    SetIndexBuffer (2, LowerBuffer);
    SetIndexStyle (2, DRAW_LINE);
    SetIndexDrawBegin (0, BandsPeriod BandsShift);
    SetIndexDrawBegin (1, BandsPeriod BandsShift);
    3) Sie fügen den Rest des Bollinger-Band-Codes in die Initialisierungsschleife ein
    int start ()
    {
    int i, k, gezählte Balken = IndiorCounted ();
    doppelte Abweichung, Summe, alt, neu;

    //----
    if (Barslt; = BandsPeriod) return (0);
    //---- Anfangs
    if (gezählte_Barslt; 1)
    und so weiter....
    4) Aber wie zum Teufel ersetzen Sie den Puffer namens MovingBuffer im ursprünglichen bands.mq4 Code durch Ihren neuen Puffer von Ihrem Indikator, genannt abc?

    Was ist der beste Weg, dies zu tun?
    Sollte ich versuchen, meinen Indikatorcode in den bands.mq4 Code zu bekommen oder umgekehrt?

    Ich habe einen bekannten Code namens bands.mq4 angehängt, damit Sie sehen können, mit was ich arbeite.

    nochmal, Entschuldigung für meine Programmier-Ignoranz

    Vielleicht weiß jemand von einem ”Adding stdev bands tutorial”? Das wäre das, was ich gerade brauche. Danke

  2. #2

    Zitat Zitat von ;
    Hallo, Entschuldigung für die blöde Frage, aber bitte helfen Sie mir hier: Wenn Sie einen Indikator haben, der aus 1 Zeile im Diagrammfenster besteht, und Sie Standardabweichungsbänder zu dieser Linie hinzufügen möchten, wie Bollinger Bands. Wie machen Sie das? Nehmen wir an, Ihr Puffer, der Ihren ursprünglichen Indikator plottet, heißt abc, also deklarieren Sie zuerst diese: extern int BandsPeriod = 20; extern int BänderShift = 0; extern double BandsDeviations = 2.0; 1) Sie ändern #property indior_buffers 1 (1 wird 3) 2) SetIndexBuffer (0, abc); SetIndexStyle (0, DRAW_LINE); und füge SetIndexBuffer (1, UpperBuffer) hinzu; SetIndexStyle (1, DRAW_LINE); SetIndexBuffer (2, LowerBuffer); SetIndexStyle (2, DRAW_LINE); SetIndexDrawBegin (0, BandsPeriod BandsShift); SetIndexDrawBegin (1, BandsPeriod BandsShift); 3)...
    benutze die iBandsOnArray-Sache: iBandsOnArray (array [], total, period, abweichung, bands_shift, mode, shift) array ist offensichtlich dein originaler Indikator, setze Bars in den Gesamtteil, Periode und Abweichungen sind offensichtlich, shift wird wahrscheinlich Null sein , Modus ist, wo Sie MODE_UPPER oder MODE_LOWER je nach Band wählen, und die Verschiebung ist entweder i oder 0, Ihre Wahl. mach einfach zwei davon, eine für die obere, eine für die untere. update: Hier ein Beispiel für den Code: #property indior_separate_window #property indior_buffers 3 #property indior_color1 Rot #property indior_color2 Weiß #property indior_color3 Weiß/---- inputs extern int Stoch_Period = 5; extern int Bands_Period = 20; extern int Abweichungen = 2;/---- Puffer doppelt StochBuffer []; doppelter UpperBuffer []; double LowerBuffer []; int init () {//---------- SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, StochBuffer);/---------- SetIndexStyle (1, DRAW_LINE); SetIndexBuffer (1, UpperBuffer);/---------- SetIndexStyle (2, DRAW_LINE); SetIndexBuffer (2, LowerBuffer); IndiorShortName (Beispiel Stoch-Bands ( Stoch_Period , Bands_Period , Deviations ));/---------- Rückgabe (0); } int start () {int limit; int gezählte Balken = IndiorCounted ();/---- if (counted_barsgt; 0) counted_bars--; limit = Bars-counted_bars;/---- für (int i = 0; ilt; limit; i ) StochBuffer [i] = iStochastisch (NULL, 0, Stoch_Period, 3,3, MODE_SMA, PRICE_CLOSE, 0, i);/---- für (i = 0; ilt; limit; i ) UpperBuffer [i] = iBandsOnArray (StochBuffer, Bars, Bands_Period, Abweichungen, 0, MODE_UPPER, i);/---- für (i = 0; ilt; limit; i ) LowerBuffer [i] = iBandsOnArray (StochBuffer, Bars, Bands_Period, Abweichungen, 0, MODE_LOWER, i);/---- zurückgeben (0); }/ ---------------------------------------------- --------------------

  3. #3
    Danke Leute, ich werde mich daran machen.

  4. #4

    Zitat Zitat von ;
    benutze die iBandsOnArray-Sache: iBandsOnArray (array [], total, period, abweichung, bands_shift, mode, shift) array ist offensichtlich dein originaler Indikator, setze Bars in den Gesamtteil, Periode und Abweichungen sind offensichtlich, shift wird wahrscheinlich Null sein , Modus ist, wo Sie MODE_UPPER oder MODE_LOWER je nach Band wählen, und die Verschiebung ist entweder i oder 0, Ihre Wahl. mach einfach zwei davon, eine für die obere, eine für die untere.
    das ist der gute Weg, B, aber das einzige - butbandsonarray - int iBandsOnArray (double array [], int total, int Periode, int Abweichung, also wenn du double - oder stDev oder iCustom - Bands brauchst - wie HA wird es Standard und es ist doppelt

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Die tradingintuitive Webseite verwendet Cookies
Wir nutzen Cookies, um Ihnen das Webseitenerlebnis bestmöglich anbieten zu können. Durch weitere Nutzung der Webseite erlauben Sie die Nutzung von Cookies. Für weitere Details und wie Sie ggf. diese Einstellungen verändern können, lesen Sie bitte unsere Datenschutzbestimmung. Lesen Sie mehr