[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 608

 
artmedia70:
Wie werden Sie entscheiden, ob es sich um einen Pullback oder eine Umkehrung handelt? Oder werden Sie bei jedem Rückschlag zwei Positionen eröffnen? Es ist eine Pleite...

Zuerst möchte ich, dass es funktioniert, und dann möchte ich den EA im Tester ausführen, um die Größe des lim-Parameters zu finden.
 
Hallo zusammen, ich versuche, ein Programm zu erstellen, und ich bin mit

Ich kann mir nicht erklären, warum es nicht funktioniert.

Ich kann es erklären :-)

Ich möchte eine Linie erstellen, die sozusagen je nach Trend die Farbe ändert (primitiver Indikator)

Es scheint sich zu ändern, aber es gibt Lücken, als ob er einen Balken in der Berechnung auslässt

Was ist mein Fehler?



//--------------------------------------------------------------------
#property indicator_chart_window
#Eigenschaft indicator_buffers 2
#property indicator_color1 Blue // Farbe der ersten Zeile
#property indicator_color2 Rot // Farbe der zweiten Zeile

double Buf_0[],Buf_1[]; //Öffnen von Indikator-Arrays
//--------------------------------------------------------------------
int init() // Spezielle Funktion init()
{
//--------------------------------------------------------------------
SetIndexBuffer(0,Buf_0); // Zuweisung eines Arrays an den Puffer
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);// Linienstil
//--------------------------------------------------------------------
SetIndexPuffer(1,Buf_1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
//--------------------------------------------------------------------
Rückkehr;
}
//--------------------------------------------------------------------
int start()
{
int i,gezählte_Takte;
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Anzahl der berechneten Balken
i=Bars-Counted_bars-1; // Index des ersten nicht gezählten Balkens
while(i>=0) // Durchlaufen der nicht gezählten Takte
{
double a=(High[i]+Low[i])/2;
double b=(High[i+1]+Low[i+1])/2;
if (a=>b) Buf_0[i]=a; //Farbe ändern oder nicht ändern
if (a<b) Buf_1[i]=a;
i--;
}
//--------------------------------------------------------------------
Rückkehr;
}
//--------------------------------------------------------------------
 
Hallo!!! Können Sie mir bitte sagen, wie ich das im Code umsetzen kann? Ich sollte 3 (Beträge werden separat eingestellt) unrentable Sl-Aufträge haben, um zwei Kauf- und Verkaufsaufträge zu eröffnen. Der Abstand zwischen ihnen sollte in einer separaten Variablen festgelegt werden.
 
Hallo, ich möchte die 'historische Intraday-ATR' berechnen (d.h. sagen wir den Durchschnitt für jede Stunde über die letzten 30 Tage) und möchte glauben, dass es so etwas bereits geben sollte - vielleicht heißt der Indikator anders oder können die vorhandenen irgendwie angepasst werden? wenn jemand weiß, bitte beraten!
 
zelek:

Ich würde es gerne zuerst zum Laufen bringen und dann den "EA" im Tester laufen lassen, um den lim-Parameter zu bestimmen.
Und Sie können es mit ATR verbinden. Es wird Dynamik geben und keine Notwendigkeit zur Anpassung - alles wird von der Marktvolatilität abhängen
 
Top2n:
Hallo!!! Können Sie mir bitte sagen, wie ich das im Code umsetzen kann? Ich sollte 3 (Gesamtzahl wird separat eingestellt) Verlustaufträge haben sl sollte zwei Kauf- und Verkaufsaufträge eröffnen. Der Abstand zwischen ihnen sollte in einer separaten Variablen festgelegt werden.


Wir setzen eine Variable gleich Null und erhöhen sie um 1, wenn die Position verliert. Sobald der Wert den gewünschten Wert erreicht, werden die erforderlichen Positionen eröffnet.
Das ist die Logik...
 

Können Sie mir sagen, welche Roboter für 15 Tage arbeiten und welche sich nicht im Gewinn von Cheetah 2.5 unterscheiden?

Bitte geben Sie mir einen Link oder eine Website usw.

Vielen Dank im Voraus für Ihre Zeit

 
artmedia70:
Und Sie schließen es an ATR an. Sie wird dynamisch sein und muss nicht angepasst werden - sie wird von der Marktvolatilität abhängen.


Bitte werfen Sie einen Blick auf den Code, ich verstehe nicht, warum die Aufträge nicht geschlossen werden

extern int     lim=20;             // Дистанция возврата курса

/
int init()
  {
 

   return(0);
  }
/
int deinit()
  {
//----
   
//----
   return(0);
  }

int start()
  {
 
  double 
   max, min;                                            
  int b, s;
   if (Bid>max) max=Bid; 
    if (Ask<min) min=Ask;  
       if (OrdersTotal()>0)
       {                                   
           if ((max-Bid)>=lim*Point) 
           {                   
          OrderSelect(b,SELECT_BY_TICKET);                                  
          b=OrderClose(OrderTicket(),0.1,Bid,3,Blue);
          }
          
          
          if ((Ask-min)>=lim*Point)  
          {         
      OrderSelect(s,SELECT_BY_TICKET); 
      s=OrderClose(OrderTicket(),0.1,Ask,3,Red);
         }
}
else
{
  if (OrdersTotal()<1)
  {
 b=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",5,0);
      
 s=OrderSend(Symbol(),OP_SELL,0.1,Bid,5,0,0,"",5,0); 
    }                           
   }
         return;

   return(0);
  }
 
zelek:


Bitte werfen Sie einen Blick auf den Code, ich verstehe nicht, warum die Aufträge nicht geschlossen werden

interessante Struktur:
wenn (Gebot>max) max=Gebot;
if (Ask<min) min=Ask;

Sind Sie sicher, dass, wenn der Preis steigt, dann wenn ((max-Bid)>=lim*Point) ausgeführt wird?

Ich würde folgendes tun - im init()-Abschnitt würde ich mir zum Beispiel den Preis merken, zu dem der EA startet (er darf nicht im init sein) - und dann würde ich von diesem Preis aus tanzen.

Wenn Sie einen Expert Advisor haben, würden Sie sich den Preis merken, aber wie es scheint, werden Sie Ihre Min und Max durch Ticks teilen und dann Ihre Aufträge in diesem Korridor steuern


 
Logischerweise sollte es funktionieren, aber warum nicht, können Sie das erklären?
Grund der Beschwerde: