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
Ich bin auf der Suche nach einer Lösung, um die Algorithmen der Indikatoren auf ein Array von Preisen anzuwenden.
in MQL4 einige Indikatoren hat diese Funktion, wie zum Beispiel: iCCIOnArray, iBandsOnArray...
Aber Indikatoren wie der ADX haben keine solche Funktion.
Hat jemand eine Idee, wie ich die Indikatorberechnung auf ein vordefiniertes Array (nicht vom Kursserver) anwenden kann?[lang=pl]Wenn Sie wissen, wie gegebene Indikator ist calutaded können Sie alles machen:)
Bitte erklären Sie genauer, was genau Sie brauchen
Vielen Dank!
Grzesiek[/lang]
...
ADX verwendet den so genanntenatrue range(Max(High,PreviousClose)-Min(Low,PreviousClose) und das ist die Grundlage der ADX Berechnung
Wegen der High, Low und Close-Werte erforderlich ist, kann es nicht auf ein Array angewendet werden, Im Allgemeinen, wenn Sie sehen, dass es einen Preis erforderlich ist, dann sollte der Indikator auf ein Array anwendbar sein. Wenn es keinen Preis-Parameter gibt, dann kann er mit ziemlicher Sicherheit nicht auf ein Array angewandt werden (unter der Annahme, dass der Indikator in erster Linie mit Preisen arbeitet)
[lang=pl]Wenn Sie wissen, wie der gegebene Indikator kalutiert wird, können Sie alles machen:)
Bitte erklären Sie genauer, was genau Sie benötigen.
Vielen Dank,
Grzesiek[/lang]Vielen Dank Grzesiek.
Ich habe nach einer guten Lösung gesucht. Letztendlich ist die beste Lösung, den Indi-Code in den Experten-Code einzubetten.
Wie auch immer, wenn mir niemand einen anderen Weg zeigt, werde ich es auf diese Weise anwenden.
Haben Sie eine Quelldatei? *.ex4-Datei ist kompiliert, so dass Sie keinen Zugang zum Quellcode haben.
Mit freundlichen Grüßen
anfordern
Stern821
Probieren Sie dies aus
________________________
Einige Erklärungen: Ich habe die von Ihnen geposteten Indikatoren nicht verwendet, sondern diese erstellt (der in Ihrem Beitrag angehängte Indikator trägt meinen Namen, aber diese Version ist nicht von mir, aber das ist nicht der einzige Grund, warum ich diesen Indikator nicht verwendet habe). ...
Grüße
Mladenhallo Mladen
ist es möglich, den stc EA für einen HMA color nrp-indi und High-low trend indi anzupassen?...
ich habe einen Pseudocode geschrieben (* kann gar nicht coden... *):
************************************************************
Externals:
Lot#
Zeitraum für die HMA
???.
.....................
wiederholen:
erhalte die Zickzack-Punkt-Farbe (Bar Close);
Ermitteln der HMA-Trendfarbe (Balkenschluss);
----------------------------------------------------------------
// öffnen verkaufen
wenn letzter Zigzag-Punkt = blau && HMA-Trend = rot -> SELL-Ticket eröffnen (nur einmal pro HMA-Trendfarbe)
wenn Verkauf nicht möglich-> 3 mal wiederholen
wenn kein Erfolg Alarm & Email: couldn't open sell for symbol,TF, time;
sonst
// Kauf eröffnen
wenn letzter Zigzag-Punkt = rot && HMA Trend = blau -> BUY Ticket eröffnen (nur einmal pro HMA Trendfarbe)
wenn Kauf nicht möglich-> 3 mal erneut versuchen
wenn kein Erfolg Alarm & Email: couldn't open buy for symbol,TF, time;
-------------------------------------------------------------------
wenn HMA-Trend ( rot ) nach blau wechselt -> schließen, verkaufen, 10 Sek. warten ;
wenn HMA-Trend ( blau ) nach rot wechselt -> Kauf schließen, 10 Sek. warten;
-------------------------------------------------------------------
schließe alle Trades am Freitag um 12:00h AM (GMT)...
****************************************************************
ich weiß, dass es einige Verluste geben wird, aber das stört mich nicht...
ich will keine SLs ...
Grüße
Cado
hma_color_nrp.ex4high_-_low_trend.mq4
ATR + MA & Bandbreite + MA
[lang=it]Hallo, ich brauche einen benutzerdefinierten Indikator, der in einem separaten Fenster die ATR und den gleitenden Durchschnitt berechnet und das Gleiche für die Bandbreite. Ich habe den Code in mql4 und ich habe mit der IMAONARRAY für die Berechnung der MA, aber der Indikator don ' t Arbeit..kann jemand mir helfen???
Dies ist einer der teo Codes...
Danke
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int AtrPeriod=14;
//---- buffers
double AtrBuffer[];
double TempBuffer[];
double MaBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- 1 additional buffer used for counting.
IndicatorBuffers(2);
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,AtrBuffer);
SetIndexBuffer(1,TempBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,MaBuffer);
//---- name for DataWindow and indicator subwindow label
short_name="ATR("+AtrPeriod+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,AtrPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Average True Range |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
//----
if(Bars<=AtrPeriod) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=AtrPeriod;i++) AtrBuffer=0.0;
//----
i=Bars-counted_bars-1;
while(i>=0)
{
double high=High;
double low =Low;
if(i==Bars-1) TempBuffer=high-low;
else
{
double prevclose=Close;
TempBuffer=MathMax(high,prevclose)-MathMin(low,prevclose);
}
i--;
}
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(i=0; i<limit; i++)
AtrBuffer=iMAOnArray(TempBuffer,Bars,AtrPeriod,0,MODE_SMA,i);
//----
double MyArray[];
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
ArrayResize( MyArray, limit);
ArraySetAsSeries(MyArray,true);
for(i=0; i<limit; i++)
{
MyArray = AtrBuffer;
}
for(i=0; i<limit; i++)
{
MaBuffer = iMAOnArray(MyArray,limit,10,0,MODE_SMA,i);
}
//----
return(0);
}
//+------------------------------------------------------------------+[/lang]
...
Probieren Sie es jetzt aus
[lang=it]Hallo, ich brauche einen benutzerdefinierten Indikator, der in einem separaten Fenster, schreiben atr und gleitenden Durchschnitt berechnen auf sie und die gleiche Sache für Bandbreite. Ich habe den Code in mql4 gemacht und ich habe mit dem IMAONARRAY für die Berechnung der MA, aber der Indikator don ' t Arbeit..kann jemand mir helfen?
Dies ist einer der Teo-Codes...
Danke
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int AtrPeriod=14;
//---- buffers
double AtrBuffer[];
double TempBuffer[];
double MaBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- 1 additional buffer used for counting.
IndicatorBuffers(2);
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,AtrBuffer);
SetIndexBuffer(1,TempBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,MaBuffer);
//---- name for DataWindow and indicator subwindow label
short_name="ATR("+AtrPeriod+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
//----
SetIndexDrawBegin(0,AtrPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Average True Range |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
//----
if(Bars<=AtrPeriod) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=AtrPeriod;i++) AtrBuffer=0.0;
//----
i=Bars-counted_bars-1;
while(i>=0)
{
double high=High;
double low =Low;
if(i==Bars-1) TempBuffer=high-low;
else
{
double prevclose=Close;
TempBuffer=MathMax(high,prevclose)-MathMin(low,prevclose);
}
i--;
}
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(i=0; i<limit; i++)
AtrBuffer=iMAOnArray(TempBuffer,Bars,AtrPeriod,0,MODE_SMA,i);
//----
double MyArray[];
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
ArrayResize( MyArray, limit);
ArraySetAsSeries(MyArray,true);
for(i=0; i<limit; i++)
{
MyArray = AtrBuffer;
}
for(i=0; i<limit; i++)
{
MaBuffer = iMAOnArray(MyArray,limit,10,0,MODE_SMA,i);
}
//----
return(0);
}
//+------------------------------------------------------------------+[lang=tr]Hallo Kann mir jemand helfen, diese Formel im Metatrader Code zu erstellen
(dies ist in metastock Formel:)
Q1:=Input("PERIOD",1,1000,3);
Q2:=Input("PERIOD",0.001,100,1);
Q3:=Q2/100;
Q4:=Bewegung( Typisch(),Q1,E) ;
Q5:=If((Q4*(1-Q3))>PREV,Q4*(1-Q3),If((Q4*(1+Q3))<PREV,Q4*(1+Q3),PREV));
Q5
[/lang]
...
Interessant
Das Einzige, was Sie für verschiedene Zeitrahmen anpassen müssen, ist der Prozentsatz. 1% scheint eine gute Wahl für einen 4-Stunden-Chart zu sein, aber hier ist ein Beispiel für einen 15-Minuten-Chart mit 0,5% anstelle des Standardwertes 1%
PS: Ich habe keine Ahnung, wie der ursprüngliche Name lautet, also habe ich ihn so genannt, wie er ist.
Mit freundlichen Grüßen
mladen
[lang=tr]Hi Kann mir jemand helfen, diese Formel im Metatrader Code zu erstellen
(dies ist in der Metastock-Formel:)
Q1:=Input("PERIOD",1,1000,3);
Q2:=Input("PERIOD",0.001,100,1);
Q3:=Q2/100;
Q4:=Bewegung( Typisch(),Q1,E) ;
Q5:=If((Q4*(1-Q3))>PREV,Q4*(1-Q3),If((Q4*(1+Q3))<PREV,Q4*(1+Q3),PREV));
Q5
[/lang]Interessant:
Das Einzige, was Sie für verschiedene Zeitrahmen anpassen müssen, ist der Prozentsatz. 1% scheint eine gute Wahl für ein 4-Stunden-Diagramm zu sein, aber hier ist ein Beispiel für ein 15-Minuten-Diagramm mit 0,5% anstelle des Standardwerts von 1%
PS: Ich habe keine Ahnung, wie der ursprüngliche Name lautet, also habe ich ihn so genannt
Grüße
mladen[lang=tr]danke mladen ich werde es versuchen, ich denke es wird funktionieren [/lang]