![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
Zu chiwing
Versuchen Sie dies:
#property link "http://www.metaquotes.net/"
#property show_inputs
bool result;
extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE
//+------------------------------------------------------------------+
//| script "delete pending order" |
//+------------------------------------------------------------------+
int start()
{
for (int number=OrdersTotal()-1; number >= 0; number--)
{
OrderSelect(number,SELECT_BY_POS,MODE_TRADES);
if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;
if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();
if (OverSymbolDel ==1) delPending();
}
}
//+------------------------------------------------------------------+
void delPending()
{
OrderPrint();
int ticket =OrderTicket();
result=OrderDelete(ticket);
if (!result) Print("Error when delete Order ", GetLastError() );
}if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) delPending();
Ändern in
if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() )) delPending();
GetClientRect???
Wie sollte ich vorgehen, wenn ich die Client-Koordinaten des Diagramms ermitteln möchte?
Ich möchte die unteren rechten Koordinaten wissen, ohne OBJPROP_CORNER zu verwenden.![](https://c.mql5.com/forextsd/smiles/confused.png)
Mit freundlichen Grüßen.
Eu h1 ea
Bitte helfen Sie mir, die beste Lösung zu finden.
Hilfe bei Logik
Hallo zusammen,
Ich möchte ein wenig Hilfe mit einigen Code-Logik. Ich versuche, einen EA eines Systems zu bauen, das ich mir anschaue, aber ich bin ein wenig verwirrt, wie man die Logik für Kauf- und Verkaufssignale schreibt. Hier ist die Pseudo-Logik von dem, was ich will, um in MQL zu machen:
KAUF-LOGIK:
// Once we have a "GET READY" signal the following conditions need to be true
// in order for the system to create a "BUY_SIGNAL".
// Note: the following conditions do not necessarily have to become true on the exact same bar,
but need to trigger true within + or - 2 bars of the "GET READY" bar.
( CLOSE > MA3 ) // Price closes above a MA
( CCI Crosses above the ZERO line ) // CCI crosses up above zero
( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up sideDie Verkaufslogik ist genau das Gegenteil der Kauflogik.
Ich brauche keinen vollständigen EA-Code, sondern nur die in MQL umgewandelte Logik mit 'IF'- und 'LOOP'-Anweisungen, um das Signal auszuarbeiten. Ich denke, ich kann herausfinden, die OpenOrder-Code etc... aus vielen Beispielen bereits in diesem Thread.
Jede Hilfe, die jemand geben kann, würde sehr geschätzt werden.
Vielen Dank!
Moxy
Am besten schauen Sie in der Hilfedatei des Metaeditors nach.
Schauen Sie sich Funktionen wie iMa, iStochastic und iCCI an. Dort finden Sie Beispiele, und wenn Sie diese mit den Informationen kombinieren, die Sie beim Betrachten des Codes in einem beliebigen EA erhalten, werden Sie es leicht finden.
Viel Erfolg!
Lux
Am besten schauen Sie in der Hilfedatei des Metaeditors nach.
Schauen Sie sich Funktionen wie iMa, iStochastic und iCCI an. Sie enthalten Beispiele, und wenn Sie diese mit den Informationen kombinieren, die Sie beim Betrachten des Codes in jedem EA erhalten, werden Sie es leicht finden.
Viel Erfolg!
LuxHallo Lux,
vielen Dank für die Antwort. Ich kann die einzelnen iMA-Anweisungen usw. ausarbeiten. Das Problem, das ich habe, ist, wie man die verschiedenen Zeitbalken referenziert, sobald ein Signal ausgelöst wird. Zum Beispiel... Wenn ich ein GET READY-Signal habe, muss ich mir die 2 Balken davor und die 2 Balken danach (insgesamt 5 Balken) für die anderen Indikatoren ansehen, um zu bestätigen, dass ich ein KAUFSIGNAL bei der Eröffnung des nächsten Balkens habe. Ich bin mir nicht sicher, ob das Sinn macht!
Ich denke schon... wie würde ich die notwendigen FOR-Schleifen usw. strukturieren, wenn ich mich auf Balken vor und nach dem zu verarbeitenden Balken beziehen muss.
Mit freundlichen Grüßen,
Moxy
Hallo Lux,
Vielen Dank für die Antwort. Ich kann die einzelnen iMA-Anweisungen usw. ausarbeiten. Das Problem, das ich habe, ist, wie man die verschiedenen Zeitleisten referenziert, sobald ein Signal ausgelöst wird. Zum Beispiel... Wenn ich ein GET READY-Signal habe, muss ich mir die 2 Balken davor und 2 Balken danach (insgesamt 5 Balken) für die anderen Indikatoren ansehen, um zu bestätigen, dass ich ein KAUFSIGNAL bei der Eröffnung des nächsten Balkens habe. Ich bin mir nicht sicher, ob das Sinn macht!
Ich denke schon... wie würde ich die notwendigen FOR-Schleifen usw. strukturieren, wenn ich auf Balken vor und nach dem zu verarbeitenden Balken verweisen muss.
Meine Grüße,
MoxySie tun dies, indem Sie die Shift-Variable in iMA() verwenden. Sie können dies auch mit den Werten Open, High, Low, Close machen, z.B. Close[3], der 3 Bars vom aktuellen Bar entfernt ist.
Gleitender Durchschnitt der Bewegungen
Ok brauchen ein bisschen Hilfe mit Code, ich bin auf der Suche, um eine Reihe von durchschnittlichen Bewegungen um einen MA zu bestimmen, so dass von der ältesten BAR, ich für die Bewegungen über und unter suchen, setzen Sie sie in ein Array dann Durchschnitt, dass Array.
Hier ist der Code, mit dem ich anfange, und ich suche ein bisschen Unterstützung, um es zu schaffen.
double AverageMove()
{
int cbars = iBars(Symbol(),EntryTimeFrame);
int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0;
double retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow;
bool reset,TradeShort,TradeLong;
iLimit=Bars-1;
if(Symbol() != "AUDNZD") return(0);
for(ndx=0; ndx<iLimit; ndx++)
{
MAWert = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx);
pHWert = Hoch[ndx];
pLValue = Low[ndx];
if(MAvalue pLValue)
{
if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue);
zurücksetzen = true;
if(EntryPoint > 0 && cHigh > 0)
{
BereichZähler++;
RangeValue[RangeCounter]=cHigh - EntryPoint;
}
if(EntryPoint > 0 && cLow > 0)
{
RangeCounter++;
RangeValue[RangeCounter]=EntryPoint - cLow;
}
EntryPoint = MAWert;
}
if(pHWert < MAWert && reset) TradeShort = true;
if(pLValue > MAvalue && reset) TradeLong = true;
if(TradeLong)
{
zurücksetzen = falsch;
cHigh = pHWert;
}
if(TradeShort)
{
reset = False;
cLow = pLValue;
}
}
ArraySetAsSeries(RangeValue,true);
retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0);
Print("Durchschnittliche Bewegung "+retval);
}
Ich möchte den Kundenbereich in der Tabelle kennen.
Guten Tag,
Ich möchte gerne den Kundenbereich im Diagramm kennen.
Bitte beraten Sie mich.
Angenommen, der Punkt der linken oberen Ecke ist (0,0), dann teilen Sie mir bitte die Koordinaten der rechten unteren Ecke mit.![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
In diesem Fall sollte ObjectSet("",OBJPROP_CORNER,3) nicht verwendet werden.
Vielen Dank und herzliche Grüße,
Moxy,
Wenn ich Sie richtig verstehe, dann müssen Sie dies Zeile für Zeile in einem EA codieren.
Beispiel
MA1, Index-1 vorher
MA1, Index jetzt
MA1, Index+1 danach
Sie haben die Basis dort