[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 64

 
Warum nimmt der ROC-Indikator nicht tatsächlich einen Wert kleiner als 0 an, sondern nur grafisch?
 
vilard:
Warum nimmt der ROC-Indikator nicht tatsächlich einen Wert von weniger als "0" an, sondern nur grafisch?

Welches ROC? Das hier?
 
Roman.:

Welches ROC? Das hier?

https://www.mql5.com/ru/code/9340
 

Hallo zusammen. Leute, ich habe eine Bedingung zu finden Maximum: aber innerhalb eines Korridors.

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] &&& Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

es funktioniert nicht.
wenn ich Korridor entferne Alles ok:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

Wo könnte das Problem liegen?

Ich verstehe, dass max<1000 erhöht werden sollte, ich habe es versucht, aber es hat nicht funktioniert.

Hier ist ein Beispiel in Zahlen:

1. 4100<1,4150<1,4200 aber 1,4150 muss fallen

innerhalb von low_level_s(1.4145), high_level_s(1.4155) . In diesem Beispiel war es so.

Aber wenn nicht, nehmen wir an, dass es 1,4160 ist, werden wir weiter suchen. Das Problem ist, dass dieser Höchststand z. B. 3 Jahre zurückliegen kann und das Programm ihn nicht finden kann.

Was ist zu tun? Vielleicht ist es möglich, das Angebotsarchiv zu erhalten?

 
vilard:

https://www.mql5.com/ru/code/9340

Schauen Sie sich meinen Link an - es handelt sich um eine Basisvariante mit Beschreibung des Kursindikators und des darauf basierenden EA (iCustom()-Indikators). Wenn Sie andere Handelsbedingungen für den Markteintritt haben, bearbeiten Sie die bestehenden und machen Sie weiter, alles testet gut, jetzt selbst, gerade fertig getestet es als eine Variante derchanalysis (Markteintrittsfilter), außerdem gibt es eine Beschreibung und alles andere... Passen Sie es an Ihre Bedingungen an, und das war's. Der Expert Advisor ist da.
 
Roman.:

Schauen Sie sich meinen Link an - es ist eine Basisvariante mit Beschreibung des Kursindikators + darauf basierenden Expert Advisor (iCustom() Indikator eignet sich). Wenn Sie andere Handelsbedingungen für den Markteintritt haben, bearbeiten Sie die bestehenden und machen Sie weiter, alles ist gut getestet, jetzt selbst, gerade fertig getestet als eine Variante von tehanalysis (Markteintrittsfilter), außerdem gibt es eine Beschreibung und alles andere... Passen Sie es an Ihre Bedingungen an, und das war's. Der Expert Advisor ist da.

Danke
 

Uff!!! Der Computer ist abgestürzt!!! Es reagiert mit einer Verzögerung, öffnet falsche Fenster, löscht nicht, hängt sich auf... Ich habe das Gerät 20 Mal neu gestartet und den Stecker gezogen.

Ich danke Ihnen.

Vielleicht ist es ein Virus.

Der Benutzerordner dort ist fünfundvierzigtausend Megabyte groß, mein Gott! Und die Summe der Ordner, die er enthält, die Summe dessen, was er enthält, wenn man auf die Eigenschaften des Ordners klickt, ergibt nicht einmal ein Dreißigstel davon.

Es ist nicht gelöscht!!! Es geht nur um Entschleunigung, nicht um Fluchen.

Nichts hochgeladen, nichts gelöscht, hatte eine harte Zeit, Bilder zu löschen und dann ein Ninja-Film, der Raum fügte einen Rand wie unbedeutend, ein Millimeter rot.

 
Ich habe einen Trailing Stop an diesen EA angehängt. Kompiliert bei 0 und 0, aber in der Testversion
Trailinstop funktioniert nicht. Bitte teilen Sie mir mit, wie ich es richtig eingeben muss

Code für die Endsperre.

extern double  lots    = 1,

               No_Loss              = 7,     //перевод в безубыток
               TrailingStop         = 12;     //тралл  

extern string P_Performanc0= "-- 1 --";

extern int TP1BUY   = 222,  
           SL1BUY   = 99999;   

extern string P_Performanc1= "-- 2 --";  

extern int TP2SELL  = 222,
           SL2SELL  = 99999;
           
extern string P_Performanc2= "-- 3 --";         
           
extern int TP3BUY   = 222,         
           SL3BUY   = 99999;

extern string P_Performanc3= "-- 4 --";   
           
extern int TP4SELL  = 222,
           SL4SELL  = 99999;          

extern string P_Performanc4= "-- 5 --";        
           
extern int TP5BUY   = 222,
           SL5BUY   = 99999;
           
extern string P_Performanc5= "-- 6 --";              
           
extern int TP6SELL  = 222,        
           SL6SELL  = 99999;
           
extern string P_Performanc6= "-- 7 --";              
           
extern int TP7BUY   = 222,
           SL7BUY   = 99999; 
           
extern string P_Performanc7= "-- 8 --";              
           
extern int TP8SELL  = 222,
           SL8SELL  = 99999;                   

           
int        last_bar = 0;

int start()
{
   if (TrailingStop!=0) TrailingStop(0,TrailingStop);
   if (No_Loss!=0)      TrailingStop(1,No_Loss);
   string Name;
   //-----------------------------------------------------------------------   
double StopLevel =MarketInfo(Symbol(),MODE_STOPLEVEL);  // текущий уровень стопов  
   if (last_bar == Bars) return(0);
   last_bar = Bars;
   if (OrdersTotal() == 0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL1BUY*Point,Ask+TP1BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL3BUY*Point,Ask+TP3BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL5BUY*Point,Ask+TP5BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL7BUY*Point,Ask+TP7BUY*Point);

OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL2SELL*Point,Bid-TP2SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL4SELL*Point,Bid-TP4SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL6SELL*Point,Bid-TP6SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL8SELL*Point,Bid-TP8SELL*Point);
   } 
   return(0);
}
void TrailingStop(int NL, int tral)
{
   int tip,Ticket;
   bool error;
   double StLo,OSL,OOP;
   for (int i=0; i<OrdersTotal(); i++) 
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  tip = OrderType();
         if (tip<8 && OrderSymbol()==Symbol())
         {
            OSL   = OrderStopLoss();
            OOP   = OrderOpenPrice();
            Ticket = OrderTicket();
            if (tip==OP_BUY)             
            {
               if (NL==1 && OSL>OOP) continue;
               StLo = NormalizeDouble(Bid - tral*Point,Digits); 
               if (StLo > OSL && StLo > OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (NL==1 && (OSL<OOP&&OSL!=0)) continue;
               StLo = NormalizeDouble(Ask + tral*Point,Digits);
               if ((StLo < OSL||OSL==0) && StLo < OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            } 
         }
      }
   }
}
//--------------------------------------------------------------------
 
Bitte sagen Sie mir, ob es möglich ist, verschiedene Linien desselben Indikators in verschiedenen Unterfenstern des Charts anzuzeigen. Ich danke Ihnen.
 
Öffnen Sie den Indikator in zwei Fenstern und setzen Sie die unerwünschte Linie auf die Hintergrundfarbe.