Hilfe bei der Codierung - Seite 439

 
neverbeast:
Hallo nochmal.

Also habe ich einen einfachen Indikator mit Pfeilen erstellt. Leider zeichnet er sie nicht so, wie ich es wollte. Mein Ziel war es, einen Pfeil anzuzeigen, wenn die Bedingungen erfüllt sind, aber wenn die Bedingungen nicht mehr erfüllt sind, sollte er den Pfeil löschen. Als Beispiel: In 15 Sekunden der aktuellen Kerze sind die Bedingungen erfüllt und es wird ein Pfeil gezeichnet, dann ändert sich die Richtung und die Bedingungen sind nicht mehr erfüllt, also sollte der Pfeil vor dem Schließen der aktuellen Kerze gelöscht werden. Zurzeit werden Pfeile gezeichnet, wenn die Bedingungen erfüllt sind, und nicht neu gezeichnet. Außerdem gibt es Verfallspfeile, die zeigen, ob es ITM oder OTM/ATM wurde, die bis zur Aktualisierung nicht gezeichnet werden. Könnte jemand einen Blick darauf werfen und mir helfen, das Problem zu beheben, bitte?

6s.mq4

Sie haben im Code überhaupt keine Prüfung für die ersten 15 Sekunden. Warum fügen Sie nicht auch diese Prüfung hinzu?

 
mladen:
Sie haben keine Prüfung für die ersten 15 Sekunden in den Code überhaupt. Warum fügst du nicht auch diese Prüfung hinzu?

Mein Fehler. Es war eine andere Version des Indikators, den ich hier beschrieben habe. Wie auch immer, ich bin Neuling bei der Codierung mql4 und haben keine Ahnung, wie man das tun. Können Sie dieses Stück Code mit einem kleinen Tutorial schreiben, wie es funktioniert?

 
neverbeast:
Mein Fehler. Es war eine andere Version dieses Indikators, die ich hier beschrieben habe. Wie auch immer, ich bin ein Neuling in der Programmierung von mql4 und habe keine Ahnung, wie man das macht. Können Sie dieses Stück Code mit einem kleinen Tutorial schreiben, wie es funktioniert?

Sie können dies tun:

if (TimeCurrent()-Time[0])>15) return(0);

Platzieren Sie dies am Anfang der start()-Prozedur (als erste Zeile darin) und es wird verhindern, dass der Rest des Codes ausgeführt wird, wenn die Anzahl der seit dem Beginn der aktuellen Kerze verstrichenen Sekunden größer als 15 ist

 

Ich habe den Code für einen EA, aber meine Fähigkeiten sind.....none. Ich habe versucht, ihn zu kompilieren und die Bugs zu beseitigen, aber ohne Erfolg.

Jemand in der Lage zu helfen?

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Price Action V1 // hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double Lots = 1; extern double TP = 100; extern int TradeType = 0; // 0 um dem Trend zu folgen, 1 um den Kauf zu erzwingen, 2 um den Verkauf zu erzwingen extern int leverage = 5; extern double MaximumLossinMoney = 1000; extern int MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| Custom init | //|-------------+ int init() { } //+----------------+ //| Benutzerdefiniertes DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "Neue Order wurde hinzugefügt "+OrdersTotal()+" Saldo = " +Kontostand() + " Eigenkapital = "+KontoEigenkapital() +" Aktueller Kurs: " + Close[0]); return; } void DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, Time[1], Close[0]+500*Point); ObjectSet("Tprofit", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+------------------------------------------------------------------------+ //| Schließt alles //+------------------------------------------------------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } //+------------------------------------------------------------------------+ //| Storniert alle Orders, die im Gewinn sind //+------------------------------------------------------------------------+ //+------------------------------------------------------------------------+ //| Storniert alle schwebenden Orders //+------------------------------------------------------------------------+ //+-----------+ //| Main | //+-----------+ int start() { int OrdersBUY, ticket; int OrdersSELL; double BuyLots, SellLots, BuyProfit, SellProfit; //+------------------------------------------------------------------+ // Ermittlung des letzten Orderpreises | //-------------------------------------------------------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-TP*Point,Ask+leverage*TP*Point, "MLTrendETF",MagicNumber,0,Green); TradeType=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Fehler beim Öffnen einer BUY-Order : ",GetLastError()); return(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point, "MLTrendETF",MagicNumber,0,Green); TradeType = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Fehler beim Öffnen einer BUY-Order : ",GetLastError()); return(0); } } // start()

 

