Hilfe bei der Codierung - Seite 160

 
TEAMTRADER:
Ich habe diesen Indikator von einem der Threads heruntergeladen und er ist weitaus besser als die CCI-Zonen oder Ma-Zonen Indikatoren.

Kann es angepasst werden, um auf dem Bildschirm wie in einer Zone Indikator zeigen?

Es ist auf CCI Einstellung 13 eingestellt, aber wenn es in eine variable Einstellung Indikator leicht gemacht werden kann, dann wäre das ein Bonus - aber sehr viel eine sekundäre Anfrage.

Es ist ein Forex-TSD-Indikator, aber kein mq4-Ordner war mit ihm.

Danke

TEAMTRADER

Soweit ich sehe, handelt es sich nicht um einen cci, sondern um einen thv t3 trix. Sie sollten einige der Variationen von thv trix suchen

 

mladen, ich habe den Indikator beigefügt, der eine Linie für Hochs und Tiefs des Vortages zeichnet..aber ich brauche den gleichen Indikator, der die 3 täglichen vorherigen Hochs und Tiefs zeichnet, können Sie mir helfen?danke im Voraus

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

//| Copyright © 2008, ledxep |

//| http://www.metaquotes.net/ |

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

#property copyright "Copyright © 2008, ledzep"

#property link "http://www.metaquotes.net/"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Blue

//---- input parameters

double DayHigh,DayLow,DayHigh1,DayLow1;

int ObjectIdx;

int DayIdx;

int k;

string ObjName;

datetime StartTime;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Deinitialization function |

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

int deinit()

{

ObjectsDeleteAll();

return(0);

}

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

//| Start function |

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

int start()

{

static bool first=true;

int i,counted_bars=IndicatorCounted();

double BarHour,BarMinute;

int WeekDay;

if(Bars<3) return(0);

i=Bars-3;

if(counted_bars==0 || first)

{

first=false;

while(i>=0)

{

TrendLine(StartTime,DayHigh1,Time,DayHigh1,Red);

TrendLine(StartTime,DayLow1,Time,DayLow1,Red);

if(High > DayHigh) DayHigh = High;

if(Low < DayLow) DayLow = Low;

if(TimeDay(Time) != TimeDay(Time))

{

DayHigh1=DayHigh;

DayLow1=DayLow;

DayHigh=Open;

DayLow=Open;

StartTime=Time;

}

i--;

}//while close

}

return(0);

}//start close

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

void TrendLine(datetime x1, double y1, datetime x2, double y2, color col)

{

ObjectIdx++;

ObjName="Line" + DoubleToStr(ObjectIdx,0);

ObjectCreate(ObjName, OBJ_TREND, 0, x1, y1, x2, y2);

ObjectSet(ObjName,OBJPROP_COLOR,col);

ObjectSet(ObjName,OBJPROP_RAY,0);

}

 
k3rn3l:
mladen, ich habe den Indikator angehängt, der eine Linie für Hoch und Tief des Vortages zeichnet..aber ich brauche den gleichen Indikator, der die 3 täglichen vorherigen Hochs und Tiefs zeichnet, können Sie mir helfen?danke im Voraus

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

//| Copyright © 2008, ledxep |

//| http://www.metaquotes.net/ |

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

#property copyright "Copyright © 2008, ledzep"

#property link "http://www.metaquotes.net/"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Blue

//---- input parameters

double DayHigh,DayLow,DayHigh1,DayLow1;

int ObjectIdx;

int DayIdx;

int k;

string ObjName;

datetime StartTime;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Deinitialization function |

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

int deinit()

{

ObjectsDeleteAll();

return(0);

}

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

//| Start function |

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

int start()

{

static bool first=true;

int i,counted_bars=IndicatorCounted();

double BarHour,BarMinute;

int WeekDay;

if(Bars<3) return(0);

i=Bars-3;

if(counted_bars==0 || first)

{

first=false;

while(i>=0)

{

TrendLine(StartTime,DayHigh1,Time,DayHigh1,Red);

TrendLine(StartTime,DayLow1,Time,DayLow1,Red);

if(High > DayHigh) DayHigh = High;

if(Low < DayLow) DayLow = Low;

if(TimeDay(Time) != TimeDay(Time))

{

DayHigh1=DayHigh;

DayLow1=DayLow;

DayHigh=Open;

DayLow=Open;

StartTime=Time;

}

i--;

}//while close

}

return(0);

}//start close

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

void TrendLine(datetime x1, double y1, datetime x2, double y2, color col)

{

ObjectIdx++;

ObjName="Line" + DoubleToStr(ObjectIdx,0);

ObjectCreate(ObjName, OBJ_TREND, 0, x1, y1, x2, y2);

ObjectSet(ObjName,OBJPROP_COLOR,col);

ObjectSet(ObjName,OBJPROP_RAY,0);

}

Ich fürchte, ich verstehe nicht

Dieser Indikator zeichnet den Höchst- und Tiefststand des Vortages über die gesamte Historie (so viele Tage wie es auf dem Chart gibt). Was genau bedeutet "zeichnet die 3 vorherigen Tageshochs und -tiefs ein"?

 
mladen:
Ich fürchte, ich verstehe nicht, dass der Indikator die Höchst- und Tiefstwerte des Vortages über die gesamte Historie (so viele Tage, wie es auf dem Chart gibt) einzeichnet. Was genau bedeutet "zeichnet die 3 vorherigen Tageshöchst- und Tiefstwerte ein"?

Ich möchte, dass der Indikator jeden Tag die Höchst- und Tiefstwerte der letzten 3 Tage anzeigt.

 
k3rn3l:
Lassen Sie mich erklären, dass ich möchte, dass der Indikator jeden Tag die Höchst- und Tiefstwerte der letzten 3 Tage anzeigt

Versuchen Sie etwas wie das hier (dieses verwendet keine Objekte, sondern Puffer, und Sie können die Anzahl der Tage festlegen, die Sie für das höchste Hoch und das niedrigste Tief verwenden möchten)

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 LimeGreen

#property indicator_color2 Red

extern int DaysForHighLow = 3;

double buffh[];

double buffl[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,buffh);

SetIndexBuffer(1,buffl);

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for (int i=limit; i>=0; i--)

{

int y = iBarShift(NULL,PERIOD_D1,Time);

buffh = iHigh(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,DaysForHighLow,y));

buffl = iLow(NULL,PERIOD_D1,iLowest(NULL,PERIOD_D1,MODE_LOW,DaysForHighLow,y));

}

return(0);

}
 
mladen:
Versuchen Sie etwas wie das hier (hier werden keine Objekte, sondern Puffer verwendet, und Sie können die Anzahl der Tage festlegen, die Sie für den höchsten Höchst- und den niedrigsten Tiefstwert verwenden möchten)
#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 LimeGreen

#property indicator_color2 Red

extern int DaysForHighLow = 3;

double buffh[];

double buffl[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,buffh);

SetIndexBuffer(1,buffl);

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for (int i=limit; i>=0; i--)

{

int y = iBarShift(NULL,PERIOD_D1,Time);

buffh = iHigh(NULL,PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,DaysForHighLow,y));

buffl = iLow(NULL,PERIOD_D1,iLowest(NULL,PERIOD_D1,MODE_LOW,DaysForHighLow,y));

}

return(0);

}

danke s mladen, sorry für meine schlechte Erklärung...ich meinte den Höchst- und Tiefstwert aller 3 Tage zuvor..zum Beispiel PreviousHighDaily[1],PreviuosHighDaily[2],PreviousHighDaily[3] und dasselbe für den Tiefstwert...

 
k3rn3l:
danke s mladen, sorry für meine schlechte Erklärung...ich meinte den Höchst- und Tiefstwert aller 3 Tage zuvor..z.B. PreviousHighDaily[1],PreviuosHighDaily[2],PreviousHighDaily[3] und dasselbe für den Tiefstwert...

Sie ist einfacher zu finden als die vorherige (weniger Funktionsaufrufe )

Sie können es wie folgt machen:

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 LimeGreen

#property indicator_color2 Red

#property indicator_color3 LimeGreen

#property indicator_color4 Red

#property indicator_color5 LimeGreen

#property indicator_color6 Red

#property indicator_width1 2

#property indicator_width2 2

#property indicator_style5 STYLE_DOT

#property indicator_style6 STYLE_DOT

double buffh1[];

double buffl1[];

double buffh2[];

double buffl2[];

double buffh3[];

double buffl3[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,buffh1);

SetIndexBuffer(1,buffl1);

SetIndexBuffer(2,buffh2);

SetIndexBuffer(3,buffl2);

SetIndexBuffer(4,buffh3);

SetIndexBuffer(5,buffl3);

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for (int i=limit; i>=0; i--)

{

int y = iBarShift(NULL,PERIOD_D1,Time);

buffh1 = iHigh(NULL,PERIOD_D1,y+1);

buffl1 = iLow(NULL,PERIOD_D1,y+1);

buffh2 = iHigh(NULL,PERIOD_D1,y+2);

buffl2 = iLow(NULL,PERIOD_D1,y+2);

buffh3 = iHigh(NULL,PERIOD_D1,y+3);

buffl3 = iLow(NULL,PERIOD_D1,y+3);

}

return(0);

}

PS: die dickste Linie ist von vor 1 Tag, die dünnere Linie von vor 2 Tagen und die gepunktete Linie von vor 3 Tagen

 

Kodierung Hilfe pls...........

Hallo alle Experten hier, kann mir jemand helfen, den einfachen EA zu kodieren, der automatisch die TP des letzten Arbeitsauftrags genauso wie den aktuellen Auftrag ändern wird? sagen wir, ich habe 1 oder mehrere Arbeitsaufträge und einige ausstehende Aufträge, wenn ausstehende Aufträge zu Arbeitsaufträgen werden, hoffe ich, dass der EA automatisch die TP (Zielpreis) des vorherigen Arbeitsauftrags auf den aktuellen Auftrag ändern wird, der gerade aktiv ist. danke ....

 
jeffyap:
Coding help pls........... Hallo an alle Experten hier, kann mir jemand helfen, einen einfachen EA zu programmieren, der automatisch den TP der letzten funktionierenden Order mit dem der aktuellen, gerade geöffneten Order abgleicht? Sagen wir, ich habe 1 oder mehrere funktionierende Orders und ein paar schwebende Orders, wenn die schwebende Order zur funktionierenden Order wird, hoffe ich, dass der EA automatisch den TP (Zielpreis) der vorherigen funktionierenden Order mit dem der aktuellen, gerade aktiven Order abgleicht. Danke ....

Warum verwenden Sie nicht einfach einen normalen Trailing-Stop für alle Aufträge? Auf diese Weise werden sie schließlich ausgeglichen werden (wenn Sie mehrere Aufträge haben), ohne die Notwendigkeit, eine neue Bestellung zu öffnen

 

HI Mladen,

wenn ich Balken zwischen 2 Tiefs zählen möchte, wie kann ich den Balken von Sonntag 23.00 Uhr bis 00.00 Uhr vermeiden?

denn im 4-Stunden-Chart gibt es diesen Balken und er dauert nur eine Stunde.....und er erscheint auch im Tages-Chart.

Vielen Dank im Voraus