![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was passiert ist das Programm tut alles erwarten, wenn die Zahl unter 15 ist es bleibt BLAU, nicht sicher, was ich falsch gemacht habe, ich hoffe, jemand könnte etwas Licht für mich zu vergießen.
Hier ist der Code ich habe 4 die Farben
Versuchen Sie dies:
if(sym_2 85) color_2 = Red; else color_2 = Blue;
if(sym_3 85) color_3 = Red; else color_3 = Blue;
if(sym_4 85) color_4 = Red; else color_4 = Blue;"bar" ist die Verschiebung vom aktuellen Bar:
0 - für den aktuellen (offenen) Balken
1 - für den vorherigen ("geschlossenen") Balken.
Danke!!!! Was bedeutet "bar"? Ist das +1 -1 Bar?
Danke für Ihre Hilfe Roger, ich weiß es zu schätzen
Hilfe bei der Erstellung eines ob/os-Indikators
Ich suche jemanden mit Programmierkenntnissen, der mir bei der Erstellung eines Überkauft/Überverkauft-Indikators hilft, der die Preisdifferenz von 2 Paaren nimmt und das Ergebnis anzeigt. Sollte ziemlich einfach sein, aber ich bin kein Programmierer, also bin ich mir nicht ganz sicher. Ist jemand daran interessiert, dies für mich auszuprobieren? Wenn ja, lasst es mich wissen, oder wenn jemand bereits ein solches Programm kennt, wäre das auch toll. Ich habe gesucht, aber nichts gesehen, das dies tut.
Pips bis zum Margin Call
Weiß jemand, wie man herausfinden kann, wie viele Pips eine Order gehen kann, bis man einen Margin Call auf die Position bekommt? Angenommen, es ist jeweils nur eine Position offen.
Ich bin sicher, dass es einen Weg gibt, aber ich habe es nicht herausfinden können.
Alarmsignale auf den Handel abgestimmt - wie geht das?
Hallo,
Ich habe einen Indikator, der Handelspfeile anzeigt, blau für Kauf und rosa für Verkauf. Ich benötige einen tatsächlichen Kauf- und Verkaufsauftrag zusammen mit einem akustischen Signal. Daher gibt es immer nur einen Handel für ein Paar, und der aktuelle Handel wird geschlossen, wenn der entgegengesetzte Pfeil erscheint, und es wird ein neuer Handel gemäß dem Pfeil eröffnet. Wo und wie kann ich den Code ändern. Ich füge den Code hiermit bei. Vielen Dank für Ihre Hilfe.
/*
+------------------------------------------------------------------+
| |
+------------------------------------------------------------------+
*/
#property copyright "Copyright)"
#property link "http://"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_width1 3
#property indicator_color2 Magenta
#property indicator_width2 3
extern string note1 = "First Moving Average";
extern int MA1 = 10;
extern string note2 = "0=sma, 1=ema, 2=smma, 3=lwma";
extern int MA1Mode = 0; //0=sma, 1=ema, 2=smma, 3=lwma
extern string note3 = "--------------------------------------------";
extern string note4 = "Second Moving Average";
extern int MA2 = 50;
extern string note5 = "0=sma, 1=ema, 2=smma, 3=lwma";
extern int MA2Mode = 0; //0=sma, 1=ema, 2=smma, 3=lwma
extern string note6 = "--------------------------------------------";
extern string note7 = "Arrow Type";
extern string note8 = "0=Thick, 1=Thin, 2=Hollow, 3=Round";
extern string note9 = "4=Fractal, 5=Diagonal Thin";
extern string note10 = "6=Diagonal Thick, 7=Diagonal Hollow";
extern string note11 = "8=Thumb, 9=Finger";
extern int ArrowType=2;
extern string note12 = "--------------------------------------------";
extern string note13 = "turn on Alert = true; turn off = false";
extern bool AlertOn = true;
extern string note14 = "--------------------------------------------";
extern string note15 = "send Email Alert = true; turn off = false";
extern bool SendAnEmail=false;
double CrossUp[];
double CrossDown[];
string AlertPrefix, MA1short_name, MA2short_name;
string GetTimeFrameStr() {
switch(Period())
{
case 1 : string TimeFrameStr="M1"; break;
case 5 : TimeFrameStr="M5"; break;
case 15 : TimeFrameStr="M15"; break;
case 30 : TimeFrameStr="M30"; break;
case 60 : TimeFrameStr="H1"; break;
case 240 : TimeFrameStr="H4"; break;
case 1440 : TimeFrameStr="D1"; break;
case 10080 : TimeFrameStr="W1"; break;
case 43200 : TimeFrameStr="MN1"; break;
default : TimeFrameStr=Period();
}
return (TimeFrameStr);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ArrowType == 0) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 234);
}
else if (ArrowType == 1) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 225);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 226);
}
else if (ArrowType == 2) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 241);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 242);
}
else if (ArrowType == 3) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 221);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 222);
}
else if (ArrowType == 4) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 217);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 218);
}
else if (ArrowType == 5) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 228);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 230);
}
else if (ArrowType == 6) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 236);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 238);
}
else if (ArrowType == 7) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 246);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 248);
}
else if (ArrowType == 8) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 67);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 68);
}
else if (ArrowType == 9) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 71);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 72);
}
SetIndexBuffer(0, CrossUp);
SetIndexBuffer(1, CrossDown);
//---- indicator short name
switch(MA1Mode)
{
case 1 : MA1short_name="EMA"; break;
case 2 : MA1short_name="SMMA"; break;
case 3 : MA1short_name="LWMA"; break;
default :
MA1Mode=0;
MA1short_name="SMA";
}
switch(MA2Mode)
{
case 1 : MA2short_name="EMA"; break;
case 2 : MA2short_name="SMMA"; break;
case 3 : MA2short_name="LWMA"; break;
default :
MA2Mode=0;
MA2short_name="SMA";
}
AlertPrefix=Symbol()+" ("+GetTimeFrameStr()+"): ";
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
bool NewBar()
{
static datetime lastbar;
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else
{
return(false);
}
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int limit, i, counter;
double MA1now, MA2now, MA1previous, MA2previous, MA1after, MA2after;
double Range, AvgRange;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(i = 0; i <= limit; i++) {
counter=i;
Range=0;
AvgRange=0;
for (counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;
MA1now = iMA(NULL, 0, MA1, 0, MA1Mode, PRICE_CLOSE, i);
MA1previous = iMA(NULL, 0, MA1, 0, MA1Mode, PRICE_CLOSE, i+1);
MA1after = iMA(NULL, 0, MA1, 0, MA1Mode, PRICE_CLOSE, i-1);
MA2now = iMA(NULL, 0, MA2, 0, MA2Mode, PRICE_CLOSE, i);
MA2previous = iMA(NULL, 0, MA2, 0, MA2Mode, PRICE_CLOSE, i+1);
MA2after = iMA(NULL, 0, MA2, 0, MA2Mode, PRICE_CLOSE, i-1);
if ((MA1now > MA2now) && (MA1previous MA2after)) {
CrossUp = Low - Range*1.5;
if ( NewBar())
{
if (AlertOn) {
Alert(AlertPrefix+MA1short_name+" ("+MA1+") "+"crosses UP " + MA2short_name+" ("+MA2+")");
}
if (SendAnEmail) {
SendMail(AlertPrefix,MA1short_name+" ("+MA1+") "+"crosses UP " + MA2short_name+" ("+MA2+")");
}
}
}
else if ((MA1now MA2previous) && (MA1after < MA2after)) {
CrossDown = High + Range*1.5;
if (NewBar())
{
if (AlertOn) {
Alert(AlertPrefix+MA1short_name+" ("+MA1+") "+"crosses DOWN " + MA2short_name+" ("+MA2+")");
}
if (SendAnEmail) {
SendMail(AlertPrefix,MA1short_name+" ("+MA1+") "+"crosses DOWN " + MA2short_name+" ("+MA2+")");
}
}
}
}
return(0);
}
Sieht aus wie ein einfacher MA-Kreuz-Indikator. Überprüfen Sie den Link in meinem sig für ein kostenloses Tutorial, das Ihnen ermöglicht, eine MA Kreuz EA bauen.
Viel Erfolg!
Lux
Hallo seniore der EA kann den Roboter machen.. Modell auch martiangle
1.looping -> Legen Sie den Roboter, wie viele Male den Weg rund
2.First Order Auto -> Bestellen Sie kaufen oder verkaufen, basierend auf dem Trend der kleinen Markt zu diesem Zeitpunkt, dann Auto op neben dem letzten kaufen oder verkaufen.
3.start lot -> Set lot
4.range -> Der Abstand zwischen der Position, die Sie bestellen ein mit der anderen Position
5.rangeincrease--> Entwicklung des Abstandes zwischen der Position der anderen mit den anderen Positionen in Übereinstimmung mit mehreren Wachstum
6.start level increase -> dibaris, um die Funktion zu aktivieren Parameter rangeincrease
7.multiplier -> Multiplikation Los in der nächsten Bestellung
8.TPmoney -> schließen Sie alle Aufträge, wenn erreicht Gewinn des Geldes zu diesem Zeitpunkt.
danke
Hilfe EA
Hallo seniore die EA kann der Roboter machen.. Modell auch martiangle
1.looping -> Legen Sie den Roboter, wie viele Male den Weg rund
2.First Order Auto -> Bestellen Sie kaufen oder verkaufen, basierend auf dem Trend der kleinen Markt zu diesem Zeitpunkt, dann Auto op neben dem letzten Kauf oder Verkauf.
3.start lot -> Set lot
4.range -> Der Abstand zwischen der Position, die Sie bestellen eine mit der anderen Position
5.rangeincrease--> Entwicklung des Abstandes zwischen der Position der anderen mit den anderen Positionen in Übereinstimmung mit mehreren Wachstum
6.start level increase -> dibaris, um die Funktion zu aktivieren Parameter rangeincrease
7.multiplier -> Multiplikation Los in der nächsten Bestellung
8.TPmoney -> schließen Sie alle Aufträge, wenn erreicht Gewinn des Geldes zu diesem Zeitpunkt.
danke
Uppp plsss
iTime
Hier ist der Code, um die Anfangszeit des Balkens im MTF zu ermitteln
GetTime =(iTime(Symbol(),60,i)); ist OK
wie erhalten wir die Endzeit des Balkens?
Danke