Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Linienbeschriftung

Geschrieben

Hallo,

ich benutze gerne diesen Pivot Indikator, da er auch die "halben" Pivots anzeigt: Daily Pivot Points - MT4 Indikatoren [ MQ4 & EX4 ] - FOREX-INDIKATOREN.com

Ich finde den Indikator jedoch leider unübersichtlich auf dem Chart. Die Pivot Linien sind nicht beschriftet und man kann nur alle Support bzw. Resistance Linien alle auf einmal farblich und von der Linienart ändern.

Könnte jemand diesen Indikator so umprogrammieren oder erklären wie man es macht, dass zumindest die einzelnen Pivot Linien auf dem Chart beschriftet werden (also Support 0.5, Support 1, Support 1.5 etc.)?

Optimal wäre es, wenn auch die einzelnen Linien farblich und von der Linienart und Dicke geändert werden könnten. Wäre das auch möglich?

Danke im Voraus,

Viele Grüße.

Featured Replies

Geschrieben

Hallo , ich habe (im Moment) die Coderei völlig zur Seite gestellt und kümmere mich um Traden . Bitte um Verständnis, dass ich daher

 

erklären wie man es macht

 

und ich hoffe, dass Du coden kannst ? Sonst ist mein Post für Dich keine Hilfe .

 

Jedenfalls ...

 

nehme am besten das Beispiel des Fibbo im MT4 . In dem fertig programmierten Indikator gibt es die Möglichkeit die Linien zu beschriften . Dazu habe ich Dir diesen Screenshot beigefügt :

 

Rotu.png

 

Du kannst also sowohl Text als auch Preislevel anzeigen lassen ( 23,6 = %$ ) . Nun gilt für den Metatrader , dass alles was sich manuell im Terminal einstellen läßt ( also wie im Screenshot) , sich auch immer coden läßt . => "Es geht also" .

 

Wie ? Hier tippe ich auf Objekte . Und ich würde es nun so machen, dass ich Beispiel-Code im WWW scannen würde . Du benötigst ja nur solchen Code, der Dir "egal welche" Informationen in das Chart schreibt . Oft habe ich Beispiel-Charts zusammen mit Code gesehen . Es gibt jede Menge Freeware in den MT4 Foren .

 

Hoffe etwas weiter geholfen zu haben .

KB

Geschrieben

...

 

Optimal wäre es, wenn auch die einzelnen Linien farblich und von der Linienart und Dicke geändert werden könnten. Wäre das auch möglich?

...

 

Für jede Linie gibt es diese 4 Zeilen im Code:

   ObjectCreate(MPrefix + "Pivot_Line", OBJ_HLINE, 0, 0, P);
   ObjectSet(MPrefix + "Pivot_Line", OBJPROP_COLOR, Yellow);
   ObjectSet(MPrefix + "Pivot_Line", OBJPROP_STYLE, STYLE_SOLID);
   ObjectSetText(MPrefix + "Pivot_Line","Pivot "+DoubleToStr(P,Digits));

In der 2. Zeile kannst du die Farbe einstellen, in der Dritten die Linienart und in der Vierten die Beschriftung.

Wenn du noch die Breite ändern willst, dann fügst du eine zusätzliche "ObjectSet"-Zeile mit der Property "OBJPROP_WIDTH" ein und gibts einen Wert von 1-15 an.

 

Sollte also alles recht einfach zu ändern sein.

Geschrieben
  • Autor

Danke für die schnellen Antworten!

 

 

Für jede Linie gibt es diese 4 Zeilen im Code:

   ObjectCreate(MPrefix + "Pivot_Line", OBJ_HLINE, 0, 0, P);
   ObjectSet(MPrefix + "Pivot_Line", OBJPROP_COLOR, Yellow);
   ObjectSet(MPrefix + "Pivot_Line", OBJPROP_STYLE, STYLE_SOLID);
   ObjectSetText(MPrefix + "Pivot_Line","Pivot "+DoubleToStr(P,Digits));

In der 2. Zeile kannst du die Farbe einstellen, in der Dritten die Linienart und in der Vierten die Beschriftung.

Wenn du noch die Breite ändern willst, dann fügst du eine zusätzliche "ObjectSet"-Zeile mit der Property "OBJPROP_WIDTH" ein und gibts einen Wert von 1-15 an.

 

Sollte also alles recht einfach zu ändern sein.

Habe es deiner Beschreibung nach ausprobiert WOGO und es hat alles einwandfrei funktioniert wie ich es haben wollte. Vielen Dank!

Geschrieben
  • Autor

Ich hätte noch eine Frage zum Umschreiben. Es geht um dieses Skript hier: http://www.pointzero-trading.com/FreeMetatraderDownloads/view/19

 

