Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 90

 
artmedia70:

Ich habe noch nicht nach Fehlern gesucht - es gibt viel zu tun.

Um Sell dort zu schließen, wo sich das rote Kreuz befindet, müssen Sie den aktuellen Balken überprüfen. Wenn Ask<= Schlusskurs && Open[0]>Schlusskurs


Etwas funktioniert überhaupt nicht Ein Verkaufsgeschäft mit dem Code if(Ask<=PriceLow && Open[0]>PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); wird überhaupt nicht geschlossen.


Wenn Sie Interesse an dem Thema für eine beschleunigte Kontakt mir skype alexey1979621

 
alexey1979621:

Etwas funktioniert nicht OrderClose(OrderTicket(),OrderLots(),Ask,3,White); schließt nicht if(Ask<=PriceLow && Open[0]>PriceLow); schließt überhaupt nicht.


Bei Interesse an dem Thema für schnelle Kommunikation mit mir skype alexey1979621


 if(Ask<=PriceLow && High[1]>PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
 
artmedia70:


Es hat nicht geklappt. Vielleicht gibt diese Sache if(Volume[0]>1) zurück;
 
alexey1979621:

Test zu Eröffnungspreisen?

Es geht um die Zecken

 
Prüfung auf alle Zecken
artmedia70:

Test zu Eröffnungspreisen?

Es geht um die Zecken


Prüfung auf alle Zecken
 
alexey1979621:
Prüfung auf alle Zecken Prüfung auf alle Zecken

Und wo war die Indikatorlinie zum Zeitpunkt des Verkaufsschlusses?

 
alexey1979621:

Korrigiert, den Handel auf die gleiche Weise wie im obigen Screenshot geschlossen, aber das rote Kreuz sollte da sein.

Ich stimme zu, dass ExtremeTMA überzeichnet ist, aber ich schätze, dass dies keinen Einfluss auf die Suche nach Einstiegspunkten hat, die Hauptsache sind hier die Filter. Ich habe den TDI-Indikator verwendet. Ich habe beigefügt, was ich gemacht habe (ich habe keine guten Hände, deshalb sollte dieser EA richtig behandelt werden). Ich habe nur ein Problem damit, es dauert etwa 5 Stunden im Tester für 1 Jahr (ich habe irgendwo einen Fehler gemacht). Wenn es nicht schwierig ist, auf Fehler zu prüfen.

Versuchen Sie, Aufträge auf folgende Weise zu eröffnen:

int CalculateCurrentOrders(string symbol)
  {
   int buys=0,sells=0;
   //----
   if (OrdersTotal()>0)
   {  for (int i=OrdersTotal()-1; i>=0; i--)
      {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {  if (OrderSymbol()!=Symbol())   continue;
            if (OrderMagicNumber()!=Magic) continue;
            {  if(OrderType()==OP_BUY)  buys++;
               if(OrderType()==OP_SELL) sells++;
            }
   }  }  }
   //---- return orders volume
   if(buys>0) return(buys);
   else       return(-sells);
  }

Mir ist aufgefallen, dass Sie Magic=124 eingestellt haben, aber im Code steht sofort 124. Dasselbe gilt für Slippage, OrderSend und OrderClose mit 3 (drei).

 
alexey1979621:

Korrigiert, schloss den Handel auf die gleiche Weise wie auf dem Screenshot oben, aber ich muss schließen, wo das rote Kreuz ist.

Ich stimme zu, dass ExtremeTMA überzeichnet ist, aber ich schätze, dass dies keinen Einfluss auf die Suche nach Einstiegspunkten hat, die Hauptsache sind hier die Filter. Ich habe den TDI-Indikator verwendet. Ich habe beigefügt, was ich gemacht habe (ich habe keine guten Hände, deshalb sollte dieser EA richtig behandelt werden). Ich habe nur ein Problem damit, es dauert etwa 5 Stunden im Tester für 1 Jahr (ich habe irgendwo einen Fehler gemacht). Wenn es Ihnen nichts ausmacht, nach Fehlern zu suchen.

Es ist möglich, dass die Geschwindigkeit des EA aufgrund der Schwere der Berechnungen des benutzerdefinierten Indikators sinkt. Wenn Sie die Strenge der Berechnungen überprüfen möchten, führen Sie das folgende Skript auf dem Chart aus, auf dem Sie handeln. Wenn lange Zeit kein Kommentar abgegeben wird, verringern Sie N auf 100000 oder noch weniger. Sehen Sie, wie viele Millisekunden pro Iteration benötigt werden.

//---
int    N=1000000;
//---
double PriceHigh, PriceLow, TDIHigh, TDILow, RSIPriceLine, TradeSignalLine;
int    timestart, timestop;
//---
string TimeFrame         = "current time frame";
int    HalfLength        = 56;
int    Price             = PRICE_CLOSE;
double ATRMultiplier     = 2.0;
int    ATRPeriod         = 100;
bool   Interpolate       = true;
double TrendThreshold    = 0.5;
bool   Distances         = false;
//---
int RSI_Period           = 13;         //8-25
int RSI_Price            = MODE_CLOSE;           //0-6
int Volatility_Band      = 34;    //20-40
int RSI_Price_Line       = 2;      
int RSI_Price_Type       = MODE_SMA;      //0-3
int Trade_Signal_Line    = 7;   
int Trade_Signal_Type    = MODE_SMA;   //0-3
bool UseAlerts           = false;
//===============================================
int start()
{
   timestart=GetTickCount();
   for (int i=0;i<N;i++) 
   {  
   PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, 
                        ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0);
   PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, 
                       ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0);
   TDIHigh = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, 
                      RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, UseAlerts, 1, 0);
   TDILow = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, 
                     RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 3, 0);
   RSIPriceLine = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, 
                           RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 4, 0);
   TradeSignalLine = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, 
                              RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 5, 0);
   }
   timestop=GetTickCount();
   //---
   Comment(" Calculation ",N," times was =  ",timestop-timestart," millisec \n",
           " One iteration was = ",(timestop-timestart)/(N-1)," millisec");
   return(0);
}
//---
Dateien:
testing_1.zip  4 kb
 
artmedia70:

Und wo war die Indikatorlinie zum Zeitpunkt des Verkaufsschlusses?

Alles ist so, wie es auf dem Bildschirmfoto zu sehen ist. Der Kanal hatte keine Zeit, sich neu zu zeichnen.
 
paladin80, Ihr Skript hat meinen Computer zweimal heruntergefahren!