Hilfe bei der Codierung - Seite 477

 

Hallo Master Coder,

Ich versuche, einen PPO_alt Indikator zu schreiben, der in den Bildern a und b als Plot 1 dargestellt ist, aber er wird im Echtzeitmodus nicht korrekt dargestellt.

also versuche ich, den ursprünglichen PPO (Plot 2) zu ändern, aber auch er ist nicht korrekt. Bitte schauen Sie sich das an und beheben Sie beides.

Vielen Dank im Voraus.

PS. Bitte stellen Sie weitere Fragen, wenn es Ihnen nicht klar ist.

Dateien:
ppo_mod.rar  80 kb
 
download38:
Hallo Master Coder,

Ich versuche, einen PPO_alt-Indikator zu schreiben, der in den Bildern a und b als Plot 1 dargestellt ist, aber er wird im Echtzeitmodus nicht korrekt dargestellt.

Also versuche ich, das Signal PPO (Plot 2) zu ändern, aber es ist immer noch nicht richtig zu. Bitte schauen Sie sich das an und beheben Sie beides.

Vielen Dank im Voraus.

PS. Bitte stellen Sie weitere Fragen, wenn es Ihnen nicht klar ist.

Warum machen Sie genau das Gleiche in zwei Schleifen?

 

Hallo Mladen

brauche Hilfe

bekomme kein Live-Angebot bitte helfen

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

//| Experten-Initialisierungsfunktion |

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

#property indicator_chart_window

double ExtMapBuffer1[];

extern int RSI_periode = 14;

extern int RSI_level = 50;

externe Farbe BuyColor = clrLime;

externe Farbe SellColor = clrRed;

extern int horizontal = 20;

extern int vertikal = 50;

extern int shift = 1;

extern double Prozent = 0,25;

extern string fontmode = "Arial";

extern int fontsize = 10;

externe Farbe fontcolor = clrSkyBlue;

extern int columnspacing = 100;

int init()

{

//----

SetIndexStyle(0,DRAW_LINE);

SetIndexPuffer(0,ExtMapPuffer1);

//----

return(0);

}

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

//| Experten-Deinitialisierungsfunktion |

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

int deinit()

{

//----

ObjectsDeleteAll();

ObjectDelete("INFO");

//----

return(0);

}

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

//| Expertenstartfunktion |

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

int start()

{

//----

string symlist2[] = {"NIFTY", "B.NIFTY", "XAUUSD", "GOLD"};

string symbol;

string info2[] = {MODE_HIGH,MODE_LOW,MODE_BID,MODE_ASK};

string infolabel;

string timeText[] = {"DayHigh", "DayLow", "Bid", "Ask"};

string font = "Terminal";

int counted_bars=IndicatorCounted();

int symlimit = ArraySize(symlist2);

int timelimit = ArraySize(info2);

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

{

symbol = symlist2;

Display("symlabel" + symbol + i, horizontal,vertical);

ObjectSetText("symlabel" + symbol + i, "SYMBOL", fontsize, font, Pink);

Display("sym" + symbol + i, horizontal,vertikal +((i+1)*18));

ObjectSetText("sym" + symbol + i, "" + symbol + "", fontsize, font, Yellow);

for(int j=0;j<timelimit;j++)

{

infolabel = info2[j];

Display("infolabel" + j, horizontal+((j+1)*100),vertical);

ObjectSetText("infolabel" + j, timeText[j], fontsize, font, Pink);

Display("infolabel2" + symbol + ((j+1)*columnspacing), horizontal+((j+1)*100),vertical +((i+1)*18));

ObjectSetText("infolabel2" +Symbol+ ((j+1)*Spaltenabstand), infolabel , fontsize, font, fontcolor);

}

}

//----

return(0);

}

void Display(string name, int x, int y)

{

ObjectCreate(name, OBJ_LABEL, 0, 0, 0);

ObjectSet(name, OBJPROP_CORNER, 0);

ObjectSet(name, OBJPROP_XDISTANCE, x);

ObjectSet(name, OBJPROP_YDISTANCE, y);

ObjectSet(name, OBJPROP_BACK, FALSE);

}

 
nbtrading:
Warum machen Sie genau das Gleiche in zwei Schleifen?

Oh, ich möchte nur eine Linie mit Punkten zeichnen, damit sie leicht zu sehen ist.

Die wichtige Linie ist die Multihigh, mit der ich ein Problem habe.

Danke für die Frage.

 

