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

 
Wenn Sie alle Dateien mit der Erweiterung *.ex4 im Ordner Indicators löschen
- Kann ich dann alle verfügbaren *.mq4-Dateien in einem Durchgang kompilieren?
(d. h. nicht jeder für sich, sondern alle zusammen)
Ich danke Ihnen!
 
chief2000:
Wenn Sie alle Dateien mit der Erweiterung *.ex4 im Ordner Indicators löschen
- Kann ich dann alle verfügbaren *.mq4-Dateien in einem Durchgang kompilieren?
(d. h. nicht jeder für sich, sondern alle zusammen)
Ich danke Ihnen!

Schließen Sie das Terminal und öffnen Sie es wieder, und die Dateien kompilieren sich von selbst.
 
fore-x:
Schließen Sie das Terminal, öffnen Sie es wieder und es kompiliert sich selbst.

Damit habe ich gerechnet, aber nur ein paar Indikatoren zusammengestellt und sonst nichts.

 

Guten Tag, wie schreibt man einen Standard-Berater für einen anderen Zeitraum. Legen Sie diesen Indikator z.B. auf den 1-Stunden-Chart, der dann den 4-Stunden-Indikator anzeigt.

пытался //+------------------------------------------------------------------+
//| um 4 uhr.mq4 |
//| Copyright © 2012, MetaQuotes Software Corp.
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#Eigenschaftslink "https://www.metaquotes.net/"

#property indicator_chart_window
#Eigenschaft indicator_buffers 3
#property indicator_color1 LightSeaGreen
#property indicator_color2 LightSeaGreen
#property indicator_color3 LightSeaGreen
//---- Indikatorparameter
extern int BandsPeriod=20;
extern inttern BandsShift=0;
extern double BandsDeviations=2.0;
//---- Puffer
double MovingBuffer[];
double UpperBuffer[];
double LowerBuffer[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
//---- Indikatoren
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MovingBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexPuffer(1,ObererPuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,LowerBuffer);
//----
SetIndexDrawBegin(0,BandsPeriod+BandsShift);
SetIndexDrawBegin(1,BandsPeriod+BandsShift);
SetIndexDrawBegin(2,BandsPeriod+BandsShift);
//----
zurück(0);
}
//+------------------------------------------------------------------+
Bollinger-Bänder //| Bollinger-Bänder |
//+------------------------------------------------------------------+
int start()
{
int i,k,counted_bars=IndicatorCounted();
doppelte Abweichung;
double sum,oldval,newres;
int B=iBars( NULL,PERIOD_H4);
double C=iClose(NULL,PERIOD_H4,0);
//----
if(B <=BandsPeriod) return(0);
//---- anfänglicher Nullpunkt
if(gezählte_Balken<1)
for(i=1;i<=BandsPeriod;i++)
{
MovingBuffer[B-i]=EMPTY_VALUE;
ObererPuffer[B-i]=EMPTY_VALUE;
UntererPuffer[B-i]=EMPTY_VALUE;
}
//----
int limit=B-gezählte_Takte;
if(counted_bars>0) limit++;
for(i=0; i<limit; i++)
MovingBuffer[i]=iMA(NULL,PERIOD_H4,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
i=B-BandsPeriode+1;
if(gezählte_Balken>BandsPeriode-1) i=B-gezählte_Balken-1;
while(i>=0)
{
Summe=0,0;
k=i+BänderPeriode-1;
oldval=MovingBuffer[i];
while(k>=i)
{
newres=C[k]-oldval;
sum+=newres*newres;
k--;
}
Abweichung=BänderAbweichungen*MathSqrt(Summe/BänderZeitraum);
UpperBuffer[i]=oldval+deviation;
LowerBuffer[i]=oldval-deviation;
i--;
}
//----
zurück(0);
}
//+------------------------------------------------------------------+

hat nicht funktioniert

diese Seite newres=C[k]-oldval;- '[' - unerwartetes Token

Der Bollinger Bands Indikator.

 
Ich habe versucht, das Tutorial zu verwenden, um eine Operation nach der Zeit zu machen, scheint alles richtig zu sein, aber der Expert Advisor ist nicht aktiv, zum Beispiel, ich brauche, um die Funktion um 12.00 Uhr laufen

extern double Time_Cls=12.00;

int start()
{
int Cur_Hour=Hour();
double Cur_Min =Minute();
double Cur_time=Cur_Hour + Cur_Min100;
if (Cur_time==Time_Cls)
//meine Funktion
Rückkehr;
}
 
audiomoroz:

Ich versuche, eine zeitbasierte Operation aus dem Tutorial zu machen, und alles scheint richtig, aber der Expert Advisor ist nicht aktiv, zum Beispiel sollte die Funktion um 12.00 Uhr gestartet werden;


if (Cur_time==Time_Cls)
//meine Funktion
Rückkehr;
}
Denn das Auslösen der Algorithmusausführung durch einen Timer oder das Erfassen des Eintreffens eines Ticks mit Millisekundengenauigkeit sind unterschiedliche Konzepte.
 

Kameraden,

Mein Strategietester auf dem gleichen Zeitintervall (01.05.2011 - 27.01.2012), dem Währungspaar EURUSD, auf stündlichen Balken (H1), von einer Brokerfirma (Alpari) und dem gleichen Expert Advisor, aber auf verschiedenen Computern (Laptop, Desktop) zeigt entgegengesetzte Ergebnisse! Auf dem PC - $2000, auf dem Laptop +3000. Und dort, und dort für 2-3 mal getestet.

Bitte teilen Sie mir die Ursache mit und was zu tun ist und / oder geben Sie mir einen Link, wo das zum Thema nachgelesen werden kann.

 
chief2000:

Das hatte ich mir erhofft, aber es wurden nur ein paar Indikatoren zusammengestellt und sonst nichts.

Es ist notwendig, die Datei mqlcache.dat vorher aus dem Ordner mit den Indikatoren zu löschen.
 
Zhunko:
Zuvor müssen Sie die Datei mqlcache.dat aus dem Ordner mit den Indikatoren löschen.

Ihre Lösung hat funktioniert!

Herzlichen Dank!

 

Ich habe eine Frage -
Ist es möglich, aus dem Code des benutzerdefinierten Indikators zu erfahren, ob das Fenster, in dem er ausgeführt wird, gerade aktiv ist oder nicht?
Wenn zum Beispiel derselbe Indikator in zwei Fenstern läuft, muss er nur in dem Fenster funktionieren, in dem das Diagramm aktiv ist, und im zweiten Fenster inaktiv sein.

Ich danke Ihnen!