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

 

Theoretische Fragen:

1. Wie schreibt man eine Funktion (wo kann man darüber lesen)?

2. Mit welcher Erweiterung soll sie kompiliert und gespeichert werden?

3. In welchem Ordner speichere ich sie?

4. Muss ich ein separates Skript schreiben, um es auszuführen (oder wird der Expert Advisor selbst ausgeführt)?

Vielen Dank an diejenigen, die meine Frage nicht weitergegeben haben!))

 

Hallo, der Indikator zeichnet keine neuen Werte, erst wenn ich ihn wieder auf den Chart lege, aktualisiert er die Werte.

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 White

//---- input parameters

extern int CountBars=3500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0, val1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,218);
   SetIndexBuffer(1, val2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   for(int i=3; i< limit; i++)
{ 

	F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
	F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
	F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
	F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
	F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
	F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
	val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
	val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }

Wenn Sie den Code reparieren können!

Dankeschön

 
Kostay писал(а) >>

Hallo, der Indikator zeichnet keine neuen Werte, erst wenn ich ihn wieder auf den Chart lege, aktualisiert er die Werte.

Wenn Sie den Code reparieren können!

Danke

int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   if ( limit<3) limit+=3;
   for(int i=3; i< limit; i++)
{ 

F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }
 

Vinin, danke für die Hilfe. Der Indikator wurde korrigiert und in die Visualisierung aufgenommen, aber er zeichnet immer noch keine neuen Werte!!!!

Ich verstehe gar nichts.

 
Kostay писал(а) >>

Vinin, danke für die Hilfe. Ich habe den Indikator in die Visualisierung gebracht, aber er zeichnet immer noch keine neuen Werte!!!!

Ich kann nichts verstehen.

Ich vermute, dass die Anzahl der aktualisierten Balken immer kleiner als drei ist und die Schleifenbedingung nie erfüllt ist

for(int i=3; i< Limit; i++)
denn die neuen Barren kommen nacheinander an. Vielleicht so etwas wie

for(int i=3; i< limit+3; i++)

 
Kostay писал(а) >>

Vinin, danke für die Hilfe. Der Indikator wurde korrigiert und in die Visualisierung aufgenommen, aber er zeichnet immer noch keine neuen Werte!!!!

Ich verstehe gar nichts.

Das ist die Art und Weise, wie der Mehrwährungsindikator bei der Visualisierung nicht funktionieren soll. Er übernimmt Daten aus anderen Zeitrahmen des aktuellen Charts. Für diese Art von Arbeit müssen Sie eine Zeitsynchronisation durchführen.

 
Vinin >> :

Dies ist nicht die Art und Weise, wie das Mehrwährungswerkzeug auf der Visualisierung funktionieren soll. Er übernimmt Daten aus anderen Zeitrahmen des aktuellen Charts. Für diese Art von Arbeit muss eine Zeitsynchronisation durchgeführt werden.

Jetzt verstehe ich. Vielen Dank!!!!!!!!!!!!

 

Hallo!

Ist es möglich, MT4-Einstellungen mit einem EA zu ändern, z. B. die Losgröße?

Wenn ja, bitte mitteilen!

 
vikon >> :

Hallo!

Ist es möglich, MT4-Einstellungen mit einem EA zu ändern, z. B. die Losgröße?

Wenn ja, beraten Sie!

Die Losgröße ist für die MT4-Einstellungen nicht relevant. :) Sie wird als Parameter der Funktion OrderSend angegeben, wenn eine Anfrage zur Eröffnung einer Bestellung gesendet wird.

 
Everlost >> :

Die Losgröße hat nichts mit den MT4-Einstellungen zu tun. :) Sie wird als Parameter der Funktion OrderSend angegeben, wenn eine Anfrage zur Eröffnung einer Bestellung gesendet wird.

Ich weiß, wie man eine Bestellung mit einem Code öffnet.

Ich muss ein halbautomatisches System mit Verwaltungseigenschaften erstellen.

Ich eröffne eine Position manuell, aber die Losgröße wird vom EA überwacht und ändert sie standardmäßig in MT (Service/Einstellungen/Handel/Vorgabevolumen)

Ist es möglich, dies zu tun?