Es schließt einen Trade zur Hälfte. Funktioniert soweit auch alles wie es soll. Das einzige was mich stört ist, dass bevor das Skript ausgeführt wird ein Bestätigungsfenster auftaucht, in dem man immer nochmal auf "Yes" klicken muss. Kann mir jemand sagen, wie ich das Skript umschreiben bzw. was ich aus dem Skript löschen muss, damit dieses Fenster nicht mehr auftaucht und das Skript direkt ohne Bestätigung ausgeführt wird?

 

Danke : )

Geschrieben
  • Autor

Das ist der Code:



   //+------------------------------------------------------------------+
//| PZ_PartialClosing.mq4
//| Closes half of the trade if profits > initial risk.
//+------------------------------------------------------------------+
#property copyright "http://www.pointzero-trading.com"
#property link      "http://www.pointzero-trading.com"

//---- Dependencies
#import "stdlib.ex4"
   string ErrorDescription(int e);
#import
#include <stdlib.mqh>
#include <WinUser32.mqh>

//-- Don't change me
#define  ShortName            "PZ Partial Closing"

//-- Internal
double   DecimalPip;

//+------------------------------------------------------------------+
//| Custom Script start function                           
//+------------------------------------------------------------------+
int start()
{
   // Lotstep
   double l_lotstep = MarketInfo(Symbol(), MODE_LOTSTEP);
   int vp = 0; if(l_lotstep == 0.01) vp = 2; else vp = 1;
   double l_type, l_profit;
   for(int cnt=0; cnt < OrdersTotal(); cnt++)
   {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); l_type = OrderType();
      if((l_type == OP_BUY || l_type == OP_SELL) && OrderSymbol() == Symbol())
      {
         l_profit = OrderProfit();
         if(l_profit > 0)
         {
            // Confirm
            if(MessageBox(ShortName +" - Do you really want to partial close the trade "+ OrderTicket() +"?",
                 "Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) continue;
            
            // Pips gained for now
            double PipProfit, PipStopLoss;
         
            // Calculate pips for stoploss
            if(l_type == OP_BUY)
            {
               // If this trade is losing or free
               if(Bid < OrderOpenPrice()) continue;
               if(Bid > OrderStopLoss()) continue;
            
               // Profit and so forth
               PipProfit = Bid - OrderOpenPrice();
               PipStopLoss = OrderOpenPrice() - OrderStopLoss();
            
            } else if(l_type == OP_SELL) {
         
               // If this trade is losing
               if(Ask > OrderOpenPrice()) continue;
               if(Ask < OrderStopLoss()) continue;
         
               // Profit and so forth
               PipProfit = OrderOpenPrice() - Ask;
               PipStopLoss = OrderStopLoss() - OrderOpenPrice();
            }
         
            // Read comment from trade
            string Com = OrderComment();
            double LOTS = OrderLots();
       
            // Partial close
            if(PipProfit > PipStopLoss &&
               StringFind(Com, "from #", 0) == -1)
            {
               // Close
               double halflots = NormalizeDouble(LOTS * 0.5, vp);
            
               // Close half position
               if(halflots >= MarketInfo(Symbol(), MODE_MINLOT))
               {
                  if(!OrderClose(OrderTicket(), halflots, OrderClosePrice(), 6, Gold))
                     Print(ShortName +" (OrderModify Error) "+ ErrorDescription(GetLastError()));
               }
            }
         }
      }
   }
 
   // Hi there!
   Comment("Copyright © http://www.pointzero-trading.com");
   
   // Bye
   return(0);
}



Geschrieben

Mache mal aus dem ...

 

// Confirm
if(MessageBox(ShortName +" - Do you really want to partial close the trade "+ OrderTicket() +"?", "Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) continue;
            

 

ein ...

// Confirm
// if(MessageBox(ShortName +" - Do you really want to partial close the trade "+ OrderTicket() +"?", "Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) continue;
            

 

Also vor das if einfach ein // setzen. Dann sollte das Fenster nicht mehr kommen. Kannst die Zeile auch löschen.

Geschrieben
  • Autor

Mache mal aus dem ...

 

// Confirm
if(MessageBox(ShortName +" - Do you really want to partial close the trade "+ OrderTicket() +"?", "Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) continue;
            

 

ein ...

// Confirm
// if(MessageBox(ShortName +" - Do you really want to partial close the trade "+ OrderTicket() +"?", "Script",MB_YESNO|MB_ICONQUESTION)!=IDYES) continue;
            

 

Also vor das if einfach ein // setzen. Dann sollte das Fenster nicht mehr kommen. Kannst die Zeile auch löschen.

 

Habe die Zeile gelöscht und jetzt kommt die Nachricht nicht mehr. Danke!

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.