Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL5 Hier gehts rund ums Programmieren in MQL5.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43260
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 6 Stunden
- Sundaytrad...
vor 12 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 11.05.20
Neues Mitglied
 
Registriert seit: May 2020
Ort: Duisburg
Beiträge: 28
Aleksi befindet sich auf einem aufstrebenden Ast
Standard Trigger im Chart

Hallo ich bin dabei mir ein kleinen Teil für mein neues Projekt zu schreiben.
Es handelt sich um ein ExpertAdvisor mit einer "Triggerlinie" im Chart was abhängig von gesetzten StopLoss einer Order ist. den Teil was nach erreichen der Linie passiert werde ich dann später fertig schreiben.

Nun sehe ich den Wald vor lauter Bäumen nicht, der Fehler den ich nicht finde
drückt sich im Tester mit absolut keiner Regung aus, was das anlegen der von den einzeichnen der Linie angeht . Da brauche ich eure Hilfe

Code:
// Codeschnipsel Trigger

#include <Trade\Trade.mqh>
CTrade trade;
double TriggerLine1=0;
input int SL=200;
input int TP=400;
input int Trigger=100;


//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//Ask&Bid-Preis ermitteln
   double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID), _Digits);
   double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK), _Digits);

//Werte für TP&SL BuyOrder

   if(PositionsTotal()==0)
     {
      //Kaufen-Order oeffnen
      trade.Buy(0.01,NULL,Ask,Ask-SL* _Point,Ask+TP* _Point);
     }

//Daten Ermitteln für Order
   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      //Ermitteln von Ticketnummer
      ulong PositionTicket= PositionGetInteger(POSITION_TICKET);

      //Ermitteln von Kaufpreis
      double PositionBuyPrice= PositionGetDouble(POSITION_PRICE_OPEN);

      //Ermitteln von StopLoss
      double PositionStopLoss= PositionGetDouble(POSITION_SL);

      //Ermitteln von TakeProfit
      double PositionTakeProfit= PositionGetDouble(POSITION_TP);

      //Ermitteln vo Typ der Position
      double PositionTyp= PositionGetInteger(POSITION_TYPE);

      //Ermitteln von Symbol
      string symbol=PositionGetSymbol(i);

      //Wenn Symbol passt
      if(_Symbol==symbol)

         //Wenn Kaufen ist
         if(PositionTyp==POSITION_TYPE)

            //Wenn StopLoss unter Kaufpreis liegt
            if(PositionStopLoss<PositionBuyPrice)

               //Wenn der Askpreisueber xPunkte ueber Kaufpreis liegt
               if(Ask > (PositionBuyPrice+Trigger*_Point))
                 {
                  //Setze Trigger
                   TriggerLine1=PositionBuyPrice+Trigger*_Point;                

                  //Untere Linie:
                  //Objekeigenschaften für Linie einstellen
                  ObjectCreate(_Symbol,"Line2",OBJ_HLINE,0,0,TriggerLine1);

                  //Linienfarbe einstellen
                  ObjectSetInteger(0,"Line2",OBJPROP_COLOR,clrViolet);

                  //Linienbreite
                  ObjectSetInteger(0,"Line2",OBJPROP_WIDTH,1);

                  //Linie bewegen
                  ObjectMove(_Symbol,"Line2",0,0,TriggerLine1);

                 }
     }
  }
//+------------------------------------------------------------------+

Geändert von Aleksi (11.05.20 um 17:52 Uhr)
  #2 (permalink)  
Alt 11.05.20
Neues Mitglied
 
Registriert seit: May 2020
Ort: Duisburg
Beiträge: 28
Aleksi befindet sich auf einem aufstrebenden Ast
Standard

Der Code wurde Geändert in
Code:
#include <Trade\Trade.mqh>
CTrade trade;
double TriggerLine1=0;
input int SL=200;
input int TP=400;
input int Trigger=100;

//Objekeigenschaften für Linie einstellen
//Objekeigenschaften für Linie einstellen
bool ObjectCreate(
   const long chart_ID=0,        // ID des Charts
   const string          name="Line2",      // Linienname
   const int             sub_window=0,      // Nummer des Unterfensters
   double                price=0,           // Linienpreis
   const color           clr=clrBlue,        // Linienfarbe
   const ENUM_LINE_STYLE style=STYLE_SOLID, // Linienstil
   const int             width=1,           // Linienbreite
   const bool            back=false,        // Im Hintergrund
);
//Linie bewegen
bool ObjectMove(
   const long chart_ID=0,        // ID des Charts
   const string          name="Line2",      // Linienname
   const int             sub_window=0,      // Nummer des Unterfensters
   double                price=0,           // Linienpreis
   const color           clr=clrBlue,        // Linienfarbe
   const ENUM_LINE_STYLE style=STYLE_SOLID, // Linienstil
   const int             width=1,           // Linienbreite
   const bool            back=false,        // Im Hintergrund
);
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//Ask&Bid-Preis ermitteln
   double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID), _Digits);
   double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK), _Digits);

//Werte für TP&SL BuyOrder

   if(PositionsTotal()==0)
     {
      //Kaufen-Order oeffnen
      trade.Buy(0.01,NULL,Ask,Ask-SL* _Point,Ask+TP* _Point);
     }

//Daten Ermitteln für Order
   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      //Ermitteln von Ticketnummer
      ulong PositionTicket= PositionGetInteger(POSITION_TICKET);

      //Ermitteln von Kaufpreis
      double PositionBuyPrice= PositionGetDouble(POSITION_PRICE_OPEN);

      //Ermitteln von StopLoss
      double PositionStopLoss= PositionGetDouble(POSITION_SL);

      //Ermitteln von TakeProfit
      double PositionTakeProfit= PositionGetDouble(POSITION_TP);

      //Ermitteln vo Typ der Position
      double PositionTyp= PositionGetInteger(POSITION_TYPE);

      //Ermitteln von Symbol
      string symbol=PositionGetSymbol(i);

      //Wenn Symbol passt
      if(_Symbol==symbol)

         //Wenn Kaufen ist
         if(PositionTyp==POSITION_TYPE)

            //Wenn StopLoss unter Kaufpreis liegt
            if(PositionStopLoss<PositionBuyPrice)

               //Wenn der Askpreisueber xPunkte ueber Kaufpreis liegt
               if(Ask > (PositionBuyPrice+Trigger*_Point))
                 {
                  //Setze Trigger
                  double TriggerLine=PositionBuyPrice+Trigger*_Point;
                  //long TriggerLine1=DoubleToString
                  //Linienfarbe einstellen
                  ObjectSetInteger(0,"Line2",OBJPROP_COLOR,clrViolet);

                  //Linienbreite
                  ObjectSetInteger(0,"Line2",OBJPROP_WIDTH,1);

                 }
     }
  }
//+------------------------------------------------------------------+
Fehler:
syntax error: type expected SnippetJumper.mq5 26 1
Thema geschlossen

Lesezeichen


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 +2. Es ist jetzt 00:36 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.
-----------------------------------------------------------------------------------------------------------------------------