Hilfe bei der Codierung - Seite 705

 


double BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1);

double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i);

string SBUY="false";string SSEL="false";

if(BU1<Close[1]&&BL1<Close[1])SBUY="true";if(BL1>Close[1]&&BU1>Close[1])SSEL="true";

Jetzt funktioniert es, nach TP..... war etwas mit Trade nicht in Ordnung

Vielen Dank für Ihre Hilfe Mladen.

 

hallo herr mladen

wie könnte man dieses Wort übersetzen:

http://forexsystemsru.com/1075962-post327.html

Cluster-Analyse


siehe


 

mr mladen:

könnten Sie MTF daraus machen

Mit freundlichen Grüßen

Dateien:
 

Hallo liebe Programmierer,

Ich habe wahrscheinlich eine einfache Frage, aber ich stecke im Moment fest:

Mein EA öffnet und kauft und verkauft Orders ohne Probleme, aber wenn es zu

SIGNAL_CLOSEBUY oder SIGNAL_CLOSESELL schließt er die Orders nicht.

Hier verwende ich einen RSI_Filter als Trigger zum Schließen von Kauf- oder Verkaufsaufträgen.

Ich habe meinen Code reinkopiert, ich würde mich sehr freuen, wenn jemand einen Blick darauf werfen könnte.

Vielen Dank im Voraus!

#define SIGNAL_NONE      0
#define SIGNAL_BUY       1
#define SIGNAL_SELL      2
#define SIGNAL_CLOSEBUY  3
#define SIGNAL_CLOSESELL 4

extern int    MaxShortTrades   = 1;
extern int    MaxLongTrades    = 1;
int           Order            = SIGNAL_NONE;

// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);

// Trade Signal Indicator
double NLD1,NLD2;
      NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
      NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);        

// Amount of long / short trades      
int longs  = 0;
int shorts = 0;
double j;
      
      for(j=OrdersTotal()-1;j>=0; j--)
        {
         if(OrderType()==OP_BUY)  longs++;  // Check # of long trades.
         if(OrderType()==OP_SELL) shorts++; // Check # of short trades
        }
                
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order  = SIGNAL_BUY;        
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
   

// Signal Begin(Exit Buy)
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;

if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
              {
               dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
               if(EachTickMode) TickCheck = True;
               if(!EachTickMode) BarCount = Bars;
               return(0);
              }

// Signal Begin(Exit Sell)                                                              
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;

if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
                 {
                  dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
                  if(EachTickMode) TickCheck = True;
                  if(!EachTickMode) BarCount = Bars;
                  return(0);
                 }
 
tfi_markets:

Hallo liebe Programmierer,

Ich habe wahrscheinlich eine einfache Frage, aber ich stecke im Moment fest:

Mein EA öffnet und kauft und verkauft Orders ohne Probleme, aber wenn es zu

SIGNAL_CLOSEBUY oder SIGNAL_CLOSESELL schließt er die Orders nicht.

Hier verwende ich einen RSI_Filter als Trigger zum Schließen von Kauf- oder Verkaufsaufträgen.

Ich habe meinen Code reinkopiert, ich würde mich sehr freuen, wenn jemand einen Blick darauf werfen könnte.

Vielen Dank im Voraus!

#define SIGNAL_NONE      0
#define SIGNAL_BUY       1
#define SIGNAL_SELL      2
#define SIGNAL_CLOSEBUY  3
#define SIGNAL_CLOSESELL 4

extern int    MaxShortTrades   = 1;
extern int    MaxLongTrades    = 1;
int           Order            = SIGNAL_NONE;

// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);

// Trade Signal Indicator
double NLD1,NLD2;
      NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
      NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);        

// Amount of long / short trades      
int longs  = 0;
int shorts = 0;
double j;
      
      for(j=OrdersTotal()-1;j>=0; j--)
        {
         if(OrderType()==OP_BUY)  longs++;  // Check # of long trades.
         if(OrderType()==OP_SELL) shorts++; // Check # of short trades
        }
                
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order  = SIGNAL_BUY;        
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
   

// Signal Begin(Exit Buy)
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;

if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
              {
               dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
               if(EachTickMode) TickCheck = True;
               if(!EachTickMode) BarCount = Bars;
               return(0);
              }

// Signal Begin(Exit Sell)                                                              
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;

