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
MetaTrader und Orderbuch
Ok, ich muss sagen, die vordefinierten Variablen "Ask" und "Bid" speichern die eigentlich besten Orders... Aber was ist mit den anderen Levels und Lots des Orderbuchs? Kann ich diese Daten trotzdem in meinem Code verwenden?
Bitte helfen Sie mir, ich habe schon überall im Web gesucht, aber keine Antwort gefunden.
prota
Eine schnelle Frage...
Alter, wenn ich das fettgedruckte mache, dann muss ich das unterstrichene nicht machen, richtig?
if(Ask>=Line1)
{
posisi=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slipage,0,0, "OneLineEA ver 1.0",Megic,0,Green);
if(OrderSelect(posisi,SELECT_BY_TICKET)==true)
{
posisi=OrderTicket();
}
}
Bitte helfen Sie mir
HI codersguru
Vielen Dank für Ihre Hilfe
BITTE KÖNNEN SIE DIESEN STATMENT UND DIE BEDEUTUNG ERKLÄREN
for(int shift = Bars-10; shift >= 0; shift--)
{
ExtMapBuffer1[shift] = ma[shift];
ExtMapBuffer2[shift] = ma[shift];
//Drucken (ma[shift]);
if (ma[shift] > ma[shift+1])
{
ExtMapBuffer1[shift] = EMPTY_VALUE;
ExtMapBuffer2[shift+1] = ma[shift+1];
}
else if (ma[shift] < ma[shift+1])
{
ExtMapBuffer2[shift] = EMPTY_VALUE;
ExtMapBuffer1[shift+1] = ma[shift+1];
}
IN DIESEM EA
//---- Indikatoreinstellungen
#Eigenschaft indicator_chart_window
#Eigenschaft indicator_buffers 2
#Eigenschaft indicator_color1 Kalk
#Eigenschaft indicator_color2 Rot
//---- Puffer
double ExtMapBuffer1[];
double ExtMapBuffer2[],ma[];
extern int MAType = 1;
extern int MAPeriod = 34;
extern int MAShift = 0;
extern int PriceType=0;
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//---- 2 zusätzliche Puffer werden für die Zählung verwendet.
IndicatorBuffers(5);
//---- Zeichnungseinstellungen
SetIndexPuffer(0,ExtMapPuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(2,ma);
SetIndexStyle(0,DRAW_LINE,0,2);
SetIndexStyle(1,DRAW_LINE,0,2);
//---- Initialisierung abgeschlossen
return(0);
}
int start()
{
for(int i = Bars-10; i >= 0; i--)
{
ma=iMA(NULL,0,MAPeriod,MAShift,MAType,PriceType,i);
}
for(int shift = Bars-10; shift >= 0; shift--)
{
ExtMapBuffer1[shift] = ma[shift];
ExtMapBuffer2[shift] = ma[shift];
//Drucken (ma[shift]);
if (ma[shift] > ma[shift+1])
{
ExtMapBuffer1[shift] = EMPTY_VALUE;
ExtMapBuffer2[shift+1] = ma[shift+1];
}
else if (ma[shift] < ma[shift+1])
{
ExtMapBuffer2[shift] = EMPTY_VALUE;
ExtMapBuffer1[shift+1] = ma[shift+1];
}
}
return(0);
}
//+------------------------------------------------------------------+
Dankeschön
Es handelt sich nicht um EA, sondern um den Indikator, der Ihnen anzeigt, wann der Indikator"Gleitender Durchschnitt" nach oben oder unten geht.
Der Code, den Sie benötigen, berechnet nur die letzten zehn Balken.
Legen Sie ihn in das Verzeichnis /indicators und starten Sie Ihr Terminal neu.
der Unterschied
Hallo zusammen
kann mir jemand helfen
was ist der Unterschied zwischen EMA5c und EMA5p
was der Mittelwert (EMA5c>EMA10c && EMA5pEMA10c))
double EMA5c = iMA(NULL,TimeFrame,5,0,MODE_EMA,PRICE_CLOSE, 0 );
double EMA10c = iMA(NULL,TimeFrame,10,0,MODE_EMA,PRICE_CLOSE,0);
double EMA5p = iMA(NULL,TimeFrame,5,0,MODE_EMA,PRICE_CLOSE, 1 );
double EMA10p = iMA(NULL,TimeFrame,10,0,MODE_EMA,PRICE_CLOSE,1);
Die Namen sind nur Variablennamen und haben als solche keine wirkliche Bedeutung. Programmierer wählen Variablennamen in der Regel so, dass es selbsterklärend ist, welche Art von Wert sie enthalten sollen. Wenn man sich diese beiden Namen ansieht, scheint es, als hätte der Programmierer beschlossen, das Suffix c an die aktuelle Barrenvariable und p an die vorherige Barrenvariable anzuhängen.
Lux
Hey Mann habe eine Frage, ich habe einen Indikator, dass ein Freund gab mir, dass ich für ein paar Wochen jetzt demoing und liebe es. Kurze Erklärung, ein Pfeil wird auf meinen Charts zeigen mir sagen, in welche Richtung die Bewegung zu spielen. Ich benutze ihn auf 30m-Charts, damit er nicht zu oft auftaucht. Gibt es eine Möglichkeit, dass, wenn der Pfeil für die Long-Position angezeigt wird, meine Short-Position geschlossen wird und ich Long gehe, oder wenn es keine Short-Position gibt, einfach Long gehe. Und umgekehrt mit dem Short-Signal?
Ich habe keine Schaltfläche zum Bearbeiten gesehen, also hier ist der Code. Es sieht nicht so aus, als ob es zu schwierig wäre, einfach den Kauf- oder Verkaufscode hinzuzufügen. Dies ist der Code für den Zickzackkurs. Frei ind.
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- indicator parameters
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
//---- indicator buffers
double ZigzagBuffer[];
double HighMapBuffer[];
double LowMapBuffer[];
int level=3; // recounting's depth
bool downloadhistory=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_SECTION);
//---- indicator buffers mapping
SetIndexBuffer(0,ZigzagBuffer);
SetIndexBuffer(1,HighMapBuffer);
SetIndexBuffer(2,LowMapBuffer);
SetIndexEmptyValue(0,0.0);
//---- indicator short name
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars = IndicatorCounted();
int limit,counterZ,whatlookfor;
int shift,back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;
if (counted_bars==0 && downloadhistory) // history was downloaded
{
ArrayInitialize(ZigzagBuffer,0.0);
ArrayInitialize(HighMapBuffer,0.0);
ArrayInitialize(LowMapBuffer,0.0);
}
if (counted_bars==0)
{
limit=Bars-ExtDepth;
downloadhistory=true;
}
if (counted_bars>0)
{
while (counterZ<level && i<100)
{
res=ZigzagBuffer;
if (res!=0) counterZ++;
i++;
}
i--;
limit=i;
if (LowMapBuffer!=0)
{
curlow=LowMapBuffer;
whatlookfor=1;
}
else
{
curhigh=HighMapBuffer;
whatlookfor=-1;
}
for (i=limit-1;i>=0;i--)
{
ZigzagBuffer=0.0;
LowMapBuffer=0.0;
HighMapBuffer=0.0;
}
}
for(shift=limit; shift>=0; shift--)
{
val=Low;
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=LowMapBuffer[shift+back];
if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0;
}
}
}
if (Low[shift]==val) LowMapBuffer[shift]=val; else LowMapBuffer[shift]=0.0;
//--- high
val=High;
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=HighMapBuffer[shift+back];
if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0;
}
}
}
if (High[shift]==val) HighMapBuffer[shift]=val; else HighMapBuffer[shift]=0.0;
}
// final cutting
if (whatlookfor==0)
{
lastlow=0;
lasthigh=0;
}
else
{
lastlow=curlow;
lasthigh=curhigh;
}
for (shift=limit;shift>=0;shift--)
{
res=0.0;
switch(whatlookfor)
{
case 0: // look for peak or lawn
if (lastlow==0 && lasthigh==0)
{
if (HighMapBuffer[shift]!=0)
{
lasthigh=High[shift];
lasthighpos=shift;
whatlookfor=-1;
ZigzagBuffer[shift]=lasthigh;
res=1;
}
if (LowMapBuffer[shift]!=0)
{
lastlow=Low[shift];
lastlowpos=shift;
whatlookfor=1;
ZigzagBuffer[shift]=lastlow;
res=1;
}
}
break;
case 1: // look for peak
if (LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)
{
ZigzagBuffer[lastlowpos]=0.0;
lastlowpos=shift;
lastlow=LowMapBuffer[shift];
ZigzagBuffer[shift]=lastlow;
res=1;
}
if (HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0)
{
lasthigh=HighMapBuffer[shift];
lasthighpos=shift;
ZigzagBuffer[shift]=lasthigh;
whatlookfor=-1;
res=1;
}
break;
case -1: // look for lawn
if (HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)
{
ZigzagBuffer[lasthighpos]=0.0;
lasthighpos=shift;
lasthigh=HighMapBuffer[shift];
ZigzagBuffer[shift]=lasthigh;
}
if (LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0)
{
lastlow=LowMapBuffer[shift];
lastlowpos=shift;
ZigzagBuffer[shift]=lastlow;
whatlookfor=1;
}
break;
default: return;
}
}
return(0);
}
//+------------------------------------------------------------------+Frage für Neulinge
Hallo zusammen
ist es möglich, für einen benutzerdefinierten Indikator auf die vorherige Kerze zu suchen? wenn ja, was muss ich tun?
Grundsätzlich möchte ich nach der Farbe des Indikators suchen.
Vielen Dank im Voraus
Hallo zusammen
ist es möglich, für einen benutzerdefinierten Indikator auf die vorherige Kerze zu suchen? wenn ja, was muss ich tun?
Grundsätzlich möchte ich nach der Farbe des Indikators suchen.
Vielen Dank im VorausSchauen Sie in der Hilfedatei des Metaeditors nach der Funktion iCustom.
Lux