[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 185
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Wenn du es in Code machen könntest, ich habe mir den Kopf zerbrochen :)
Was könnte das Problem sein? Der Indikator zeigte mehrere Stücke während des Tests und der EA looped in was könnte das Problem mit dem Indikator sein?
In welcher Variablen wird der Wert von OsMA gespeichert?
//+------------------------------------------------------------------+
//| OsMA.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net/"
//---- Indikatoreinstellungen
#property indicator_separate_window
#Eigenschaft indicator_buffers 1
#Eigenschaft indicator_color1 Silber
#Eigenschaft indicator_width1 2
//---- Indikatorparameter
extern int FastEMA=12;
extern inttern SlowEMA=26;
extern inttern SignalSMA=9;
//---- Indikatorpuffer
double OsmaBuffer[];
double MacdBuffer[];;
double SignalPuffer[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
//---- 2 zusätzliche Puffer werden zum Zählen verwendet.
IndicatorBuffers(3);
//---- Zeichnungseinstellungen
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexDrawBegin(0,SignalSMA);
IndicatorDigits(Ziffern+2);
//---- 3 Indikatorpuffer-Zuordnung
SetIndexPuffer(0,OsmaPuffer);
SetIndexPuffer(1,MacdBuffer);
SetIndexBuffer(2,SignalBuffer);
//---- Name für das Datenfenster und die Bezeichnung des Unterfensters des Indikators
IndicatorShortName("OsMA("+FastEMA+", "+SlowEMA+", "+SignalSMA+")");
//---- Initialisierung abgeschlossen
zurück(0);
}
//+------------------------------------------------------------------+
//| Gleitender Durchschnitt des Oszillators |
//+------------------------------------------------------------------+
int start()
{
int-Grenze;
int counted_bars=IndicatorCounted();
//---- zuletzt gezählte Takt wird nachgezählt
if(gezählte_Balken>0) gezählte_Balken--;
limit=Balken-gezählt_Balken;
//---- macd gezählt im 1. zusätzlichen Puffer
for(int i=0; i<limit; i++)
MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- Signalleitung im 2. zusätzlichen Puffer gezählt
for(i=0; i<limit; i++)
SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- Hauptschleife
for(i=0; i<limit; i++)
OsmaPuffer[i]=MacdBuffer[i]-SignalPuffer[i];
//---- erledigt
zurück(0);
}
//+------------------------------------------------------------------+
Diese Variante wird
Herzlichen Dank! Obwohl ich mich noch nie mit Funktionen beschäftigt habe, muss ich jetzt herausfinden, wie ich sie aufrufe, die Variablenwerte an sie übergebe und die Werte zurückbekomme. Wenn ich den Mechanismus richtig verstehe.
In welcher Variablen wird der Wert von OsMA gespeichert?
Ist er nicht im Puffer?
>> aber ist es nicht im Puffer?
>> Welcher Puffer?
Welcher ist es?
OsmaPuffer[]
>> welche?
дабавте перед
Alert("Значения MacdBuffer[i]="MacdBuffer[i]);
Alert("Значения SignalBuffer[i]="SignalBuffer[i]);
Alert("Значения OSMA ="OsmaBuffer[i]);
return(0);
}
die Werte müssen nur normalisiert werden
Hallo.
Warum wird der Stopp bei Kaufpositionen nicht übertragen? Bei Verkaufspositionen funktioniert alles.
if(OrdersTotal()>0)
{
if(Bid==buy||Bid==busell)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
}
return(0);
}
Was könnte das Problem sein? Der Indikator zeigte mehrere Stücke während des Tests, und die EA Schleife in was könnte das Problem des Indikators sein?
Falsch eingestellte Parameter (nach Nummer oder Typ) in der EA.
Alternativ können Sie auch alle String-Parameter aus dem Indikator entfernen.