"Close BUY" und "Close SELL" Algorithmus

Hallo Pro-Coders,

Ich frage mich, ob jemand den "Close BUY" und "Close SELL" Algorithmus überprüfen könnte.

Der EA eröffnet keine neue Position nachdem ein Stop Loss oder ein Trendwechsel stattgefunden hat.

Das System schließt nur die Position, die nächste Position wird bei einem neuen Trendwechsel eröffnet, was zum Verlust der Chance führt.

(Bitte sehen Sie den Screenshot).

void CheckForClose()

{

RefreshRates();

double cl_diCustom0 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,0,bar);

double cl_diCustom1 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar);

double cl_diCustom2 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar);

double cl_diCustom3 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar+1);

double cl_diMA3 = iMA(s_symbol,MaTimeframe,MaPeriod,0,MaType,PRICE_CLOSE,bar);

double cl_diMA4 = iMA(s_symbol,MaZeitrahmen,MaPeriode,0,MaTyp,PREIS_SCHLUSS,bar+1);

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!= MAGIC) weiter;

if(BestellSymbol() != s_symbol) continue;

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

//| Close BUY |

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

if(cl_diCustom0!=cl_diCustom1) // Trend prüfen

{

if(OrderType()==OP_BUY)

{

if(cl_diCustom0<cl_diCustom1 && cl_diCustom2=cl_diMA4)

{

bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);

if(buyClose==false)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert= StringConcatenate("Close Buy Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts == true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break;

} // mod

}

}

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

//| Close SELL |

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

if(cl_diCustom0!=cl_diCustom1)

{

if(OrderType()==OP_SELL)

{

if(cl_diCustom0>cl_diCustom1 && cl_diCustom2>cl_diMA3 && cl_diCustom3<=cl_diMA4)

{

bool sellClose= OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_ASK),Slippage*pipMultiplier,clCloseSell);

if(sellClose == false)

{

ErrorCode = GetLastError();

ErrDesc = ErrorDescription(ErrorCode);

ErrAlert=StringConcatenate("Close Sell Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts==true) Alert(ErrAlert);

ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break;

} // mod

}

}

}

}

Dateien:
 
tfi_markets:
Hallo Pro-Coders,

Ich frage mich, ob jemand den "Close BUY" und "Close SELL" Algorithmus überprüfen könnte.

Der EA eröffnet keine neue Position, nachdem ein Stop Loss oder ein Trendwechsel stattgefunden hat.

Das System schließt nur die Position, die nächste Position wird bei einem neuen Trendwechsel eröffnet, was zum Verlust der Chance führt.

(Siehe Bildschirmfoto).

Ändern Sie dies:

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

in dies

for(int i=OrdersTotal()-1;i>=0 ; i--)

 
mladen:
Lassen Sie uns wissen, was passiert ist Vielleicht nur ein Problem einer bestimmten Metatrader-Build (ich benutze Build 788 derzeit)

meine Version 765

Pruchik hat diese Version hier bereitgestellt,

https://www.mql5.com/en/forum/173588

benötigt aber ein zusätzliches Skript, um die Linien des Gann sq9-Indikators zu entfernen, wenn dieser geändert wird und Linien auf dem Chart zurückbleiben.

 

Ich brauche Hilfe für dieses Anzeigeproblem......

vegadigitalco:
Hallo Mladen & alle Senior Codder

Ich brauche Hilfe für diese Anzeige......

Ich bekomme kein Live-Angebot, bitte helfen Sie mir

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

Experten-Initialisierungsfunktion //|

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

#property indicator_chart_window

double ExtMapBuffer1[];

extern int RSI_periode = 14;

extern int RSI_level = 50;

externe Farbe BuyColor = clrLime;

externe Farbe SellColor = clrRed;

extern int horizontal = 20;

extern int vertikal = 50;

extern int shift = 1;

extern double Prozent = 0,25;

extern string fontmode = "Arial";

extern int fontsize = 10;

externe Farbe fontcolor = clrSkyBlue;

extern int columnspacing = 100;

int init()

{

//----

SetIndexStyle(0,DRAW_LINE);

SetIndexPuffer(0,ExtMapPuffer1);

//----

return(0);

}

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

//| Experten-Deinitialisierungsfunktion |

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

int deinit()

{

//----

ObjectsDeleteAll();

ObjectDelete("INFO");

//----

return(0);

}

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

//| Expertenstartfunktion |

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

int start()

{

//----

string symlist2[] = {"NIFTY", "B.NIFTY", "XAUUSD", "GOLD"};

string symbol;

string info2[] = {MODE_HIGH,MODE_LOW,MODE_BID,MODE_ASK};

string infolabel;

string timeText[] = {"DayHigh", "DayLow", "Bid", "Ask"};

string font = "Terminal";

int counted_bars=IndicatorCounted();

int symlimit = ArraySize(symlist2);

int timelimit = ArraySize(info2);

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

{

symbol = symlist2;

Display("symlabel" + symbol + i, horizontal,vertical);

ObjectSetText("symlabel" + symbol + i, "SYMBOL", fontsize, font, Pink);

Display("sym" + symbol + i, horizontal,vertikal +((i+1)*18));

ObjectSetText("sym" + symbol + i, "" + symbol + "", fontsize, font, Yellow);

for(int j=0;j<timelimit;j++)

{

infolabel = info2[j];

Display("infolabel" + j, horizontal+((j+1)*100),vertical);

ObjectSetText("infolabel" + j, timeText[j], fontsize, font, Pink);

Display("infolabel2" + symbol + ((j+1)*columnspacing), horizontal+((j+1)*100),vertical +((i+1)*18));

ObjectSetText("infolabel2" +Symbol+ ((j+1)*Spaltenabstand), infolabel , fontsize, font, fontcolor);

}

}

//----

return(0);

}

void Display(string name, int x, int y)

{

ObjectCreate(name, OBJ_LABEL, 0, 0, 0);

ObjectSet(name, OBJPROP_CORNER, 0);

ObjectSet(name, OBJPROP_XDISTANCE, x);

ObjectSet(name, OBJPROP_YDISTANCE, y);

ObjectSet(name, OBJPROP_BACK, FALSE);

}
 

Hallo Leute, ich habe eine kleine Anfrage... ich habe versucht, eine Funktion zu schreiben, die aus einer Textdatei liest und ihre Werte in ein String-Array zurückgibt... die Textdatei besteht aus mehreren Zeilen, von denen jede ein Paarname ist, außer der ersten Zeile, die die Gesamtzahl der Paare ist

Zum Beispiel:

7

CADJPY

CHFJPY

EURJPY

GBPJPY

NZDJPY

USDJPY

AUDJPY

Ich habe auf der Metaquotes-Website den folgenden Code gefunden, aber ich komme nicht weiter... ich möchte ein String-Array erstellen und nachdem ich die erste Zeile im Text gelesen habe, die Größe auf diesen Wert ändern und es dann mit dem Namen des Paares füllen... kann mir jemand bitte weiterhelfen?

int handle, NL,i,pos[];

string str,word;

handle=FileOpen("test.txt",FILE_READ);//try to open file

if(handle==-1)return(0);// if not exist

if(FileSize(handle)==0){FileClose(handle); return(0); } //if empty

while(!FileIsEnding(handle))//read file to the end by paragraph. if you have only one string, omit it

{

str=FileReadString(handle);//read one paragraph to the string variable

if(str!="")//if string not empty

{

NL=0;

for(i=0;i<StringLen(str);i++)

{

if(StringGetChar(str,i)==10)// look for newline (Charcode:10) only

{

NL++;//yes, we found one more newline

ArrayResize(pos,NL);//increase array

pos[NL-1]=i;//write the number of newline position to array

}

}//now we have array with numbers of positions of all newline

for(i=0;i<=NL;i++)//start to read elements of string

{

if(i==0) word=StringSubstr(str,0,pos[0]);//the first element of string (in this case is the number 7)

else word=StringSubstr(str,pos+1,pos-pos-1);

}

}

}

FileClose(handle); //close file

return(0);

 
download38:
Hallo Master Coder,

Ich versuche, einen PPO_alt-Indikator zu schreiben, der in den Bildern a und b als Plot 1 dargestellt ist, aber er wird im Echtzeitmodus nicht korrekt dargestellt.

Also versuche ich, das Signal PPO (Plot 2) zu ändern, aber es ist immer noch nicht richtig zu. Bitte schauen Sie sich das an und beheben Sie beides.

Vielen Dank im Voraus.

PS. Bitte stellen Sie weitere Fragen, wenn es Ihnen nicht klar ist.

Kann mir jemand den Unterschied zwischen for(i=0; i=0; i--) und wann wir sie verwenden, erklären?

Vielen Dank im Voraus.