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

 

Ich brauche den Indikator , um Pfeile auf dem Tagesdiagramm zu zeichnen. Ich gehe davon aus, dass das Problem in der Verwendung von 15-Minuten-EMAs liegt, da alles mit den 15-Minuten-EMAs funktioniert. Ist es möglich, einen Indikator zu erstellen, der aus dem 15-Minuten-Zeitrahmen berechnet wird und Pfeile auf dem Tageschart zeichnet?

Nachstehend finden Sie den Code selbst:

#property copyright ""
#property link      ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Red

//--- input parameters

//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,217);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    signal_1,
    signal_2,
    MA_1_t,                                                 
    MA_2_t;
 
   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   
   for(int i=0;i<limit;i++)
   {
      MA_1_t=iMA(NULL,PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,i+0);  
      MA_2_t=iMA(NULL,PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,i+1);  
      signal_1 = (условие);
      signal_2 = (условие);
      if (signal_1 >= определенное число)
      ExtMapBuffer1[i]=High[i]+5*Point;
      else
         ExtMapBuffer1[i]=0.0;
      if(signal_2 >= определенное число)
         ExtMapBuffer2[i]=Low[i]-5*Point;         
      else
         ExtMapBuffer2[i]=0.0; 
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
satorifx:


dist = MathAbs((NormalizeDouble(Bid,Digits)-
NormalizeDouble(ObjectGetValueByShift(TrendLineName,0),Digits))*MathPow(10,Digits));

Der Code findet den Abstand des aktuellen Kursniveaus zum Trend durch TrendLineName. Aber es gibt ein Problem: Offenbar wird der Trend zwischen den Hälften ungenau übertragen, und deshalb ist der Abstand zum Kurs für verschiedene Hälften recht unterschiedlich. Wie kann dieses Problem umgangen werden? Auch wenn die Trendlinie nur auf H1 angezeigt wird, sollte der berechnete Abstand zum Eröffnungszeitpunkt W1 (eigentlich zu jedem Eröffnungszeitpunkt) im Idealfall gleich sein.


Im Zusammenhang mit der Frage im obigen Zitat eine weitere Frage: Wie simuliere ich einen anderen Zeitrahmen als den offenen im Diagramm? D.h. soll ich z.B. bei geöffnetem D1 mit M30 rechnen?
 
Ich habe im Internet gesucht und etwas gefunden, aber ich habe es ausprobiert und es hat einfach nicht funktioniert! Helfen Sie mir, einen Trailing-Stop hinzuzufügen)) sollte wie folgt funktionieren - wenn der Preis nach oben / unten geht (im Gewinn) bei "X" Punkten, löst einen Trailing-Stop bei "Y" Punkten von diesem Preis und bewegt sich in profitable Richtung mit Schritt "Z". Vielen Dank an alle, die helfen))))))

//+------------------------------------------------------------------+
//| sobstvennyi_probnyi_sovetnic.mq4 |
* Antonico |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Antonico"
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
doppeltes Los=1;
extern double sl=30;
extern double tp=30;
extern double koeff=2;
int pon=1;
int vtor=0;
int sred=3;
int hetver=0;
int patn=0;


int init()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()

{ int otkrord=OrdersTotal();
if (DayOfWeek()==pon || DayOfWeek()==vtor || DayOfWeek()==sred || DayOfWeek()==hetver || DayOfWeek()==patn || DayOfWeek()==6 || DayOfWeek()==0 || otkrord >0) return(0);



if(OrdersHistoryTotal()==0)
{lot=1;}

if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))

{
wenn (AuftragGewinn()>0)
{
Los=1;
}
wenn (AuftragGewinn()<=0)
{
lot=OrderLots()*koeff; // Multiplizieren mit 2
}

}


int h=TimeHour(TimeCurrent());
int m=ZeitMinute(TimeCurrent());
int s=ZeitSekunden(TimeCurrent());
double zena0=Open[3];
double zena01=Öffnen[2];


if (h==1 && m==00 && s==01 && zena0<zena01 )

{OrderSend(Symbol(), OP_BUY,lot,Ask,3,Bid-sl*Point,Ask+tp*Point,"",0,0,Green);}





if (h==1 && m==00 && s==01 && zena0>zena01)
{OrderSend(Symbol(), OP_SELL,lot,Bid,3,Ask+sl*Point,Bid-tp*Point,"",0,0,Red);}
}


{if(OrdersHistoryTotal()==0)
{lot=1;}

if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))

{
wenn (AuftragGewinn()>0)
{
Los=1;
}
wenn (AuftragGewinn()<=0)
{
lot=OrderLots()*koeff; // Multiplizieren mit 2 nach einem Verlustgeschäft
}

}




double zena1=Open[5];
double zena11=Open[4];

if (h==3 && m==00 && s==01 && zena1>zena11)
{



OrderSend(Symbol(), OP_BUY,lot,Ask,3,Bid-sl*Point,Ask+tp*Point,"",0,0,Green);}
if (h==14 && m==00 && s==01 && zena1<zena11)
{OrderSend(Symbol(), OP_SELL,lot,Bid,3,Ask+sl*Point,Bid-tp*Point,"",0,0,Red);}

}
}

zurück(0);
}

//+------------------------------------------------------------------+
 

Können Sie mir bitte sagen, wie man ein Zeichen (eine Zeichenkette) in ASCII-Code übersetzt ?

Grob gesagt, benötigen Sie die Umkehrung von CharToStr().

 
Heroix:

Können Sie mir bitte sagen, wie man ein Zeichen (eine Zeichenkette) in ASCII-Code übersetzt ?

Grob gesagt, benötigen Sie die Umkehrung von CharToStr().


 

Guten Tag.

Hilfe ich brauche Code

aktuelles Diagramm

Wenn ein neuer Balken geöffnet wird, muss ein Auftrag eröffnet werden

Genau die neue Bar

 
sannin:

Guten Tag.

Hilfe ich brauche Code

aktuelles Diagramm

Wenn ein neuer Balken geöffnet wird, muss ein Auftrag eröffnet werden

Genau die neue Bar

Kein Problem!

Beginnen Sie mit dem Schreiben des benötigten Codes. Bei Schwierigkeiten können Sie Fragen stellen und Teile des Codes zeigen, den Sie geschrieben haben, und erfahrene Kollegen werden Ihnen zeigen, wo Sie Fehler gemacht haben.

 

Hallo zusammen.

Ich habe eine Frage. Im Tester beginnt die Woche um 00:00 Uhr, wenn wir uns zum Beispiel das Stundenchart ansehen. Es ist bekannt, dass die Devisenwoche um 20:15 Uhr GMT beginnt. Das heißt, um von einer Stunde in der Tester Stunde GMT zu bekommen, grob gesagt, prebovlyayut 20 Stunden und dividieren modulo durch 24, nicht wahr?

 
warum genau um 8.15 Uhr, wenn Ihr Broker öffnet
 
Guten Tag zusammen. Bitte raten Sie, wo man Infos zu bekommen. wie man die EA von neugierigen Blicken zu schließen und dass die EA sollte für einen bestimmten Zeitraum arbeiten und dann aufhört, nützlich zu sein, bis zum Beispiel die Einführung des Codes, um weiter zu arbeiten, so weiter. Vielen Dank im Voraus!!!
Grund der Beschwerde: