Hilfe bei der Codierung - Seite 202

 

Die Textausgabe im Chart kann nicht ohne Fehler verschoben werden.

Die Textausgabe der aktuellen Bereichsinformationen wird von den Preiskerzen überdeckt. Meine Programmierkenntnisse sind unzureichend und jeder Versuch endet mit Fehlern. Ich versuche gerade, die Textausgabe auf dem Chart wie abgebildet zu verschieben. Kann mir bitte jemand helfen? Vielen Dank im Voraus!!!ant-gubreakout.mq4

Dateien:
 
daytrade5:
Der aktuelle Bereich Informationstextausgabe wird durch Preiskerzen abgedeckt. Meine Programmierkenntnisse sind unzureichend und jeder Versuch endet in Fehlern. Ich versuche gerade, die Textausgabe auf dem Diagramm wie abgebildet zu verschieben. Kann mir bitte jemand helfen? Vielen Dank im Voraus!!!ant-gubreakout.mq4

daytrade5

Bei der Verwendung von Metatrader 4 können wir den Anker für Objekte vom Typ Text nicht auswählen (Metatrader 4 verwendet immer einen festen Anker für solche Objekte, den wir nicht ändern können). Anhängen einer Version, die die Position des Textes ändert (verwenden Sie TEXT_OFFSET für das), aber manchmal müssen Sie seinen Wert ändern und die Ausrichtung ist nicht 100% perfekt

Dateien:
 
mladen:
daytrade5 Bei der Verwendung von Metatrader 4 können wir den Anker für textartige Objekte nicht auswählen (Metatrader 4 verwendet immer einen festen Anker für solche Objekte, den wir nicht ändern können). Anhängen einer Version, die die Position des Textes ändert (verwenden Sie TEXT_OFFSET für das), aber manchmal müssen Sie seinen Wert ändern und die Ausrichtung ist nicht 100% perfekt

OK....vielen Dank. Das hätte ich nie herausgefunden.

 

Guten Tag, bitte helfen Sie mir mit diesem Orderalarm mq4 - wenn eine Order geschlossen wird, sendet er einen Alarm, aber jetzt sendet er für jedes Symbol pro Chart, das im Profil geöffnet ist, anstatt nur für das entsprechende Symbol, das gehandelt wurde.

Mit freundlichen Grüßen,

Dateien:
 
zigflip:
Guter Liegeplatz, bitte helfen Sie mit diesem Orderalarm mq4 - wenn eine Order geschlossen wird, sendet er einen Alarm, aber jetzt sendet er für jedes Symbol pro Chart, das im Profil geöffnet ist, anstatt nur für das relevante Symbol, das gehandelt wurde. Mit freundlichen Grüßen,

zigflip

Probieren Sie es jetzt aus

Dateien:
 

kann nicht herausfinden, wie man die Werte von 4 Cci erhält

hallo,

ich habe eine weitere Frage, das erste Problem habe ich gelöst. Danke dafür mladen

ich habe den 4 cci hier von mladen gefunden und er gefällt mir sehr gut, ich weiß, dass er sich wiederholt, aber er funktioniert trotzdem sehr gut für mich.

ich versuche, die 4 Werte in einen anderen selbst erstellten Indikator zu bekommen, aber ich finde einfach nicht heraus, wie.

ich habe die bool-Zeile von der vorherigen Seite mit den Werten aus dem 4cci ausprobiert, aber es hat nicht funktioniert.

ich vermute, dass es eine einfache Lösung für erfahrene Codes gibt, aber ich habe schon viel Zeit damit verbracht und kann es nicht herausfinden.

Danke für den Rat

Bob

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

#property copyright "mladen"

#property link "www.forex-tsd.cm"

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

#Eigenschaft indicator_separate_window

#Eigenschaft indicator_buffers 8

#property indicator_color1 LimeGreen

#eigenschaft indicator_color2 BlassViolettRot

#Eigenschaft indicator_color3 LimeGreen

#Eigenschaft indicator_color4 BlassViolettRot

#Eigenschaft indicator_color5 LimeGreen

#Eigenschaft indicator_color6 BlassViolettRot

#Eigenschaft indicator_color7 LimeGreen

#Eigenschaft indicator_color8 BlassViolettRot

#Eigenschaft indicator_minimum 0

#property indicator_maximum 5

//

//

//

//

//

extern string TimeFrame1 = "Aktueller Zeitrahmen";

externer string TimeFrame2 = "nächster1";

externer string TimeFrame3 = "nächster2";

externer string TimeFrame4 = "nächster3";

extern int Zeitraum_CCI = 24;

extern string UniqueID = "4 Time CCI Slopes ";

extern int LinesWidth = 0;

extern color LabelsColor = DarkGray;

extern int LabelsHorizontalShift = 5;

extern double LabelsVerticalShift = 1.5;

extern bool alertsOn = false;

extern int alertsLevel = 3;

extern bool alertsMessage = FALSE;

extern bool alertsSound = false;

extern bool alertsEmail = false;

//

//

//

//

//

double gosc1u[];

double gosc1d[];

double gosc2u[];

double gosc2d[];

double gosc3u[];

double gosc3d[];

double gosc4u[];

double gosc4d[];

int timeFrames[4];

bool returnBars;

string indicatorFileName;

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

//

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

//

//

//

//

//

int init()

{

SetIndexPuffer(0,gosc1u);

SetIndexPuffer(1,gosc1d);

SetIndexPuffer(2,gosc2u);

SetIndexBuffer(3,gosc2d);

SetIndexBuffer(4,gosc3u);

SetIndexBuffer(5,gosc3d);

SetIndexBuffer(6,gosc4u);

SetIndexBuffer(7,gosc4d);

indicatorFileName = WindowExpertName();

returnBars = (TimeFrame1=="returnBars"); if (returnBars) return(0);

//

//

//

//

//

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

{

SetIndexStyle(i,DRAW_ARROW,EMPTY,LinesWidth); SetIndexArrow(i,110);

}

timeFrames[0] = stringToTimeFrame(TimeFrame1);

timeFrames[1] = stringToTimeFrame(TimeFrame2);

timeFrames[2] = stringToTimeFrame(TimeFrame3);

timeFrames[3] = stringToTimeFrame(TimeFrame4);

alertsLevel = MathMin(MathMax(alertsLevel,3),4);

IndicatorShortName(UniqueID);

return(0);

}

int deinit()

{

for (int t=0; t<4; t++) ObjectDelete(UniqueID+t);

return(0);

}

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

//

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

//

//

//

//

//

double trend[][6];

#define _up 0

#define _dn 1

#define _hl1 2

#define _hl2 3

#define _hl3 4

#define _hl4 5

int start()

{

int i,r,count,counted_bars=IndicatorCounted();

if(gezählte_Balken < 0) return(-1);

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

int limit = MathMin(Balken-gezählte_Balken,Balken-1);

if (returnBars) { gosc1u[0] = limit+1; return(0); }

if (timeFrames[0] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[0],indicatorFileName, "returnBars",0,0)*timeFrames[0]/Period()));

if (timeFrames[1] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[1],indicatorFileName, "returnBars",0,0)*timeFrames[1]/Period()));

if (timeFrames[2] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[2],indicatorFileName, "returnBars",0,0)*timeFrames[2]/Period()));

if (timeFrames[3] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[3],indicatorFileName, "returnBars",0,0)*timeFrames[3]/Period()));

if (ArrayRange(trend,0)!=Bars) ArrayResize(trend,Bars);

//

//

//

//

//

bool initialisiert = false;

if (!initialized)

{

initialized = true;

int window = WindowFind(UniqueID);

for (int t=0; t<4; t++)

{

string label = timeFrameToString(timeFrames[t]);

ObjectCreate(UniqueID+t,OBJ_TEXT,window,0,0);

ObjectSet(UniqueID+t,OBJPROP_COLOR,LabelsColor);

ObjectSet(UniqueID+t,OBJPROP_PRICE1,t+LabelsVerticalShift);

ObjectSetText(UniqueID+t,label,8, "Arial");

}

}

for (t=0; t<4; t++) ObjectSet(UniqueID+t,OBJPROP_TIME1,Time[0]+Period()*LabelsHorizontalShift*60);

//

//

//

//

//

for(i = limit, r=Bars-i-1; i >= 0; i--,r++)

{

trend[r][_up] = 0;

trend[r][_dn] = 0;

trend[r][_hl1] = trend[r-1][_hl1];

trend[r][_hl2] = trend[r-1][_hl2];

trend[r][_hl3] = trend[r-1][_hl3];

trend[r][_hl4] = trend[r-1][_hl4];

for (int k=0; k<4; k++)

{

int y = iBarShift(NULL,timeFrames[k],Time);

double cciNow = iCCI(NULL, timeFrames[k], Period_CCI, PRICE_TYPICAL, y);

double cciPre = iCCI(NULL, timeFrames[k], Period_CCI, PRICE_TYPICAL, y+1);

if (cciNow>cciPre) trend[r][k+2] = 1;

if (cciNow<cciPre) trend[r][k+2] = -1;

switch (k)

{

case 0 : if (trend[r][k+2]==1) { gosc1u = k+1; gosc1d = EMPTY_VALUE;} else { gosc1d = k+1; gosc1u = EMPTY_VALUE; } break;

Fall 1 : if (trend[r][k+2]==1) { gosc2u = k+1; gosc2d = EMPTY_VALUE;} else { gosc2d = k+1; gosc2u = EMPTY_VALUE; } break;

Fall 2 : if (trend[r][k+2]==1) { gosc3u = k+1; gosc3d = EMPTY_VALUE;} else { gosc3d = k+1; gosc3u = EMPTY_VALUE; } break;

Fall 3 : if (trend[r][k+2]==1) { gosc4u = k+1; gosc4d = EMPTY_VALUE;} sonst { gosc4d = k+1; gosc4u = EMPTY_VALUE; } break;

}

if (trend[r][k+2]==1)

trend[r][_up] += 1;

sonst trend[r][_dn] += 1;

}

}

