Hilfe bei der Codierung - Seite 630

 
Hallo Mladen, ich brauche das unten angehängte Filterbild.
Dateien:
filter.jpg  114 kb
 

Ich bitte um einen einfachen Aroon EA.

Kaufen: Wenn aroon up über aroon down kreuzt. Ausstieg: Wenn aroon up das Level 50 nach unten kreuzt oder wenn ein entgegengesetztes Signal auftritt, je nachdem, was zuerst eintritt. (Gegenteiliges Signal bedeutet, wenn aroon up unter aroon down kreuzt)

Verkaufen: Wenn aroon down über aroon up kreuzt. Ausstieg: Wenn aroon down das Niveau 50 nach unten kreuzt oder wenn ein entgegengesetztes Signal auftritt, je nachdem, was zuerst eintritt. (Gegenteiliges Signal bedeutet, wenn aroon down unter aroon up kreuzt)

Alle Trades sollten bei der Eröffnung der nächsten Kerze nach Auftreten des Signals eröffnet werden.

Setzen Sie den Stop-Loss auf das vorherige Swing-Hoch bzw. Swing-Tief. Wenn dies nicht möglich ist, verwenden Sie den ATR-Stoploss oder den manuellen Stoploss.

Wenn möglich, fügen Sie bitte auch eine Geldverwaltungsfunktion hinzu.

Wir wissen Ihre Zeit, Ihre Fähigkeiten und Ihre Großzügigkeit sehr zu schätzen. Mit freundlichen Grüßen

Reymaq.

 
Hallo jemand haben fps buysell Signal mq4? wenn ja bedeutet, können Sie bitte hier teilen .. ich sah nur ex4 Dateien.
 

sonst möchte ich eine Hilfe. in diesem Indikator hoch niedrig sind mit kurzen gelben Linien zeigen ... mag, dass nach dem Preis der niedrigen der Zickzack.. aus dem Preis selbst brauchen kurze Linien für 0,326% ,0.5%, 0.618% , 1%, 1.618%,2.27%,2.618%,3.33%, 4.236% i bedeutet das Fibo-Retracement ist für diesen Preis allein, die wie (nach der Festlegung niedrig) niedrig + (niedrig*0.326/100)............ niedrig + (niedrig*0.5/100)........... wie...

danach für die hohe gemacht bedeutet .... gleichen Verfahren wie kurze Linien gestrichelt

hoch (hoch*0,326/100)........... hoch -(hoch*0,5/100)........

kann das bitte jemand für mich machen?

ich werde Ihnen sehr dankbar sein.

Dateien:
 

Hallo,

Ich würde gerne ihre zwei Indikatoren in einem EA testen.

1 - Parabolischer SAR von KAMA 1_5.mq4

2 - Macd - std normalized.mq4 1_2 (Filter)


Ich teste mit dem unten stehenden Code , um Aufträge zu öffnen .
Ich habe Backtest für 3 Monate in H1.
Das Ergebnis war sehr schlecht.

Gibt es eine Möglichkeit , die Art und Weise der Eröffnung von Aufträgen zu verbessern ?

Ergebnis

extern int    BarToUse    = 1;       // Bar to test (0, for still opened, 1 for first closed, and so on)
extern string     IndicatorsSettings   = "===== INDICATORS SETTINGS=====";
extern string     _Indicator           = "===== Parabolic SAR =====";
extern double    AccStep         = 0.02;      // Accumulation step
extern double    AccLimit        = 0.2;       // Accumulation limit
extern int       AmaPeriod       = 10;        // Kaufman AMA period
extern int  AmaPrice        = 0;  // Price to be used by Kaufman AMA
extern double    FastEnd         = 2;         // Kaufman AMA fast end
extern double    SlowEnd         = 30;        // Kaufman AMA slow end
extern double    SmoothPower     = 2;         // Smooth power
extern bool      JurikFDAdaptive = true;      // Should the Kaufman AMA be Jurik fractal dimension adaptive?
//extern enDisplayType DisplayType = "" ; // What should be displayed?
extern int       LineWidth       = 2;         // Lines width
extern int       ArrowsWidth     = 0;         // Arrows (dots) width
extern bool      Interpolate     = true;      // Interpolate in multi time frame mode?
extern string PARAMETERS_INDICATOR_TWO = "Macd";
extern int                FastMAPeriod  = 23;            // Fast macd period
extern int                SlowMAPeriod  = 50;            // Slow macd period
extern int                SignalPeriod  = 9;             // Signal period
extern int                StdPeriod     = 50;            // Standard deviation used for normalization
extern int Price         = 0;   // Price to use 
extern double             Filter        = 0;             // Filter to apply to macd value
extern int                FilterPeriod  = 0;             // Filter period to use (<= to use the slow macd period)
extern colorOn            ColorChangeOn = clrOnSlope;    // Color change on : 

#define _doNothing 0
#define _doBuy     1
#define _doSell    2
int start()
{
   //MagicWarning();//Display a warning in case MagicNumber is changed
   AutoMagic();//Generate Magic Number based on Symbol and Long/Short params
   
      int doWhat = _doNothing;
      double sarUp = iCustom(NULL,0,"Parabolic SAR of KAMA 1_5",0,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive,0,BarToUse); 
      double sarDn = iCustom(NULL,0,"Parabolic SAR of KAMA 1_5",0,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive,1,BarToUse+1); 
      
      double macdUp= iCustom(NULL,0,"Macd - std normalized 1_2 histo",0,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn,0,BarToUse);
      double macdDn= iCustom(NULL,0,"Macd - std normalized 1_2 histo",0,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn,1,BarToUse+1);
      
         

        
      if (sarUp!=sarDn & macdUp!=macdDn)
         if (sarUp<sarDn & macdUp<macdDn) //buy
               doWhat = _doBuy;
         else  doWhat = _doSell;
         if (doWhat==_doNothing && !DisplayInfo) return(0);

   if (doWhat==_doBuy && openedBuys==0)
      {
         RefreshRates();
         //double BStopLossLevel   = Ask - StopLoss   *myPoint;
         //double BTakeProfitLevel = Ask + TakeProfit *myPoint;               
         double stopLossBuy   = 0; if (StopLoss>0)   stopLossBuy   =Ask - StopLoss   *myPoint; //Ask-StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitBuy = 0; if (TakeProfit>0) takeProfitBuy =Ask + TakeProfit *myPoint; //Ask+TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
            int ticketb = OrderSend(Symbol(),OP_BUY,LotSize,NormalizeDouble(Ask,digit),Slippage*myPoint,0,0,EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_B",MagicNumber,0,Blue);
            if (ticketb>-1)
               dummyResult = OrderModify(ticketb,OrderOpenPrice(),NormalizeDouble(stopLossBuy,digit),NormalizeDouble(takeProfitBuy,digit),0,CLR_NONE);
              
              
         }
         else dummyResult = OrderSend(Symbol(),OP_BUY,LotSize,NormalizeDouble(Ask,digit),Slippage*myPoint,NormalizeDouble(stopLossBuy,digit),NormalizeDouble(takeProfitBuy,digit),EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_B",MagicNumber,0,Blue);
          
      }
   if (doWhat==_doSell && diStcSell==true && openedSells==0)
      {
         RefreshRates();
         //double SStopLossLevel   = Bid + StopLoss   *Mypoint;
         //double STakeProfitLevel = Bid - TakeProfit *Mypoint;
         double stopLossSell   = 0; if (StopLoss>0)   stopLossSell=Bid + StopLoss   *myPoint; //Bid+StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitSell = 0; if (TakeProfit>0) takeProfitSell =Bid - TakeProfit *myPoint; //Bid-TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
            int tickets = OrderSend(Symbol(),OP_SELL,LotSize,NormalizeDouble(Bid,digit),Slippage*myPoint,0,0,EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_S",MagicNumber,0,Red);
            if (tickets>-1)
                dummyResult = OrderModify(tickets,OrderOpenPrice(),NormalizeDouble(stopLossSell,digit),NormalizeDouble(takeProfitSell,digit),0,CLR_NONE);
         }
         
         else dummyResult = OrderSend(Symbol(),OP_SELL,LotSize,NormalizeDouble(Bid,digit),Slippage*myPoint,NormalizeDouble(stopLossSell,digit),NormalizeDouble(takeProfitSell,digit),EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_S",MagicNumber,0,Red);
Dateien:
 
borgesr:

Hallo,

Ich würde gerne ihre zwei Indikatoren in einem EA testen.

1 - Parabolischer SAR von KAMA 1_5.mq4

2 - Macd - std normalized.mq4 1_2 (Filter)


Ich teste mit dem unten stehenden Code , um Aufträge zu öffnen .
Ich habe Backtest für 3 Monate in H1.
Das Ergebnis war sehr schlecht.

Gibt es eine Möglichkeit , die Art und Weise der Eröffnung von Aufträgen zu verbessern ?

Bitte lesen Sie diesen Beitrag: https: //www.mql5.com/en/forum/186208/page3 über eine eventuelle Optimierung. Zur Frage, warum es so funktioniert: Sie könnten wahrscheinlich die Regeln überarbeiten, die Sie beim Öffnen und Schließen von Aufträgen verwenden. Überprüfen Sie aber auf jeden Fall die Regeln, die Sie verwenden, und überprüfen Sie, wann Ihre Aufträge geschlossen werden.
 
ramzam:

sonst möchte ich eine Hilfe. in diesem Indikator hoch niedrig sind mit kurzen gelben Linien zeigen ... mag, dass nach dem Preis der niedrigen der Zickzack.. aus dem Preis selbst brauchen kurze Linien für 0,326% ,0.5%, 0.618% , 1%, 1.618%,2.27%,2.618%,3.33%, 4.236% i bedeutet das Fibo-Retracement ist für diesen Preis allein, die wie (nach der Festlegung niedrig) niedrig + (niedrig*0.326/100)............ niedrig + (niedrig*0.5/100)........... wie...

danach für das Hoch gemacht bedeutet .... gleiches Verfahren wie kurze gestrichelte Linien

hoch (hoch*0.326/100)........... hoch -(hoch*0.5/100)........

Kann das bitte jemand für mich tun?

Ich werde Ihnen sehr dankbar sein.

Ich kann die Datei im Moment nicht überprüfen, aber wenn ich mir den Namen ansehe, sind Sie sich sicher, dass die Verwendung von Zigzag für Signale so verwendet werden kann, wie Sie es erwarten (da Zigzag neu gezeichnet wird)?
 
mladen:
Bitte lesen Sie diesen Beitrag: https: //www.mql5.com/en/forum/186208/page3 über eventuelle Optimierungen. Warum es so funktioniert: Wahrscheinlich könnten Sie die Regeln, die Sie beim Öffnen und Schließen von Aufträgen verwenden, überarbeiten. Überprüfen Sie aber auf jeden Fall die Regeln, die Sie verwenden, und überprüfen Sie, wann Ihre Aufträge geschlossen werden.

Lieber Mladen,

Die Eröffnungsregel war falsch.

Ich habe den Codegeändert , aber es geht immer noch mit einer sehr schlechten Leistung weiter , wobei ich viel Geld verliere.


Um den Filter zusammen mit dem Paraboliczu machen, wäre es besser, den RSI zu verwenden?

      int doWhat = _doNothing;
      double sarUp = iCustom(NULL,0,"Parabolic SAR of KAMA 1_5",0,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive,0,BarToUse); 
      double sarDn = iCustom(NULL,0,"Parabolic SAR of KAMA 1_5",0,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive,1,BarToUse+1); 
      
      double macdUp= iCustom(NULL,0,"Macd - std normalized 1_2 histo",0,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn,0,BarToUse);
      double macdDn= iCustom(NULL,0,"Macd - std normalized 1_2 histo",0,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn,1,BarToUse+1);
      
         

        
      
         if (sarUp<sarDn & macdUp<macdDn) doWhat = _doBuy;
         if (sarUp>sarDn & macdUp>macdDn)  doWhat = _doSell;
         if (doWhat==_doNothing && !DisplayInfo) return(0);
         
  for (int i = OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()      != Symbol())            continue;
      if (OrderMagicNumber() != MagicNumber)         continue;

      //
      //
      //
      //
      //
      
      if (DisplayInfo) currentProfit += OrderProfit()+OrderCommission()+OrderSwap();
         
         //
         //
         //
         //
         //
         
         if (OrderType()==OP_BUY)
            if (doWhat==_doSell )
                  { RefreshRates(); if (!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Orange)) openedBuys++; }
            else  openedBuys++;
         if (OrderType()==OP_SELL)
            if (doWhat==_doBuy )
                  { RefreshRates(); if (!OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Green)) openedSells++; }
            else  openedSells++;            
   }
   if (DisplayInfo) Comment("Current profit : "+DoubleToStr(currentProfit,2)+" "+AccountCurrency()); if (doWhat==_doNothing) return(0);

   //
   //
   //
   //
   //
   if (doWhat==_doBuy && openedBuys==0)
      {
         RefreshRates();
         //double BStopLossLevel   = Ask - StopLoss   *myPoint;
         //double BTakeProfitLevel = Ask + TakeProfit *myPoint;               
         double stopLossBuy   = 0; if (StopLoss>0)   stopLossBuy   =Ask - StopLoss   *myPoint; //Ask-StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitBuy = 0; if (TakeProfit>0) takeProfitBuy =Ask + TakeProfit *myPoint; //Ask+TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
            int ticketb = OrderSend(Symbol(),OP_BUY,LotSize,NormalizeDouble(Ask,digit),Slippage*myPoint,0,0,EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_B",MagicNumber,0,Blue);
            if (ticketb>-1)
               dummyResult = OrderModify(ticketb,OrderOpenPrice(),NormalizeDouble(stopLossBuy,digit),NormalizeDouble(takeProfitBuy,digit),0,CLR_NONE);
              
              
         }
         else dummyResult = OrderSend(Symbol(),OP_BUY,LotSize,NormalizeDouble(Ask,digit),Slippage*myPoint,NormalizeDouble(stopLossBuy,digit),NormalizeDouble(takeProfitBuy,digit),EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_B",MagicNumber,0,Blue);
          
      }
   if (doWhat==_doSell & openedSells==0)
      {
         RefreshRates();
         //double SStopLossLevel   = Bid + StopLoss   *Mypoint;
         //double STakeProfitLevel = Bid - TakeProfit *Mypoint;
         double stopLossSell   = 0; if (StopLoss>0)   stopLossSell=Bid + StopLoss   *myPoint; //Bid+StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitSell = 0; if (TakeProfit>0) takeProfitSell =Bid - TakeProfit *myPoint; //Bid-TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
            int tickets = OrderSend(Symbol(),OP_SELL,LotSize,NormalizeDouble(Bid,digit),Slippage*myPoint,0,0,EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_S",MagicNumber,0,Red);
            if (tickets>-1)
                dummyResult = OrderModify(tickets,OrderOpenPrice(),NormalizeDouble(stopLossSell,digit),NormalizeDouble(takeProfitSell,digit),0,CLR_NONE);
         }
         
         else dummyResult = OrderSend(Symbol(),OP_SELL,LotSize,NormalizeDouble(Bid,digit),Slippage*myPoint,NormalizeDouble(stopLossSell,digit),NormalizeDouble(takeProfitSell,digit),EASHORTNAME+"_"+Symbol()+"("+GetChartTimeFrame()+")_S",MagicNumber,0,Red);
      }
   return(0);
}
 
borgesr:

Lieber Mladen,

Die Eröffnungsregel war falsch.

Ich habe den Codegeändert , aber immer noch mit einer sehr schlechten Leistung verliert eine Menge Geld.


Um den Filter zusammen mit dem Paraboliczu machen, wäre es besser, den RSI zu verwenden?

Bitte, versuchen Sie, Ihre EA zu optimieren

 
kapoo:

Herr Mladen, bitte schauen Sie sich die folgenden Codes an, der Pfeil erscheint nicht in Live, bis ich den Zeitrahmen gewechselt habe.


Das ist eine nachmalende Version des Sidus-Indikators

Die nicht nachmalende Version kann hier heruntergeladen werden: https: //www.mql5.com/en/forum/180648/page293

Grund der Beschwerde: