Moving average als Preis speichern...

Einloggen oder registrieren, um einen Kommentar zu schreiben
Bayne
1009
Bayne  

Wie kann ich meinen Moving Average als Preis speichen->

brauche ein preislevel für meinen Moving average,

was zur bestimmten zeit festgelegt wird und für den rest des Tages dann gültig bleiben muss:

if (iTime(_Symbol,PERIOD,0) == CheckZeit) 
                           {
                           double AverageBeforeBreakout[]; ArrayResize(AverageBeforeBreakout,1); 
                           int AverageHandle = iMA(_Symbol,PERIOD,15,0,MODE_SMA,PRICE_MEDIAN);
                           CopyBuffer(AverageHandle,0,0,5,AverageBeforeBreakout);
                           InitAverage = AverageBeforeBreakout[0];
                           if(!ObjectCreate(0,"InitAverage"+IntegerToString(Averagecounter),OBJ_VLINE,0,TimeCurrent(),InitAverage))
                           {DebugBreak();}Averagecounter++;IndicatorRelease(AverageHandle);
                           }

Was ich rausbekomme:

9.8813129168249309E-324

Wie komme ich auf den Preis der zu InitAverage[0] auf dem chart zu sehen ist?

Carl Schreiber
Moderator
9882
Carl Schreiber  
Gib oben rechts (Suche) einfach mal ein: "EA MA", dann klickst Du auf CodeBase und dann musst Du Dich nur entlang hangeln: Handle => CopyRates .. ist ganz einfach!
amando
2889
amando  
Bayne:

Wie kann ich meinen Moving Average als Preis speichen->

brauche ein preislevel für meinen Moving average,

was zur bestimmten zeit festgelegt wird und für den rest des Tages dann gültig bleiben muss:

Was ich rausbekomme:

Wie komme ich auf den Preis der zu InitAverage[0] auf dem chart zu sehen ist?

Sorry, aber was ist das? Code kanns mal nicht sein

Christian
3190
Christian  
amando:

Sorry, aber was ist das? Code kanns mal nicht sein

Das kommt dabei raus wenn man immer nur Stückchen des Codes zeigt , aber er will das ja nicht lernen .....hmpf
Bayne
1009
Bayne  
Habe per debugger den Double InitAverage ausgeben lassen (mehr code ist da nicht):
InitAverage = AverageBeforeBreakout[0]

Das ergebnis:

9.8813129168249309E-324
Otto Pauser
2166
Otto Pauser  
Bayne:
Habe per debugger den Double InitAverage ausgeben lassen (mehr code ist da nicht):

Das ergebnis:

Der Code ist Schrott

So muß das etwa aussehen:

input datetime CheckZeit;

int    AverageHandle;
double AverageBuffer[];
double AveragePrice;

int OnInit()
  {
      AverageHandle=iMA(_Symbol,_Period,15,0,MODE_SMA,PRICE_MEDIAN);
      return(INIT_SUCCEEDED);
  }

void OnTick()
  {
      if (iTime(_Symbol,_Period,0) == CheckZeit) 
        {
         CopyBuffer(AverageHandle,0,0,1,AverageBuffer);
         AveragePrice=AverageBuffer[0];
//
//       Mach was damit
//
        }
  }
Einloggen oder registrieren, um einen Kommentar zu schreiben