Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 592
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Bitte beraten Sie, warum das Hinzufügen der Zeichenfolge #property strict verhindert, dass Pfeile gezeichnet werden, hier ist der gesamte Code
//+------------------------------------------------------------------+
//| Oszillierender Rückblick.mq4 |
//| Copyright 2018, MetaQuotes Software Corp.
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#Eigenschaft Version "1.00"
#property indicator_separate_window
#Eigenschaft indicator_buffers 5
#Eigenschaft indicator_plots 4
//--- Plot Signalgeber
#property indicator_label1 "Signalgeber"
#property indicator_type1 DRAW_LINE
#Eigenschaft indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#Eigenschaft indicator_width1 1
//--- Plot Z
#property indicator_label2 "Z"
#property indicator_type2 DRAW_LINE
#Eigenschaft indicator_color2 clrBeige
#property indicator_style2 STYLE_DOT
#Eigenschaft indicator_width2 1
//--- plot Bay
#property indicator_label3 "Bucht"
#property indicator_type3 DRAW_ARROW
#property indicator_color3 clrLightSkyBlue
#property indicator_style3 STYLE_SOLID
#Eigenschaft indicator_width3 1
//--- plot Verkaufen
#property indicator_label4 "Verkaufen"
#property indicator_type4 DRAW_ARROW
#property indicator_color4 clrDeepPink
#property indicator_style4 STYLE_SOLID
#Eigenschaft indicator_width4 1
//--- Eingabeparameter
input int PCCI=14; // Indikatorperiode PCCI
Eingabe double KCCI=1.1; //Anpassungsfaktor
input int PMOM=14; //Periode des Momentum-Indikators
Eingabe int KMOM=1111; // Glättungsfaktor
Eingabe int PATR=14; // Indikatorzeitraum ATR
Eingabe int KATR=111111; // Glättungsfaktor
input int PFOR=14; // Periode des Forse-Indikators
Eingabe int KFOR=1111; // Glättungsfaktor
input int PTVR=12; // Periode p des TVI-Indikators
input int PTVS=12; // Periode c des TVI-Indikators
input int PTVU=5; //Periode bei TPI-Anzeige
Eingabe int KTVl=111; // Nivellierungskoeffizient
input int POSF=12; // Zeitraum des AOS-Schnellanzeigers
input int POSS=26; // Periode des AOS-Anzeigeschlitzes
input int POSZ=9; //small period of AOS indicator
input int KAOS=111111; // Glättungsfaktor
input int KAD=111; //Verschiebungsfaktor des AOS-Indikators
Eingabe double KK=2.0; // Filter für Pfeile
input int Amendment=20; //Pfeile im Indikatorfenster in verdaulicher Form einzeichnen
//--- Indikatorpuffer
double SignalerBuffer[];
double Z_Puffer[];
double BayBuffer[]; double BayBuffer[];
double SellBuffer[]; double SellBuffer[];
double PatchBuffer[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorSetInteger(INDICATOR_DIGITS,0);
SetIndexBuffer(0,SignalerBuffer);
SetIndexBuffer(1,Z_Buffer);
SetIndexBuffer(2,BayBuffer);
SetIndexPuffer(3,SellPuffer);
SetIndexPuffer(4,PatchPuffer);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexPfeil(2,241);
SetIndexPfeil(3,242);
SetIndexEmptyValue(2,0.0);
SetIndexEmptyValue(3,0.0);
IndicatorShortName("Basement signaler(" +(string) PATR + ")");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Iterationsfunktion |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &Volumen[],
const int &spread[])
{
int i , limit=rates_total-prev_calculated ;
double cci,atr,mom,forc,ao,ac,ad,tvi,osma ;
//---- setzt die Zählparameter
if(prev_calculated==0)limit--;
sonst Limit++;
//---- count
for(i=limit-1; i>=0; i--)
{
cci=iCCI(NULL,0,PCCI,PRICE_TYPICAL,i)/KCCI;
mom=(iMomentum(NULL,0,PMOM,PRICE_TYPICAL,i)-100)*KMOM ;
forc=iForce(NULL,0,PFOR,MODE_SMA,PRICE_TYPICAL,i)*KFOR;
tvi=iCustom(NULL,0, "TVI_v2",PTVR,PTVS,PTVU,4,i)*KTVl ;
osma=iOsMA(NULL,0,POSF,POSS,POSZ,PRICE_TYPICAL,i)*KAOS;
atr=iATR(NULL,0,PATR,i)*KATR;
ao=iAO(NULL,0,i)*KAOS ;
ac=iAC(NULL,0,i)*KAOS ;
ad=iAD(NULL,0,i)/KAD ;
SignalerBuffer[i]=(cci+mom+forc+tvi+osma+atr+ao+ac+ad)/9 ;
}
for(i=limit-1; i>=0; i--)
{
Z_Puffer[i] = (SignalgeberPuffer[i]+SignalgeberPuffer[i-1])/2 ;
PatchBuffer[i] = MathAbs(SignalerBuffer[i]-Z_Buffer[i]) ;
}
for(i=0; i<limit && !IsStopped(); i++)
{
if(Z_Puffer[i]>SignalerPuffer[i]&&Z_Puffer[i+1]<SignalerPuffer[i+1]&&PatchPuffer[i]>KK)
BayBuffer[i]=SignalerBuffer[i]-Ergänzung;
if(Z_Puffer[i]<SignalerPuffer[i]&&Z_Puffer[i+1]>SignalerPuffer[i+1]&&PatchPuffer[i]>KK)
Verkaufspuffer[i]=SignalgeberPuffer[i]+Änderung;
}
//--- Rückgabewert von prev_calculated für den nächsten Aufruf
return(rates_total);
}
//+------------------------------------------------------------------+
An den Verkäufer dieses Indikators.
Kann mir jemand sagen, was zu tun ist, wenn während eines EA-Tests das Kopieren von Puffern verweigert wird?
Ermitteln Sie die Ursache.
Ermitteln Sie die Ursache.
Und was könnte das sein? Liegt es an der Größe des Codes? Ich habe absichtlich alle Logik deaktiviert und nur das Kopieren des Puffers und nichts anderes übrig gelassen.
Und was könnte das sein? Liegt es an der Größe des Codes? Ich habe absichtlich alle Logik deaktiviert und nur das Kopieren des Puffers und nichts anderes übrig gelassen.
Bei der Durchführung eines Tests wird ein Fehler wegen Speichermangels angezeigt (der Test startet nicht). Wie kann man das beheben?
Nach dem Neustart des Terminals beginnt der Test, aber nach ein paar Tests ist der Speicher wieder leer.
Bei der Durchführung eines Tests wird ein Fehler wegen Speichermangels angezeigt (der Test startet nicht). Wie kann man das beheben?
Nach dem Neustart des Terminals beginnt der Test, und nach mehreren Tests geht der Speicher wieder aus.
Das Programm, das Sie testen, beansprucht Ihren gesamten Speicher. Suchen Sie darin nach Fehlern. Prüfen Sie die Protokolle "Journal" und "Expert Advisors" in der Demo (nicht im Tester) - was steht dort? Vielleicht sagt das etwas über Speicherverluste während des Zeitrahmenwechsels aus.
Ohne den Code werde ich nicht weiter raten.
Das Programm, das Sie testen, beansprucht Ihren gesamten Speicherplatz. Suchen Sie darin nach Fehlern. Schauen Sie sich die Protokolle "Log" und "Expert Advisors" in der Demo (nicht im Tester) an - was steht dort? Vielleicht sagt das etwas über Speicherverluste während des Zeitrahmenwechsels aus.
Ohne den Code würde ich nicht weiter raten.
In den Protokollen sind nach Abschluss der Tests noch viele ungelöschte Objekte vorhanden. Mehrere tausend... Ist das ein Problem?
Nach Beendigung des Tests finden sich in den Protokollen eine Reihe von erfolglosen Objekten. Mehrere tausend... Ist das das Problem?
Hier werden sie mit Sicherheit antworten können.