Hilfe bei der Codierung - Seite 110

 

Hallo,

ich brauche zwei Indikatoren, einer ist wpr(Williams' Percent Range) und sein ma (wpr mit ma), der andere ist cmo (chande momentum osc.)

und sein ma (cmo mit ma),

Kann mir jemand helfen?

Danke

 
anonimm:
Hi,

Ich brauche zwei Indikatoren, einer ist wpr(Williams' Percent Range) und sein ma (wpr mit ma), der andere ist cmo (chande momentum osc.)

und sein ma (cmo mit ma),

Kann jemand helfen?

danke

anonimm

Hier ist ein WPR mit einem Durchschnitt (ma)

Dateien:
wpr_ma.mq4  2 kb
 
mladen:
anonimm Hier ist ein WPR mit einem Durchschnitt (ma)

Danke, Mladen,

ich versuche cmo's ma, aber ich bekomme eine Fehlermeldung (iCMO Funktion nicht definiert)..können Sie helfen..? cmo ist angehängt

//---- Indikatoreinstellungen

#Eigenschaft indicator_separate_window

#Eigenschaft indicator_buffers 2

#eigenschaft indicator_color1 Silber

#Eigenschaft indicator_color2 Rot

#Eigenschaft indicator_width1 2

#eigenschaft indicator_width2 2

//---- Indikator-Parameter

extern int CMO_Periode=21;

extern int MA_Periode=14;

extern string m = "--Gleitender Durchschnittstypen--";

externer string m0 = " 0 = SMA";

externer string m1 = " 1 = EMA";

externer string m2 = " 2 = SMMA";

externer string m3 = " 3 = LWMA";

extern int MA_Type=1;

//---- Indikatorpuffer

double CMO_Buffer[];

double MA_Buffer[];

double iCMO[];

int MA_Mode;

string strMAType;

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

//+------------------------------------------------------------------+

int init()

{

//---- Zeichnungseinstellungen

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexDrawBegin(1,CMO_Period);

IndicatorDigits(Ziffern+1);

//---- Zuordnung von Indikatorpuffern

SetIndexBuffer(0,CMO_Buffer);

SetIndexPuffer(1,MA_Puffer);

//---- Name für DataWindow und Bezeichnung des Indikator-Unterfensters

switch (MA_Typ)

{

Fall 1: strMAType="EMA"; MA_Mode=MODE_EMA; break;

Fall 2: strMAType="SMMA"; MA_Mode=MODE_SMMA; break;

Fall 3: strMAType="LWMA"; MA_Mode=MODE_LWMA; break;

default: strMAType="SMA"; MA_Mode=MODE_SMA; break;

}

IndicatorShortName( "CMO" + " (" + CMO_Period + ") " + " : " + strMAType+ " (" +MA_Period + ") ");

SetIndexLabel(0, "CMO" + " (" +CMO_Period + ") ");

SetIndexLabel(1,strMAType+ " (" + MA_Period + ") ");

//---- Initialisierung abgeschlossen

return(0);

}

//+------------------------------------------------------------------+

//| Gleitende Durchschnitte Konvergenz/Divergenz |

//+------------------------------------------------------------------+

int start()

{

int limit;

int counted_bars=IndicatorCounted();

//---- letzte gezählte Balken wird neu gezählt

if(gezählte_Balken>0) gezählte_Balken--;

limit=Balken-gezählt_Balken;

//---- CMO im 1. Puffer gezählt

for(int i=0; i<limit; i++)

CMO_Puffer=iCMO(NULL,0,CMO_Periode,i);

//---- MA-Zeile im 2-ten Puffer gezählt

for(i=0; i<limit; i++)

MA_Buffer=iMAOnArray(CMO_Buffer,Bars,MA_Period,0,MA_Mode,i);

//---- erledigt

return(0);

}

//+------------------------------------------------------------------+

Dateien:
cmo.mq4  6 kb
 

Mladen, können Sie mir helfen, die Fehler zu finden?

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color2 Red

//----

double UpperBuf[];

double UpperBuf1[];

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void init()

{

SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(0, N);

//----

SetIndexBuffer(0, UpperBuf);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(1, N);

//----

SetIndexBuffer(1, UpperBuf1);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void deinit()

{

//----

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void start()

{

int counted = IndicatorCounted();

//----

if(counted < 0)

return (-1);

//----

if(counted > 0)

counted--;

int limit = Bars - counted;

//----

for(int i = 0; i < limit; i++)

{

UpperBuf= ((High/Close)-34)*Volume;

UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

}

}

//+------------------------------------------------------------------+

 
anonimm:
Vielen Dank Mladen,

Ich versuche, cmo's ma, aber ich bekam Fehler (iCMO Funktion nicht definiert)..können Sie helfen..? cmo ist beigefügt

//---- Indikatoreinstellungen

#property indicator_separate_window

#Eigenschaft indicator_buffers 2

#eigenschaft indicator_color1 Silber

#Eigenschaft indicator_color2 Rot

#Eigenschaft indicator_width1 2

#eigenschaft indicator_width2 2

//---- Indikator-Parameter

extern int CMO_Periode=21;

extern int MA_Periode=14;

extern string m = "--Gleitender Durchschnittstypen--";

externer string m0 = " 0 = SMA";

externer string m1 = " 1 = EMA";

externer string m2 = " 2 = SMMA";

externer string m3 = " 3 = LWMA";

extern int MA_Type=1;

//---- Indikatorpuffer

double CMO_Buffer[];

double MA_Buffer[];

double iCMO[];

int MA_Mode;

string strMAType;

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

//+------------------------------------------------------------------+

int init()

{

//---- Zeichnungseinstellungen

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexDrawBegin(1,CMO_Period);

IndicatorDigits(Ziffern+1);

//---- Zuordnung von Indikatorpuffern

SetIndexBuffer(0,CMO_Buffer);

SetIndexPuffer(1,MA_Puffer);

//---- Name für DataWindow und Bezeichnung des Indikator-Unterfensters

switch (MA_Typ)

{

Fall 1: strMAType="EMA"; MA_Mode=MODE_EMA; break;

Fall 2: strMAType="SMMA"; MA_Mode=MODE_SMMA; break;

Fall 3: strMAType="LWMA"; MA_Mode=MODE_LWMA; break;

default: strMAType="SMA"; MA_Mode=MODE_SMA; break;

}

IndicatorShortName( "CMO" + " (" + CMO_Period + ") " + " : " + strMAType+ " (" +MA_Period + ") ");

SetIndexLabel(0, "CMO" + " (" +CMO_Period + ") ");

SetIndexLabel(1,strMAType+ " (" + MA_Period + ") ");

//---- Initialisierung abgeschlossen

return(0);

}

//+------------------------------------------------------------------+

//| Gleitende Durchschnitte Konvergenz/Divergenz |

//+------------------------------------------------------------------+

int start()

{

int limit;

int counted_bars=IndicatorCounted();

//---- letzte gezählte Balken wird neu gezählt

if(gezählte_Balken>0) gezählte_Balken--;

limit=Balken-gezählt_Balken;

//---- CMO im 1. Puffer gezählt

for(int i=0; i<limit; i++)

CMO_Puffer=iCMO(NULL,0,CMO_Periode,i);

//---- MA-Zeile im 2-ten Puffer gezählt

for(i=0; i<limit; i++)

MA_Buffer=iMAOnArray(CMO_Buffer,Bars,MA_Period,0,MA_Mode,i);

//---- erledigt

return(0);

}

//+------------------------------------------------------------------+

Here you go PS : es ist eine Standalone-Version, keine Notwendigkeit für die cmo

Dateien:
cmo_ma.mq4  2 kb
 
k3rn3l:
Mladen, kannst du mir helfen, die Fehler zu finden?

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color2 Red

//----

double UpperBuf[];

double UpperBuf1[];

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void init()

{

SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(0, N);

//----

SetIndexBuffer(0, UpperBuf);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(1, N);

//----

SetIndexBuffer(1, UpperBuf1);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void deinit()

{

//----

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void start()

{

int counted = IndicatorCounted();

//----

if(counted < 0)

return (-1);

//----

if(counted > 0)

counted--;

int limit = Bars - counted;

//----

for(int i = 0; i < limit; i++)

{

UpperBuf= ((High/Close)-34)*Volume;

UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

}

}

//+------------------------------------------------------------------+

k3rn3l

Versuchen Sie es so:

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 Red

double UpperBuf[];

double UpperBuf1[];

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void init()

{

IndicatorBuffers(2);

SetIndexBuffer(0, UpperBuf1);

SetIndexBuffer(1, UpperBuf);

}

void deinit() {}

void start()

{

int counted = IndicatorCounted();

if(counted < 0) return (-1);

if(counted > 0) counted--;

int limit = Bars - counted;

for(int i = 0; i < limit; i++)

if (Close!=0)

UpperBuf= ((High/Close)-34)*Volume;

else UpperBuf= 0;

for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

}
 

Lieber Mladen;

Vielen Dank noch einmal für die Indizes wpr ma und cmo ma. Nehmen wir an, dass ich für den ersten Indikator wpr per auf a, ma per auf b, und für den zweiten Indikator cmo range auf c und ma per auf d setze. Ich möchte kaufen, wenn wpr seine ma kreuzt (während wpr>level x) und cmo seine ma kreuzt (während cmo>level y) zur GLEICHEN MINUTE/BAR. (hier ist wichtig, die beiden Bedingungen müssen gleichzeitig eintreten), und verkaufen Sie die umgekehrten Bedingungen.

Ist das möglich?

 
anonimm:
Lieber Mladen;

Nochmals vielen Dank für die Indizes wpr ma und cmo ma. Nehmen wir an, dass ich für den ersten Indikator wpr per auf a, ma per auf b, und für den zweiten Indikator cmo range auf c und ma per auf d setze. Ich möchte kaufen, wenn wpr seine ma kreuzt (während wpr>level x) und cmo seine ma kreuzt (während cmo>level y) zur GLEICHEN MINUTE/BAR. (hier ist wichtig, zwei Bedingungen müssen gleichzeitig auftreten), und verkaufen umgekehrt Bedingungen.

ist das möglich?

Ja

es ist möglich

Verwenden Sie iCustom(), um die Bedingungen zu prüfen, nach denen Sie suchen, und Sie können die Bedingungen von beliebig vielen benutzerdefinierten Indikatoren in einem Signal kombinieren.

 

Kann mir jemand helfen, diesen Indikator für mehr als 950 Zählstriche zu reparieren?

Dateien:
 
YSCWL:
Kann mir jemand helfen, diesen Indikator für mehr als 950 Zählstriche zu reparieren?

Probieren Sie es aus

Dateien:
Grund der Beschwerde: