Wie programmiert man? - Seite 334

 

Hallo Leute,

Ich kann keine Hüllkurven auf Array zeichnen.

Ich kann das Bollinger Band ohne Probleme zeichnen.

Ich möchte die Umschläge auf CCI-Indikator zu zeichnen.

Ich habe mit Bollingerbands mit der Anlage Code gezeichnet und es funktioniert,

das einzige Problem ist das Zeichnen mit Envelopes auf dem CCI Indikator.

Bitte um Hilfe.

Dateien:
cci_env.mq4  3 kb
 
luffy:
Hallo Leute,

Ich kann keine Hüllkurven auf Array zeichnen

Ich kann das Bollinger Band ohne Probleme zeichnen.

Ich möchte die Umschläge auf dem CCI-Indikator zeichnen.

Ich habe mit Bollingerbands mit dem beigefügten Code gezeichnet und es funktioniert,

das einzige Problem ist das Zeichnen mit Envelopes auf dem CCI Indikator.

bitte helft mir.

luffy

Es ist nicht möglich, ohne Hüllkurven für jeden einzelnen Indikatorwert zu kodieren, auf den Sie die Hüllkurven anwenden möchten.

 
mladen:
luffy Es ist nicht möglich, ohne Hüllkurven für jeden einzelnen Indikatorwert zu kodieren, auf den Sie Hüllkurven anwenden möchten

Hallo Mladen

Ich schätze deine große Hilfe, da ich nicht programmieren kann.

Ich habe ein Problem mit dem angehängten Macd3, der sich nur aktualisiert, wenn ich ihn bearbeite und dann wieder schließe.

Es wäre eine große Hilfe, wenn es sich bei jedem geschlossenen Takt aktualisieren würde. Ich hoffe, Sie können eine Lösung finden.

BTW dies ist ein sehr schöner Indikator in Bezug auf den Wendepunkt früh zu bekommen!

Dateien:
macd_3m.ex4  17 kb
macd_3m.mq4  5 kb
 
wolfsch:
Hallo Mladen

Ich schätze Ihre große Hilfe, da ich nicht programmieren kann.

Ich habe ein Problem mit dem beigefügten Macd3, der nur aktualisiert, wenn ich ihn bearbeite und dann wieder schließe.

Es wäre eine große Hilfe, wenn es bei jedem geschlossenen Takt aktualisiert werden würde. Ich hoffe Sie können eine Lösung finden.

Das ist übrigens ein sehr guter Indikator, um den Wendepunkt frühzeitig zu erkennen!

wolfsch

Auf meinem Terminal funktioniert es gut (ich habe es auf einem 1-Minuten-Chart getestet und es war alles in Ordnung - ich benutze Build 788)

 
wolfsch:
Hallo Mladen

Ich schätze Ihre große Hilfe, da ich nicht programmieren kann.

Ich habe ein Problem mit dem beigefügten Macd3, der nur aktualisiert, wenn ich ihn bearbeite und dann wieder schließe.

Es wäre eine große Hilfe, wenn es bei jedem geschlossenen Takt aktualisiert werden würde. Ich hoffe, Sie können eine Lösung finden.

Das ist übrigens ein sehr schöner Indikator, um den Wendepunkt frühzeitig zu erkennen!

Funktioniert bei mir auch

 
luffy:
Hallo Leute,

Ich kann keine Hüllkurven auf Array zeichnen

Ich kann das Bollinger Band ohne Probleme zeichnen.

Ich möchte die Umschläge auf dem CCI-Indikator zeichnen.

Ich habe mit Bollingerbands mit dem beigefügten Code gezeichnet und es funktioniert,

das einzige Problem ist das Zeichnen mit Envelopes auf dem CCI Indikator.

bitte helft mir.

luffy

Probieren Sie es jetzt aus: cci_env_1.mq4

Dateien:
cci_env_1.mq4  3 kb
cci_env.gif  71 kb
 

Hallo, ich versuche, meine ea zu setzen, um automatisch alle meine offenen Trades zu einem bestimmten Zeitpunkt zu schließen. und fragte sich, ob jemand mir helfen könnte, etwas Licht auf diese Angelegenheit zu vergießen? danke.

Mit freundlichen Grüßen

Ryan

 
tkuan77:
Hallo, ich versuche, mein Ea so einzustellen, dass es alle meine offenen Trades zu einem bestimmten Zeitpunkt automatisch schließt. und ich frage mich, ob mir jemand helfen kann, etwas Licht in diese Angelegenheit zu bringen? danke.

Mit freundlichen Grüßen

Ryan

Ryan

Prüfen Sie dies: https: //www.mql5.com/en/forum/177401/page2

Machen Sie sich keine Sorgen um die beiden Compiler-Warnungen beim Kompilieren des Codes - sie sind harmlos

 

Hallo mladen, ich habe versucht, den Teil über das Schließen des Handels basierend auf dem Timing und kompilieren, es gibt mir Warnung, wie Sie erwähnen, jedoch, wenn ich den Code ausführen, es nicht schließen Sie den Handel auf den Zeitpunkt, den ich angegeben.

Ich bin mir nicht ganz sicher, wo der Fehler liegen könnte. Ich hoffe, Sie können mich aufklären, wo ich hier falsch sein könnte.

Mit freundlichen Grüßen

Ryan

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

//| Forex TSD - Forex Forum |

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

#property copyright "R Creation"

#property link "https://www.forex-tsd.com"

//---- Eingabeparameter

extern double TakeProfit = 200.0;

extern double Lots = 0.1;

extern double StopLoss = 200.0;

extern int BevorzugteStunde_1st = 5;

extern int BevorzugteMinute_1st = 30;

int magicNo_1st = 530;

extern bool UseCurrSymbol = False; // Ich bin mir nicht ganz sicher, wozu das gut sein soll.....

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

//| Experten-Initialisierungsfunktion |

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

int init()

{

//----

//----

return(0);

}

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

//| Experten-Deinitialisierungsfunktion |

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

int deinit()

{

//----

//----

return(0);

}

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

//| expert start function |

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

datetime newbar;

double pBid, pAsk;

int start()

{

if(newbar==Time[0])return(0);

sonst newbar=Zeit[0];

int ticket, total;

if(Balken<100)

{

Print("Balken weniger als 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit kleiner als 10");

return(0); // TakeProfit prüfen

}

double Fast_MA, Slow_MA;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

total = OrdersTotal(); // Überprüfung der Gesamtzahl der derzeit offenen Trades

if(total < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"Mein EA",magicNo_1st,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Fehler beim Öffnen der BUY-Order : ",GetLastError());

return(0);

}

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"Mein EA",magicNo_1st,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Fehler beim Öffnen der SELL-Order : ",GetLastError());

return(0);

}

return(0);

}

if(total > 1) //um Aufträge aufgrund des Timings zu schließen... noch nicht geklärt.

{

if (Hour()==7 && Minute()==0 && Seconds()==0)

{

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);

}

if (OrderType()==OP_SELL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Rot);

}

}

}

}

}

}

return(0);

}

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

 
tkuan77:
Hallo mladen, ich habe versucht, den Teil über das Schließen des Handels basierend auf dem Timing einzugeben und zu kompilieren, es gibt mir eine Warnung, wie Sie erwähnen, jedoch, wenn ich den Code ausführe, schließt er den Handel nicht zu dem Zeitpunkt, den ich angegeben habe.

Ich bin mir nicht ganz sicher, wo der Fehler liegen könnte. Ich hoffe, Sie können mich aufklären, wo ich hier falsch liegen könnte.

Mit freundlichen Grüßen

Ryan

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

//| Forex TSD - forex forum |

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

#property copyright "R Creation"

#property link "https://www.forex-tsd.com"

//---- Eingabeparameter

extern double TakeProfit = 200.0;

extern double Lots = 0.1;

extern double StopLoss = 200.0;

extern int BevorzugteStunde_1st = 5;

extern int BevorzugteMinute_1st = 30;

int magicNo_1st = 530;

extern bool UseCurrSymbol = False; // Ich bin mir nicht ganz sicher, wozu das gut sein soll.....

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

//| Experten-Initialisierungsfunktion |

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

int init()

{

//----

//----

return(0);

}

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

//| Experten-Deinitialisierungsfunktion |

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

int deinit()

{

//----

//----

return(0);

}

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

//| expert start function |

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

datetime newbar;

double pBid, pAsk;

int start()

{

if(newbar==Time[0])return(0);

sonst newbar=Zeit[0];

int ticket, total;

if(Balken<100)

{

Print("Balken weniger als 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit kleiner als 10");

return(0); // TakeProfit prüfen

}

double Fast_MA, Slow_MA;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

total = OrdersTotal(); // Überprüfung der Gesamtzahl der derzeit offenen Trades

if(total < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"Mein EA",magicNo_1st,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Fehler beim Öffnen der BUY-Order : ",GetLastError());

return(0);

}

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"Mein EA",magicNo_1st,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Fehler beim Öffnen der SELL-Order : ",GetLastError());

return(0);

}

return(0);

}

if(total > 1) //um Aufträge aufgrund des Timings zu schließen... noch nicht geklärt.

{

if (Hour()==7 && Minute()==0 && Seconds()==0)

{

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

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);

}

if (OrderType()==OP_SELL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Rot);

}

}

}

}

}

}

return(0);

}

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

Dieser Teil

if(newbar==Time[0])return(0);

sonst newbar=Zeit[0];

int ticket, gesamt;

if(Balken<100)

{

Print("Balken weniger als 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit kleiner als 10");

return(0); // TakeProfit prüfen

}

Verhindert, dass das Ea Aufträge zu einem bestimmten Zeitpunkt schließt, wenn es nicht der erste Tick eines neuen Balkens ist und der Gewinn nicht > 10 Pips ist