Sorry, hier ist es nicht ganz durcheinander

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Price Action V1 // hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double Lots = 1; extern double TP = 100; extern int TradeType = 0; // 0 um dem Trend zu folgen, 1 um den Kauf zu erzwingen, 2 um den Verkauf zu erzwingen extern int leverage = 5; extern double MaximumLossinMoney = 1000; extern int MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| Custom init | //|-------------+ int init() { } //+----------------+ //| Benutzerdefiniertes DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "Neue Order wurde hinzugefügt "+OrdersTotal()+" Saldo = " +Kontostand() + " Eigenkapital = "+KontoEigenkapital() +" Aktueller Kurs: " + Close[0]); return; } void DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, Time[1], Close[0]+500*Point); ObjectSet("Tprofit", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+------------------------------------------------------------------------+ //| Schließt alles //+------------------------------------------------------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } //+------------------------------------------------------------------------+ //| Storniert alle Orders, die im Gewinn sind //+------------------------------------------------------------------------+ //+------------------------------------------------------------------------+ //| Storniert alle schwebenden Orders //+------------------------------------------------------------------------+ //+-----------+ //| Main | //+-----------+ int start() { int OrdersBUY, ticket; int OrdersSELL; double BuyLots, SellLots, BuyProfit, SellProfit; //+------------------------------------------------------------------+ // Ermittlung des letzten Orderpreises | //-------------------------------------------------------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-TP*Point,Ask+leverage*TP*Point, "MLTrendETF",MagicNumber,0,Green); TradeType=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Fehler beim Öffnen einer BUY-Order : ",GetLastError()); return(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point, "MLTrendETF",MagicNumber,0,Green); TradeType = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Fehler beim Öffnen einer BUY-Order : ",GetLastError()); return(0); } } // start()

 
godrich:
Sorry, hier ist es nicht ganz durcheinander //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Price Action V1 // hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double Lots = 1; extern double TP = 100; extern int TradeType = 0; // 0 um dem Trend zu folgen, 1 um den Kauf zu erzwingen, 2 um den Verkauf zu erzwingen extern int leverage = 5; extern double MaximumLossinMoney = 1000; extern int MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| Custom init | //|-------------+ int init() { } //+----------------+ //| Benutzerdefiniertes DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "Neue Order wurde hinzugefügt "+OrdersTotal()+" Saldo = " +Kontostand() + " Eigenkapital = "+KontoEigenkapital() +" Aktueller Kurs: " + Close[0]); return; } void DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, Time[1], Close[0]+500*Point); ObjectSet("Tprofit", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+------------------------------------------------------------------------+ //| Schließt alles //+------------------------------------------------------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool result = false; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } return; } //+------------------------------------------------------------------------+ //| Storniert alle Orders, die im Gewinn sind //+------------------------------------------------------------------------+ //+------------------------------------------------------------------------+ //| Storniert alle schwebenden Orders //+------------------------------------------------------------------------+ //+-----------+ //| Main | //+-----------+ int start() { int OrdersBUY, ticket; int OrdersSELL; double BuyLots, SellLots, BuyProfit, SellProfit; //+------------------------------------------------------------------+ // Ermittlung des letzten Orderpreises | //-------------------------------------------------------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-TP*Point,Ask+leverage*TP*Point, "MLTrendETF",MagicNumber,0,Green); TradeType=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Fehler beim Öffnen einer BUY-Order : ",GetLastError()); return(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point, "MLTrendETF",MagicNumber,0,Green); TradeType = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("Fehler beim Öffnen einer BUY-Order : ",GetLastError()); return(0); } } // start()

godrich

Kannst du die mq4-Datei anhängen?

Auf diese Weise wird sie unbrauchbar, wenn sie in den Metaeditor eingefügt wird

 

Ich weiß nicht, ob das funktioniert hat, aber...

Dateien:
pac.mq4  5 kb
 

Hallo!

Ich habe gerade den PetD Indikator gefunden, der eine rote oder grüne Linie über meinen Candlestick zeichnet. Ich frage mich, ob es möglich ist, stattdessen einen Streifen mit einem farbigen Histogramm zu erstellen.

So kann ich ein separates Fenster mit entweder einem grünen oder einem roten Balken haben.

Danke

pet-d_full_option.mq4

Dateien:
 
NWFstudent:
Hallo!

Ich habe gerade den PetD Indikator gefunden, der eine rote oder grüne Linie über meinen Candlestick zeichnet. Was ich mich frage ist, ob es irgendwelche Möglichkeiten, einen Streifen von farbigen Histogramm stattdessen zu machen.

So kann ich ein separates Fenster mit entweder einem grünen oder einem roten Balken haben.

Danke

pet-d_full_option.mq4

NWFstudent

Hier ist auch dieser Typ: pet-d_full_option_-_separate.mq4

 
makototokyo:
Hallo,

dieser Indikator scheint nicht zu machen Alarm gut. Ich fühle mich wie es macht Alarm nur einmal nach der mt4 gestartet wird und nach dem 1. Alarm macht es nicht Ton. Ich habe auch erkannt, dass es Ton nur, wenn der bar ist "Höhepunkt".. aber ich möchte, dass es Ton zu machen, wenn der bar ist "rising".

Könnte jemand diesen Code für den Volumenindikator korrigieren?

Wenn Sie Zeit haben, dasselbe für den Kerzenindikator zu tun, wäre ich Ihnen dankbar, aber ich möchte nicht zu viel Ihrer Zeit in Anspruch nehmen.

Ich danke Ihnen im Voraus.

Makototokyo, hat die Alarme in der Version mit separatem Fenster geändert, um "bull rising and bear rising" Alarme zu verwenden, und sie sollten in dieser Version korrekt funktionieren.