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
ican verwenden lwma so, wenn ich die Periode zu 30 in Rumpf, was mv sollte ich in das Diagramm zwei ma oder nur eine mit howmuch Zeitraum iam nicht gut in Mathe und danke sehr sehr viel Mann auf Ihre Bemühungen setzen wollen
zoroxzyad
Sie können nicht nur den gleitenden Durchschnitt verwenden. Sie müssen die Formel aus dem Beitrag vor verwenden
Gibt es schon ein Handbuch für den neuen Metatrader 4?
Oder werden sie jemals eine machen?
Gibt es schon ein Handbuch für den neuen Metatrader 4 oder wird es jemals eines geben?
Nicht dass ich wüsste. Ich nehme an, es wird welche geben (zu einem bestimmten Zeitpunkt der Entwicklung).
Mladen, im Anhang finden Sie einen von Ihnen modifizierten Indikator, der Crossover-Signale auf dem Hauptdiagramm anzeigt.
Dieser Code ist von der neuen Version.
arrDn[CB] = EMPTY_VALUE;
state[CB] = state[CB+1];
if (TrendBuffer[CB]>LoBuffer[CB]) state[CB] = 1;
if (TrendBuffer[CB]<LoBuffer[CB]) state[CB] = -1;
if (state[CB]!=state[CB+1])
{
if (state[CB]== 1) arrUp[CB] = Low[CB] -iATR(NULL,0,10,CB)/2.0;
if (state[CB]==-1) arrDn[CB] = High[CB]+iATR(NULL,0,10,CB)/2.0;
}Gibt es eine einfache Möglichkeit zu erklären, wie dieser Code die Signale einfügt?
Ich danke Ihnen.
Mladen, im Anhang finden Sie einen von Ihnen modifizierten Indikator, der Crossover-Signale im Hauptdiagramm anzeigt.
Dieser Code stammt aus der neuen Version.
arrDn[CB] = EMPTY_VALUE;
state[CB] = state[CB+1];
if (TrendBuffer[CB]>LoBuffer[CB]) state[CB] = 1;
if (TrendBuffer[CB]<LoBuffer[CB]) state[CB] = -1;
if (state[CB]!=state[CB+1])
{
if (state[CB]== 1) arrUp[CB] = Low[CB] -iATR(NULL,0,10,CB)/2.0;
if (state[CB]==-1) arrDn[CB] = High[CB]+iATR(NULL,0,10,CB)/2.0;
}Gibt es eine einfache Möglichkeit zu erklären, wie dieser Code die Signale einfügt?
Ich danke Ihnen.Michael
Er sucht nach einer Kreuzung von Werten in zwei Puffern: TrendBuffer und LoBuffer. Er markiert den aktuellen Zustand der beiden: wenn TrendBuffer > LoBuffer ist, setzt er den Zustand auf 1 und wenn TrendBuffer < LoBuffer ist, setzt er den Zustand auf -1.
Wenn der Status des aktuellen Balkens sich vom Status des vorherigen Balkens unterscheidet, bedeutet dies, dass ein Kreuz vorliegt. Und dann zeichnet es einen Pfeil auf dem Chart
Auch lästige Lehrer wieder, bitte setzen Sie diesen Indikator in MT4 Indikatoren umgewandelt, danke!
farbbalken_hlc.mq5
Michael
Es sucht nach einer Kreuzung von Werten in zwei Puffern: TrendBuffer und LoBuffer. Es markiert den aktuellen Zustand der beiden: wenn TrendBuffer > LoBuffer ist, setzt es den Zustand auf 1 und wenn TrendBuffer < LoBuffer ist, setzt es den Zustand auf -1.
Wenn sich der Status des aktuellen Balkens vom Status des vorherigen Balkens unterscheidet, bedeutet dies, dass es ein Cross gibt. Und dann wird ein Pfeil auf dem Chart gezeichnetOK, das erklärt TrendBuffer und LoBuffer.
Aber wie funktionieren arrUp und arrDn?
Warum erscheinen die Signale bei bestimmten Kerzen und nicht bei jeder Kerze?
Nochmals vielen Dank.
OK, das erklärt TrendBuffer und LoBuffer.
Aber wie funktionieren arrUp und arrDn?
Warum erscheinen die Signale bei bestimmten Kerzen und nicht bei jeder Kerze?
Nochmals vielen Dank.michael
Stellen Sie sich eine Sequenz wie diese vor (1 wenn TrendBuffer > LoBuffer, -1 wenn TrendBuffer < LoBuffer)
11111111-1-1-1-1-1-1-1-111111111
Die Pfeile müssen nur gezeichnet werden, wenn 1 zu -1 wird oder wenn -1 zu 1 wird (wenn sich der "Zustand" ändert). Deshalb gibt es eine Zeile, die dies überprüft (diese Zeile: if (state[CB] !=state[CB+1]) ). Wenn sich also der Zustand ändert, wird der Pfeil gezeichnet, andernfalls muss der Pfeil gar nicht gezeichnet werden.
Hallo mladen,
ich hoffe, du hast so kurz vor Jahresende noch Zeit.
Der untenstehende Code bezieht sich auf die zuletzt gestellte Frage von mir. Er trailt 0,8 Pips für eine Order nach dem Ziel von 2 Pips im Plus.
Aber wie kann ich es ändern, so dass es alle Aufträge überprüft und Trails für sie einzeln?
Ich danke Ihnen sehr! Tolle Arbeit, die Sie hier leisten.
int start()
{
//----
if (OrdersTotal() == 0) {
isStopLoss = false;
}
for(int i=0; i<=OrdersTotal(); i++) {
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
continue;
}
if(OrdersTotal() == 0) {
continue;
}
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(isStopLoss == true) {
if(OrderType() == OP_BUY) {
if(iClose(Symbol(), 0, 0) >= (OrderOpenPrice()+inProfitStopLoss*Point)) { // Zieht bei 2.0 Pips nach! - 200 = 2.0 Pips
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) >= (lastStopLoss+trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss+trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+inProfitStopLoss*Point,0,0,0);
if(OrderStopLoss() >= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
} else if(OrderType() == OP_SELL) {
if(iClose(Symbol(), 0, 0) <= (OrderOpenPrice()-inProfitStopLoss*Point)) {
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) <= (lastStopLoss-trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss-trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-inProfitStopLoss*Point,0,0,0); // 200 ursprünglich
if(OrderStopLoss() <= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
}
lastStopLoss = OrderStopLoss();
continue;
}
if(OrderType() == OP_BUY) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-initialStopLoss*Point,0,0,0);
} else if(OrderType() == OP_SELL) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+initialStopLoss*Point,0,0,0);
}
lastStopLoss = OrderStopLoss();
}
//----
return(0);
}Hallo mladen,
Ich hoffe, Sie haben so kurz vor Ende des Jahres Zeit.
Der Code unten hat Bezug auf die letzte Frage von mir gestellt. Er trailt 0,8 Pips für eine Order nach dem Ziel von 2 Pips im Plus.
Aber wie kann ich es ändern, so dass es alle Aufträge überprüft und Trails für sie einzeln?
Ich danke Ihnen sehr! Tolle Arbeit, die Sie hier leisten.
int start()
{
//----
if (OrdersTotal() == 0) {
isStopLoss = false;
}
for(int i=0; i<=OrdersTotal(); i++) {
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
continue;
}
if(OrdersTotal() == 0) {
continue;
}
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(isStopLoss == true) {
if(OrderType() == OP_BUY) {
if(iClose(Symbol(), 0, 0) >= (OrderOpenPrice()+inProfitStopLoss*Point)) { // Zieht bei 2.0 Pips nach! - 200 = 2.0 Pips
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) >= (lastStopLoss+trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss+trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+inProfitStopLoss*Point,0,0,0);
if(OrderStopLoss() >= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
} else if(OrderType() == OP_SELL) {
if(iClose(Symbol(), 0, 0) <= (OrderOpenPrice()-inProfitStopLoss*Point)) {
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) <= (lastStopLoss-trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss-trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-inProfitStopLoss*Point,0,0,0); // 200 ursprünglich
if(OrderStopLoss() <= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
}
lastStopLoss = OrderStopLoss();
continue;
}
if(OrderType() == OP_BUY) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-initialStopLoss*Point,0,0,0);
} else if(OrderType() == OP_SELL) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+initialStopLoss*Point,0,0,0);
}
lastStopLoss = OrderStopLoss();
}
//----
return(0);
}arroganzmaschine
Schauen Sie sich die Art und Weise an, wie Trailing Stops in diesem EA verwaltet werden: https: //www.mql5.com/en/forum/181334. Ich denke, er kann Ihnen helfen, da er alle Elemente (einschließlich der Fehlerprüfung) enthält, die für die Handhabung von Trailing-Stop-Loss erforderlich sind.