Hilfe bei der Codierung - Seite 747

 
Ich hoffe, dieser Bildschirm zeigt genau das, was ich will :)
Dateien:
 
skyler1234321:
Ich hoffe, dieser Bildschirm zeigt genau das, was ich will :)

Wenn Sie HighLowCandle > 0 verwenden, dann wird es bei einer geschlossenen Kerze abgesetzt.

Setzen Sie UseBarDirection auf true und überprüfen Sie es dann

 

Ja, ich habe es in den Einstellungen. Das sind meine Einstellungen, die ich getestet habe

Vielleicht ist im Code etwas falsch. Könnten Sie das überprüfen?

Dateien:
2.PNG  25 kb
 
cja:

Gibt es eine einfache Möglichkeit, auf MT5-Indikator-Daten für eine On-Chart-Anzeige zuzugreifen. Ich weiß, dass ursprünglich, wenn MT5 zuerst herauskam der Code war ziemlich kompliziert für nur einen einfachen Indikator und ich bin hoffnungsvoll mit der neuesten Version von MT5 etwas geändert haben kann?

Wenn ich zum Beispiel ein MA-Kreuz auf dem Chart-Objekt mit MT4 anzeigen möchte, verwende ich

double slow_MA = iMA(Symbol(),0,100,0,MA_MODE,MA_PRICE,0);

double fast_MA = iMA(Symbol(),0,35,0,MA_MODE,MA_PRICE,0);

if (ma_fast > ma_slow){ col = clrLime;}

wenn (ma_fast < ma_slow) {col = clrRed;}

sonst {col = clrGray;}


gibt es ein einfaches Äquivalent in MT5? oder muss ich unzählige Zeilen Code schreiben, um auf diese Informationen zuzugreifen?

Hallo cja

Zunächst danke für Ihren Besuch zurück TSD im Jahr 2017 dann Frohes neues Jahr für Sie, wie Sie sind sehr selten besuchen tsd aber sehr alt, Senior und Experte Mitglied :)

Grüße

 

Ich versuche, dieses Trailing mit Step-Routine zu ändern.
Ich muss mich vom Stoploss und nicht vom Kauf/Verkaufseingang aus bewegen...

zum Beispiel: (BUY Operation)

StopLoss: 250 (in Punkten)
Traling :150 (in Punkten)
TralingStep: 50 (in Punkten)
===========

BUY Einstieg=> 1000
StopLoss=>750 (=1000-250)

================
Erste Kursänderung) Kurs bewegt sich auf: 1150

(Das brauche ich nicht.. ;-( )
Trailing verschiebt meinen StopLoss auf "buy_entrance" =>1000

(Das brauche ich aber)
Trailing soll meinen StopLoss auf => 800 (=StopLoss+Trailingstep) verschieben

Zweite Kursänderung) Kurs verschoben auf: 1300
Trailing soll auf=> 950 (=StopLoss+Trailingstep) verschoben werden


der aktuelle Code verwendet Trailing und Trailing Step, aber ich muss ihn ändern...
wenn (Preis bewegt) das Trailing in Punkten erreicht ist und es verwendet Trailing Step, um den Stop Loss zu verschieben, aber der aktuelle Code
verschiebt den Stop Loss zum Einstiegspunkt der Operation (und das will ich nicht)

Ich brauche:

wenn BUY geöffnet wird: wenn der Trailing erreicht ist, sollte der Trailing-Schritt vom aktuellen Stoploss abgezogen werden. (NewStopLoss = LastStoploss - TrailingStep)
wenn SELL eröffnet wird: wenn der Trailing erreicht ist, soll der Trailing Step zum aktuellen Stoploss addiert werden. (NewStopLoss = LastStoploss +TrailingStep)

#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;

int
 Trailing = 150;
int TrailingStep = 25;

void fSimpleTrailingStep(){   //mt5
   if(Trailing<=0){
      return;
   }         
   if(!Pos.Select(_Symbol)){
      return;
   }         
   if(!Sym.RefreshRates()){
      return;  
   }   
   double nsl,tmsl,psl,newstop;  
   switch(Pos.PositionType()){
      case POSITION_TYPE_BUY:
         nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
            if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
               //if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
               if(nsl>=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep)){  //////////////
                  //tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
                   tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
                     if(nsl<tmsl){
                        //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                        newstop=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep);
                        Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
                        Print ("(BUY) Trailing :"+Pos.StopLoss());
                     }
               }
            }
      break;
      case POSITION_TYPE_SELL:
         nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
            //if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){             
            if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())-_Point*TrailingStep){   //////////////
               psl=Sym.NormalizePrice(Pos.StopLoss());
                  if(nsl<psl || psl==0){
                     tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
                        if(nsl>tmsl){
                           newstop=Sym.NormalizePrice(Pos.StopLoss()-_Point*TrailingStep);
                           //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                           Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
                           Print ("(SELL) Trailing :"+Pos.StopLoss());
                        }
                  }
            }      
      break;
   }
}
 
baraozemo:

Ich versuche, diese Trailing mit Schritt Routine zu ändern.
Ich brauche, um von Stoploss und nicht von der Kauf/Verkauf Eingang bewegen...

zum Beispiel: (BUY-Operation)

StopLoss: 250 (in Punkten)
Traling :150 (in Punkten)
TralingStep: 50 (in Punkten)
===========

BUY Einstieg=> 1000
StopLoss=>750 (=1000-250)

================
Erste Kursänderung) Der Kurs hat sich bewegt auf: 1150

