Ich muss den minimalen (wie im Bild gezeigt) und maximalen MACD-Indikatorwert für eine bestimmte Anzahl von Balken bestimmen. (in diesem Fall 20).
Ich fand einen Code, der dies für Preis tut, und dummerweise versucht, HIGH LOW mit MACD zu ersetzen. aber nichts funktioniert....
Kopieren Sie die benötigten MACD-Daten in das Array massMACD[20] und suchen Sie die minimalen ArrayMinimum(massMACD); und maximalen ArrayMaximum(massMACD); Werte in diesem Array.
ALXIMIKS: Am Ende des benutzerdefinierten macdac einfügen.
P.S. Obwohl es wahrer und besser ist:
wenn ja, funktioniert es nicht....
double MACDBuffer[];
double SignalBuffer[];
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recountedif(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st bufferfor(int i=0; i<limit; i++)
MACDBuffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd bufferfor(i=0; i<limit; i++)
SignalBuffer[i]=iMAOnArray(MACDBuffer,Bars,9,0,MODE_SMA,i);
//t=MACDBuffer[0];//Print(t*10000);//---- doneint max,min;
staticdouble maxlast,minlast;
max = ArrayMaximum(MACDBuffer,20,1);
min = ArrayMinimum(MACDBuffer,20,1);
if (MACDBuffer[max]!=maxlast){
maxlast=MACDBuffer[max];
ObjectDelete ("highline");
ObjectCreate ("highline",1,WindowOnDropped( ) ,0,MACDBuffer[max],0,0);
}
if (MACDBuffer[min]!=minlast){
minlast=MACDBuffer[min];
ObjectDelete ("lowline");
ObjectCreate ("lowline",1,WindowOnDropped( ) ,0,MACDBuffer[min],0,0);
Print(min,max);
}
return(0);
}
artmedia70: Kopieren Sie die gewünschten MACD-Daten in das Array massMACD[20] und suchen Sie in diesem Array minimum ArrayMinimum(massMACD); und das Maximum ArrayMaximum(massMACD); Werte.
gut.
Die Frage ist nur, WIE werden die Daten in das Array kopiert?
Die Frage ist nur, WIE werden die Daten in das Array kopiert?
oder so?
Mann, das ist doch das Gleiche, nur nicht die Tatsache, dass der Aufruf von iMACD genauso viele Ressourcen benötigt wie sein Quellcode.
iMACD und alle iCostums geben den Wert eines Array-Mitglieds zurück, so dass Sie eine Schleife durchlaufen und die Werte in einem Puffer für weitere Operationen sammeln müssen.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ich muss den minimalen (wie im Bild gezeigt) und maximalen MACD-Indikatorwert für eine bestimmte Anzahl von Balken bestimmen. (in diesem Fall 20).
Ich fand einen Code, der dies für Preis tut, und dummerweise versucht, HIGH LOW mit MACD zu ersetzen. aber nichts funktioniert....
Kopieren Sie die benötigten MACD-Daten in das Array massMACD[20] und suchen Sie die minimalen ArrayMinimum(massMACD); und
maximalen ArrayMaximum(massMACD); Werte in diesem Array.
Am Ende des benutzerdefinierten macdac einfügen.
P.S. Obwohl es wahrer und besser ist:
wenn ja, funktioniert es nicht....
Kopieren Sie die gewünschten MACD-Daten in das Array massMACD[20] und suchen Sie in diesem Array
minimum ArrayMinimum(massMACD); und
das Maximum ArrayMaximum(massMACD); Werte.
gut.
Die Frage ist nur, WIE werden die Daten in das Array kopiert?
oder so?
wenn ja, dann funktioniert es nicht....
Am Ende des benutzerdefinierten MACD:
Navigator ==> Eigene Indikatoren ==> MACD ==> PCM (rechte Maustaste) ==> Bearbeiten ==>
großartig.
Die Frage ist nur, WIE werden die Daten in das Array kopiert?
oder so?
Mann, das ist doch das Gleiche, nur nicht die Tatsache, dass der Aufruf von iMACD genauso viele Ressourcen benötigt wie sein Quellcode.
iMACD und alle iCostums geben den Wert eines Array-Mitglieds zurück, so dass Sie eine Schleife durchlaufen und die Werte in einem Puffer für weitere Operationen sammeln müssen.
nicht wahr, weil man nur einen Wert erhält und 20 braucht, also eine Schleife verwenden:
Am Ende des benutzerdefinierten MACD:
Navigator ==> Eigene Indikatoren ==> MACD ==> PCM (rechte Maustaste) ==> Bearbeiten ==>
es funktioniert :)
Nur tut es sicherlich nicht das, was ich brauche, aber ich werde versuchen, es als Beispiel zu verwenden.
danke
Lassen Sie uns von vorne beginnen.
ist dies genug, um 20 (19 was auch immer) Indikatorwerte in ein Array zu kopieren?
Lassen Sie uns von vorne beginnen.
Reicht es aus, 20 (19 was auch immer) Indikatorwerte in ein Array zu kopieren?
Um es klar zu sagen: Wenn jemand etwas braucht und ich etwas weiß, dann versuche ich gerne, dieser Person zu helfen,
aber ich werde ihm nicht nach jedem Furz den Arsch abwischen.
Ja, es ist genug, wenn Sie statische Array double MACDBuffer[20] und nicht genug, wenn Sie dynamische Array double MACDBuffer[].
artmedia70 hat Ihnen das gesagt .
Um es klar zu sagen: Wenn jemand etwas braucht und ich etwas weiß, versuche ich gerne, dieser Person zu helfen,
Aber ich werde ihm nicht nach jedem Furz den Hintern abwischen.
Ja, es ist genug, wenn Sie statische Array double MACDBuffer[20] und nicht genug, wenn Sie dynamische Array double MACDBuffer[].
artmedia70 hat Ihnen das gesagt .
OK, machen wir es statisch.
warum wird 19__0 gedruckt?
Ok, lass es statisch sein.
warum wird 19__0 gedruckt?
weil es richtig funktioniert. Sonst noch etwas?