if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
                 {
                  dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
                  if(EachTickMode) TickCheck = True;
                  if(!EachTickMode) BarCount = Bars;
                  return(0);
                 }

Zwei Probleme, die Sie lösen müssen, bevor Sie fortfahren:

  1. Sie müssen zuerst eine Order auswählen - Sie haben die Order nicht ausgewählt, bevor Sie versuchen, sie zu schließen
  2. Sie prüfen nicht, um welche Art von Auftrag es sich handelt, den Sie schließen wollen. Prüfen Sie die Art des Auftrags und ergreifen Sie dann je nach Auftragsart weitere Maßnahmen - und passen Sie den Schlusskurs je nach Auftragsart auf Geld- oder Briefkurs an.
 
mladen:

zwei Probleme, die Sie lösen müssen, bevor Sie weitermachen:

  1. Sie müssen zuerst eine Order auswählen - Sie haben die Order nie ausgewählt, bevor Sie versuchen, sie zu schließen
  2. Sie überprüfen nicht den Typ der Order, die Sie schließen wollen - überprüfen Sie den Typ und führen Sie dann je nach Ordertyp weitere Maßnahmen durch - und passen Sie den Schlusskurs je nach Ordertyp auf Bid oder Ask an

Lieber Mladen,

vielen Dank für deine hilfreichen Vorschläge.

Wenn ich Sie richtig verstanden habe, muss ich so etwas wie den folgenden Code implementieren

um ein "buy_ticket" auszuwählen, muss der EA geschlossen werden. Der Code ist noch nicht getestet, und Art von "Pseudo-Status".

int buy_ticket=0;
int sell_ticket=0;
int ticket;

// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
    {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
         {
           if(OrderType()== OP_BUY)
              buy_ticket=OrderTicket();
            else
            if(OrderType() == OP_SELL)
               sell_ticket=OrderTicket();
           }
        }

// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;

if (RSIfilter>50) Order=SIGNAL_CLOSESELL; 

                
if(Order==CLOSE_BUY && buy_ticket!=0)
         {
         if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
            {
            if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
               Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
            }
         }
      else
      if(Order==CLOSE_SELL && sell_ticket!=0)
         {
         if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
            {
            if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
               Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
            }
         }
    
 
tfi_markets:

Lieber Mladen,

vielen Dank für deine hilfreichen Vorschläge.

Wenn ich Sie richtig verstanden habe, muss ich so etwas wie den folgenden Code implementieren

um ein "buy_ticket" auszuwählen, muss der EA schließen. Der Code ist noch nicht getestet, und Art von "Pseudo-Status".

int buy_ticket=0;
int sell_ticket=0;
int ticket;

// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
    {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
         {
           if(OrderType()== OP_BUY)
              buy_ticket=OrderTicket();
            else
            if(OrderType() == OP_SELL)
               sell_ticket=OrderTicket();
           }
        }

// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;

if (RSIfilter>50) Order=SIGNAL_CLOSESELL; 

                
if(Order==CLOSE_BUY && buy_ticket!=0)
         {
         if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
            {
            if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
               Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
            }
         }
      else
      if(Order==CLOSE_SELL && sell_ticket!=0)
         {
         if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
            {
            if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
               Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
            }
         }
    

Haben Sie nur 1 Auftrag (die gleiche Magie, Symbol ich meine) zur gleichen Zeit geöffnet?

Wenn ja, dann wird es funktionieren.

 

Liebe Freunde,

Die beigefügte ea ist ständig offene Aufträge auf feste Menge(es ist offen alle Aufträge 0,10)

Ich ändere nicht oder Kontrolle offenen Aufträge viel Wert!!


Erhältlich in den Einstellungen "Lots" und "MaximumRisk" Werte, aber sie sind nicht wirksam auf die Aufträge lot Werte!

Könnten Sie mir bitte helfen?

 

hallo herr mladen

könnten Sie ein leeres Unterfenster ähnlich diesem Bild erstellen?

siehe

 

Hallo Mladen, ich habe mir deine

stepma_pdf_4_4.ex4 heruntergeladen und auch das Histgramm,

sie in MT4 kopiert. Ich ziehe sie auf das Chart-Fenster

Ich erhalte die folgende Meldung, siehe Bild:

Würden Sie mir sagen, wie ich Ihren Indikator verwenden kann?


Lea


ps. das gleiche passiert mit: averages_-_mtf__alerts_7_4.ex4 und histogram

Dateien:
warning.jpg  20 kb