(Ich brauche das nicht.. ;-( )
Trailing verschiebt meinen StopLoss auf "buy_entrance" =>1000

(Aber ich brauche das)
Trailing sollte meinen Stoploss auf => 800 (=StopLoss+Trailingstep) verschieben

Zweite Kursänderung) Kurs bewegt sich auf: 1300
Trailing soll auf => 950 (=StopLoss+Trailingstep) verschoben werden


der aktuelle Code verwendet Trailing und Trailingstep, aber ich muss ihn ändern...
wenn (Preis bewegt) das Trailing in Punkten erreicht wird und es Trailing-Schritt verwendet, um den StopLoss zu verschieben, aber der eigentliche Code
verschiebt den Stop-Loss zum Einstiegspunkt der Operation (und das will ich nicht)

Ich brauche:

wenn BUY eröffnet wird: wenn das Trailing erreicht ist, sollte der Trailing-Schritt vom aktuellen Stoploss abgezogen werden. (NewStopLoss = LastStoploss - TrailingStep)
wenn SELL eröffnet wird: wenn der Trailing erreicht ist, sollte der Trailing-Schritt zum aktuellen Stoploss addiert werden. (NewStopLoss = LastStoploss +TrailingStep)

#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;

int
 Trailing = 150;
int TrailingStep = 25;

void fSimpleTrailingStep(){   //mt5
   if(Trailing<=0){
      return;
   }         
   if(!Pos.Select(_Symbol)){
      return;
   }         
   if(!Sym.RefreshRates()){
      return;  
   }   
   double nsl,tmsl,psl,newstop;  
   switch(Pos.PositionType()){
      case POSITION_TYPE_BUY:
         nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
            if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
               //if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
               if(nsl>=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep)){  //////////////
                  //tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
                   tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
                     if(nsl<tmsl){
                        //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                        newstop=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep);
                        Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
                        Print ("(BUY) Trailing :"+Pos.StopLoss());
                     }
               }
            }
      break;
      case POSITION_TYPE_SELL:
         nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
            //if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){             
            if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())-_Point*TrailingStep){   //////////////
               psl=Sym.NormalizePrice(Pos.StopLoss());
                  if(nsl<psl || psl==0){
                     tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
                        if(nsl>tmsl){
                           newstop=Sym.NormalizePrice(Pos.StopLoss()-_Point*TrailingStep);
                           //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                           Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
                           Print ("(SELL) Trailing :"+Pos.StopLoss());
                        }
                  }
            }      
      break;
   }
}
Ihr anfänglicher Start muss immer vom anfänglichen Kauf-/Verkaufseinstieg erfolgen (es gibt keine anderen verfügbaren Kriterien)
 

Liebste MLADEN

Timmy und ich versuchen zu spielen (copy/paste) mit einem einfachen EA mit grundlegenden verkaufen/kaufen auf Trendwechsel, basierend auf "averages - mtf - alerts 8.7", wie wir beide Null in der Codierung Fragen, plz Hilfe und Anleitung, wie man Code (icustom) für diese Durchschnitte ver.

Grüße



     double Averages_trend_current  = iCustom(NULL,0,"averages - mtf - alerts  8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse);

     double Averages_trend_previous = iCustom(NULL,0,"averages - mtf - alerts  8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse+1);


 
mntiwana:

Liebste MLADEN

Timmy und ich versuchen zu spielen (copy/paste) mit einem einfachen EA mit grundlegenden verkaufen/kaufen auf Trendwechsel, basierend auf "averages - mtf - alerts 8.7", wie wir beide Null in der Codierung Fragen, plz Hilfe und Anleitung, wie man Code (icustom) für diese Durchschnitte ver.

Grüße



     double Averages_trend_current  = iCustom(NULL,0,"averages - mtf - alerts  8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse);

     double Averages_trend_previous = iCustom(NULL,0,"averages - mtf - alerts  8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse+1);


Irgendetwas stimmt mit den Puffern nicht, ich habe Puffer 2 für den Kauf und Puffer 3 und 4 für den Verkauf verwendet, aber alles löst immer aus, ich habe versucht, nur Puffer 2 für den Kauf und Puffer 3 für den Verkauf zu verwenden, aber das Gleiche passiert.
 
timmyhanke:
Irgendetwas stimmt mit den Puffern nicht, ich habe Puffer 2 für den Kauf und Puffer 3 und 4 für den Verkauf verwendet, aber alles löst immer aus, ich habe versucht, nur Puffer 2 für den Kauf und Puffer 3 für den Verkauf zu verwenden, aber das Gleiche passiert.

Mit den Puffern ist alles in Ordnung. Verwenden Sie Puffer 9: 1 für Trend nach oben, -1 für Trend nach unten

 

Sehr geehrter Herr Mladen,


Ich brauche ein Histogramm-Indikator für meine Strategie Handel, jetzt benutze ich XB4 Indikator und Bandit-Strategie-Indikator. aber sie haben keine Warnung und Benachrichtigung per E-Mail oder zu meinem Android MT4 senden.

haben Sie modifizierte Indikator XB4d ndicator, die Alarm senden E-Mail und Benachrichtigung, die auf Android-Handy zu senden. wenn Histogramm ändern Farbe blau zu rot, oder rot zu blau auf dem ersten bar.

und Histogramm-Trend-Sitzung von Bandid System-Indikator, dass die Farbe von blau zu rot, oder rot zu blau, erste Farbe der Änderung Trend ändern.

Könnten Sie mir bei diesem Indikator helfen, Herr Mladen?




Grüße,

Samuel

Dateien:
bandit.PNG  56 kb
XB4.PNG  46 kb
Grund der Beschwerde: