Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1941
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
Gibt es eine Möglichkeit, den Speicher zu überprüfen? Wie wird es konsumiert oder so?
Sagen wir, Sie können den Speicher beeinflussen und es werden 200 Indikatoren berechnet, aber nach einer Woche werden Sie sich fragen, warum 1000 Indikatoren nicht geladen sind... usw... Teufelskreis... Die richtigen Aufgaben stellen...
der aufgehängte Code kann nirgendwo angewendet werden... Sie müssen die Aufgaben festlegen, die erledigt werden können... Und es ist einfacher, den Code zu vermasseln... Die Indikatoren müssen schnell arbeiten, und es bleibt keine Zeit für überlange Berechnungen.
Ich wünschte, ich wüsste die Grenzen, innerhalb derer etwas geschaffen werden kann. Zumal ich überhaupt kein Programmierer bin, ich wüsste nicht, wie ich damit umgehen sollte. Nun, ich werde nach etwas zu lesen suchen
Ich wünschte, ich wüsste den Rahmen, in dem ich etwas schaffen könnte. Für einen Anfänger ist es schwer zu verstehen, zumal ich überhaupt kein Programmierer bin. OK, ich werde sehen, was ich lesen kann.
Normalerweise brauchen Sie nur eine CCI, maximal 3 :) Und Sie haben 200... Ich stimme zu, dass es schwierig ist, die Grenzen nicht zu überschreiten, man braucht Erfahrung, um die richtige, machbare Aufgabe zu stellen, die in einer angemessenen Zeit erfolgreich abgeschlossen werden kann - es ist schwierig. Wenn Sie also Ratschläge brauchen, wo Sie graben sollen, sollten Sie sich auf die Optimierung und Minimierung von Ideen konzentrieren... Zum Beispiel CCI mit Periode 20 und CCI mit Periode 21... fast das Gleiche und es macht keinen Sinn, beide zu berechnen. Je höher die Periode, desto weniger Effekt, Sie müssen eine vernünftige Zahl finden. Eine schöne Lösung funktioniert immer schnell.
Nun, eine CCI reicht normalerweise aus, höchstens 3 :) und Sie haben 200... Ich stimme mit Ihnen überein, dass es schwierig ist, innerhalb der Grenzen zu bleiben... man braucht Erfahrung, es ist schwer, die richtige, erreichbare Aufgabe zu stellen, die in einem angemessenen Zeitraum erfolgreich abgeschlossen werden kann. Wenn Sie also Ratschläge brauchen, wo Sie graben sollen, sollten Sie sich auf die Optimierung und Minimierung von Ideen konzentrieren... Zum Beispiel CCI mit Periode 20 und CCI mit Periode 21... fast das Gleiche und es macht keinen Sinn, beide zu berechnen. Je höher die Periode, desto weniger Effekt, Sie müssen eine vernünftige Zahl finden. Eine schöne Lösung funktioniert immer schnell.
Soweit ich weiß, hilft der Profiler bei der Messung des Speicherverbrauchs. Wir werden sie also optimieren). Wie dem auch sei, wenn jemand weiß, wo man darüber lesen kann, schickt mir bitte den Link...
Hallo zusammen!
Was sollte dem Code hinzugefügt werden, um den MA nicht nur nach vorne (positiver Wert), sondern auch nach hinten (negativer Wert) zu verschieben?
Hier ist der Code des Expert Advisors:
Hallo zusammen!
Was sollte dem Code hinzugefügt werden, um den MA nicht nur nach vorne (positiver Wert), sondern auch nach hinten (negativer Wert) zu verschieben?
Hier ist der Code des Expert Advisors:
Fügen Sie der Verschiebung den gewünschten negativen Wert hinzu, wobei der Wert + Verschiebung nicht kleiner als Null sein sollte.
Addieren Sie den gewünschten negativen Wert zur Verschiebung, aber stellen Sie sicher, dass der Wert + Verschiebung mindestens Null ist.
Danke, ich werde es ausprobieren.
Guten Tag.
Hilfe mit dem Code, vielleicht gibt es Beispiele.
Aufgabe:
Es gibt mehrere offene Aufträge mit unterschiedlichen Losen und in unterschiedlichen Richtungen. Einer von ihnen ist mit Gewinn begraben, nehmen wir an, es sind 20. Es gibt jedoch einen offenen Auftrag mit einem negativen Gewinn, nehmen wir an -55 mit 0,05 Lots. Ich möchte einen Teil einer negativen Order um den Betrag des Gewinns einer positiv geschlossenen Order schließen, um den Drawdown zu verringern.
Ich habe versucht, dies mit dem while-Operator zu schreiben, aber es hat nicht geklappt.
Ich danke Ihnen im Voraus.
Hallo, dieser Code ist aus dem Buch von Fedoseev. Warum wird der Indikator nicht im Fenster gezeichnet, das Log sagt, dass er läuft, keine Fehler beim Kompilieren, ein zusätzliches Fenster öffnet sich (leer), dieser Code ist aus dem Buch, bei mir ist genau das gleiche Ergebnis. Was ist los?
//+------------------------------------------------------------------+
//| 015 Symbol.mq5 |
//+------------------------------------------------------------------+
#eigentum copyright "Dmitry Fedoseev"
#property link "mailto:for-good-letter@yandex.ru"
#Eigenschaft Version "1.00"
#property indicator_separate_window
#Eigenschaft indicator_buffers 4
#property indicator_plots 1
//--- Balken zeichnen
#property indicator_label1 "bar"
#property indicator_type1 DRAW_CANDLES
#property indicator_color1 clrGray,clrBlue,clrRed
#property indicator_style1 STYLE_SOLID
#Eigenschaft indicator_width1 1
//--- Eingabeparameter
Eingabezeichenfolge symbol="";
Eingabe bool drawBars=false;
Zeichenfolge sym;
//--- Indikatorpuffer
double barBuffer1[];
double barBuffer2[];
double barBuffer3[];
double barBuffer4[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int OnInit()
{
sym=Symbol;
StringTrimLeft(sym);
StringTrimRight(sym);
if(sym==""){
sym=Symbol();
}
if(!SymbolSelect(sym,true)){
Alert("Unbekanntes Symbol ",sym);
return(INIT_FAILED);
}
if(drawBars){
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_BARS);
}
sonst{
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_CANDLES);
}
//--- Zuordnung von Indikatorpuffern
SetIndexPuffer(0,barPuffer1,INDICATOR_DATA);
SetIndexPuffer(1,barPuffer2,INDICATOR_DATA);
SetIndexPuffer(2,barPuffer3,INDICATOR_DATA);
SetIndexPuffer(3,barPuffer4,INDICATOR_DATA);
//---
return(INIT_SUCCEEDED);
}
void OnDeinit(const int r){
Kommentar(");
EventKillTimer();
}
//+------------------------------------------------------------------+
//| 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 bars=Bars(sym,Period());
if(bars==0){
Comment("Zeitrahmen bilden ",sym,"...");
EventSetTimer(1);
zurück(0);
}
int start;
if(prev_calculated==0){
Kommentar(");
EventKillTimer();
datetime tm[1];
if(CopyTime(sym,Period(),bars-1,1,tm)==-1){
zurück(0);
}
Start=0;
for(;start<rates_total;start++){
if(time[start]>=tm[0]){
Pause;
}
}
}
sonst{
start=prev_calculated-1;
}
MqlRates r[1];
for(int i=start;i<rates_total;i++){
if(CopyRates(sym,Period(),time[i],1,r)==-1){
zurück(0);
}
barBuffer1[i]=r[0].open;
barBuffer2[i]=r[0].high;
barBuffer3[i]=r[0].low;
barBuffer4[i]=r[0].close;
}
return(rates_total);
}
void OnTimer()
{
ChartSetSymbolPeriod(0,Symbol(),Period());
}
//+------------------------------------------------------------------+
Hallo, dieser Code ist aus dem Buch von Fedoseev. Warum wird der Indikator nicht im Fenster gezeichnet, das Log sagt, dass er läuft, keine Fehler beim Kompilieren, ein zusätzliches Fenster öffnet sich (leer), dieser Code ist aus dem Buch, bei mir ist genau das gleiche Ergebnis. Was ist los?
Alt s den Code einfügen.
Und wenn Sie den Induktor gießen, geben Sie dann das Werkzeug ein?