Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43250
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 241
Gesamt: 241
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.09.19
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
Max2018 befindet sich auf einem aufstrebenden Ast
Standard Pfeile keine Objekte

Hallo,

dieser "Markt" Indikator
https://www.mql5.com/de/market/product/33075#

zeichnet Signale in Form von Pfeilen in den Chart.
ABER diese Pfeile sind keine Objekte! (siehe Foto)

FRAGE 1: Was ist das und wie kann man solche Pfeile als Signal auslesen?
FRAGE 2: Kann man den Code von so einem Indikator der von der Marktplattform "MetaTrader" bereit gestellt wird irgendwie als mql4 auslesen?

  #2 (permalink)  
Alt 04.09.19
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Max2018 Beitrag anzeigen
...
zeichnet Signale in Form von Pfeilen in den Chart.
ABER diese Pfeile sind keine Objekte! (siehe Foto)
FRAGE 1: Was ist das und wie kann man solche Pfeile als Signal auslesen?
Mach' mal das (Ansicht ->) Datenfenster auf. Da siehst Du die Buffer für die einzelnen Dinger.
Zitat:
Zitat von Max2018 Beitrag anzeigen
FRAGE 2: Kann man den Code von so einem Indikator der von der Marktplattform "MetaTrader" bereit gestellt wird irgendwie als mql4 auslesen?
So was nennt man Dekompilieren und "Das tut man nicht!" und zwar deshalb, weil Programmierer oft viel Arbeit in etwas stecken; wenn Sie OpenSource Fans sind, wird der Code unter einer Lizenz veröffentlicht, wenn nicht, dann sollte man das respektieren. AVT
  #3 (permalink)  
Alt 04.09.19
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

zu 1.) Danke. Im Datenfenster habe ich das Signal gefunden.
zu 2.) Stimmt, das sehe ich auch so..... Mir ging es nur um die Frage, wie ein Objekt erzeugt werden kann, was man dann aber nicht in der Objektliste sehen kann......
  #4 (permalink)  
Alt 04.09.19
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Max2018 Beitrag anzeigen
Mir ging es nur um die Frage, wie ein Objekt erzeugt werden kann, was man dann aber nicht in der Objektliste sehen kann......
über Buffer so (haste lauter Bomben im Chart):
Code:
//=============================================================================
#property copyright   "© BigSister"
#property description "object demo"
#property strict

#property indicator_chart_window

#property indicator_buffers 3
#property indicator_color1 clrGold       // object
#property indicator_width1 2 
#property indicator_color2 clrLimeGreen  // faster line
#property indicator_color3 clrMagenta    // slower line

//=============================================================================
extern int    EMA1peri     = 10;    // Ema1 Period
extern int    EMA2peri     = 20;    // Ema2 Period
extern int    WinDiNo      = 77;    // Wingdings Symbol number
extern bool   ShowLines    = false; // Show lines

//=============================================================================
// --- buffers 
double Ema1Buff[];
double Ema2Buff[];
double ObjectBuff[];

//=============================================================================
int OnInit(void)
{
   IndicatorDigits(Digits);
   IndicatorShortName("DemoOBJ");
   
   IndicatorBuffers(3);
   
   SetIndexBuffer(0,ObjectBuff);                     // signal object
   SetIndexLabel(0,"Object");
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,WinDiNo);
   
   SetIndexBuffer(1,Ema1Buff);                       // faster line
   SetIndexLabel(1,"Ema1");
   if(ShowLines==true) SetIndexStyle(1,DRAW_LINE);
   else                SetIndexStyle(1,DRAW_NONE);
   
   SetIndexBuffer(2,Ema2Buff);                       // slower line
   SetIndexLabel(2,"Ema2");
   if(ShowLines==true) SetIndexStyle(2,DRAW_LINE);
   else                SetIndexStyle(2,DRAW_NONE);
   
   return(INIT_SUCCEEDED);
}

//=============================================================================
void OnDeinit(const int reason)
{
   // == print code why we were deinitialized
   Print(__FUNCTION__," DeInit reason code = ",reason);
}

//=============================================================================
int OnCalculate (const int rates_total,
                 const int prev_calculated,
                 const datetime& time[],
                 const double& open[],
                 const double& high[],
                 const double& low[],
                 const double& close[],
                 const long& tick_volume[],
                 const long& volume[],
                 const int& spread[])
{
   
   int limit=rates_total-prev_calculated;
   if(prev_calculated>0) limit++;
   limit=Bars-MathMax(EMA1peri,EMA2peri);
   
   for(int i=limit; i>0; i--) 
   {
      Ema1Buff[i]=iMA(NULL,0,EMA1peri,0,MODE_EMA,PRICE_CLOSE,i);
      Ema2Buff[i]=iMA(NULL,0,EMA2peri,0,MODE_EMA,PRICE_CLOSE,i);
    
      if     (   Ema1Buff[i+1]>=Ema2Buff[i+2]  //previous 1above2 now 1below2
              && Ema1Buff[i]<=Ema2Buff[i+1] )  ObjectBuff[i]=Ema1Buff[i+1];
      else if(   Ema1Buff[i+1]<=Ema2Buff[i+2]  // previous 1below2 now 1above2
              && Ema1Buff[i]>=Ema2Buff[i+1])   ObjectBuff[i]=Ema1Buff[i+1];
      else                                     ObjectBuff[i]=EMPTY_VALUE;
  }
   
   //== return the value of prev_calculated for next call
   return(rates_total);
}
//=============================================================================
  #5 (permalink)  
Alt 04.09.19
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

Aaah ok - Danke
Thema geschlossen

Lesezeichen

Stichworte
pfeile keine objekte

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 11:46 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------