manageAlerts();

return(0);

}

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

//|

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

//

//

//

//

//

void manageAlerts()

{

if (alertsOn)

{

int whichBar = Bars-1;

if (trend[whichBar][_up] >= alertsLevel || trend[whichBar][_dn] >= alertsLevel)

{

if (trend[whichBar][_up] >= alertsLevel) doAlert("up" ,trend[whichBar][_up]);

if (trend[whichBar][_dn] >= alertsLevel) doAlert("down",trend[whichBar][_dn]);

}

}

}

//

//

//

//

//

void doAlert(string doWhat, int howMany)

{

static string previousAlert="nichts";

static datetime previousTime;

string Nachricht;

if (previousAlert != doWhat || previousTime != Time[0]) {

previousAlert = doWhat;

previousTime = Time[0];

//

//

//

//

//

message = Symbol()+" at "+TimeToStr(TimeLocal(),TIME_SECONDS)+" "+howMany+" time frames of MA trends are aligned "+doWhat;

if (alertsMessage) Alert(message);

if (alertsEmail) SendMail(Symbol()+" 4 Zeitrahmen MA-Trends",message);

if (alertsSound) PlaySound("alert2.wav");

}

}

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

//

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

//

//

//

//

//

string sTfTable[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"};

int iTfTable[] = {1,5,15,30,60,240,1440,10080,43200};

//

//

//

//

//

int toInt(double Wert) { return(Wert); }

int stringToTimeFrame(string tfs)

{

tfs = stringUpperCase(tfs);

int max = ArraySize(iTfTable)-1, add=0;

int nxt = (StringFind(tfs, "NEXT1")>-1); if (nxt>0) { tfs = ""+Period(); add=1; }

nxt = (StringFind(tfs, "NEXT2")>-1); if (nxt>0) { tfs = ""+Periode(); add=2; }

nxt = (StringFind(tfs, "NEXT3")>-1); if (nxt>0) { tfs = ""+Zeitraum(); add=3; }

//

//

//

//

//

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

if (tfs==sTfTable || tfs==""+iTfTable) return(MathMax(iTfTable[toInt(MathMin(max,i+add))],Period()));

return(Zeitraum());

}

string timeFrameToString(int tf)

{

for (int i=ArraySize(iTfTable)-1; i>=0; i--)

if (tf==iTfTable) return(sTfTable);

return("");

}

//

//

//

//

//

string stringUpperCase(string str)

{

string s = str;

for (int length=StringLen(str)-1; length>=0; length--)

{

int char = StringGetChar(s, length);

if((char > 96 && char 223 && char < 256))

s = StringSetChar(s, length, char - 32);

sonst if(zeichen > -33 && zeichen < 0)

s = StringSetChar(s, length, char + 224);

}

return(s);

}
 
BobMorane1000:
hallo,

ich habe eine weitere Frage, das erste Problem habe ich gelöst. danke dafür mladen

ich habe den 4 cci hier von mladen gefunden und er gefällt mir sehr gut, ich weiß, dass er sich wiederholt, aber er funktioniert trotzdem sehr gut für mich.

ich versuche, die 4 Werte in einen anderen selbst erstellten Indikator zu bekommen, aber ich finde einfach nicht heraus, wie.

ich habe die bool-Zeile von der vorherigen Seite mit den Werten aus dem 4cci ausprobiert, aber es hat nicht funktioniert.

ich vermute, dass es eine einfache Lösung für erfahrene Codes gibt, aber ich habe schon viel Zeit damit verbracht und kann es nicht herausfinden.

Danke für den Rat

Bob

BobMorane1000

Warum verwenden Sie nicht einfach iCCI() -Aufruf statt 4 mal (es wird viel einfacher sein, auch Code weise)?

 

Sie haben Recht, ich werde das tun.

Nochmals vielen Dank

 

Kann mir jemand helfen, Pfeile am Kreuz dieser Stochastik hinzuzufügen?

Dateien:
 

[ATTACH]187655

Hallo ich brauche Hilfe:

Ich habe eine schöne Trendindicatoe, die die Kerzen grün färbt und für den Trend zu lesen ist. Aber es hat einen Fehler: es ist nicht in der Lage, die Farben bleiben die gleichen, wenn Sie den Zeitrahmen ändern. Aber schlimmer ist die Tatsache, dass die Perücken kaum zu sehen sind und ich kann dies nicht ändern.

Könnte sich das bitte jemand ansehen?

Herzlichen Dank. Ich hänge den Indikator an

Dateien:
t3_thv.ex4  5 kb
Grund der Beschwerde: