Hilfe bei der Codierung - Seite 406

 
elfural:
Liebe mrtools und mladen

Kann jemand helfen? Tom Demark Moving Average ist ein Schlüsselindikator in meiner Strategie, jedoch wäre ein Alarm sehr nützlich, wenn ein neuer Boden angezeigt wird; ich wäre sehr dankbar, wenn ein Alarm in den Indikator kodiert werden könnte. Ich freue mich auf Ihre freundliche Unterstützung.

herzlichen Dank

Elfural, ich habe der von Ihnen geposteten Version einen Alarm hinzugefügt und möchte Ihnen eine von Mladen korrigierte Version zeigen, die Sie vielleicht interessieren könnte: https: //www.mql5.com/en/forum/178551/page2, nur für den Fall, dass Sie auch dieser Version einen Alarm hinzugefügt haben.

 

Hallo Leute,

Ich brauche Hilfe bei der Kodierung dieses Indikators. Es ist ein großer Indikator, obwohl es 4-5 Kerzen verzögert. Bitte um Hilfe.

grail_indic.ex4

Dateien:
 
mrtools:
Elfural, fügte eine Warnung zu der von dir geposteten Version hinzu, und möchte dir eine von Mladen korrigierte Version zeigen, die dich vielleicht interessiert: https: //www.mql5.com/en/forum/178551/page2 nur für den Fall, dass auch diese Version mit Warnungen versehen wurde.

Jetzt tut es genau das, was ich brauchte.

Vielen Dank für deine großartige Hilfe.

 

1 Handel pro Signal.Hallo MQL-Pro-Coder,

Ich frage mich, ob mir jemand helfen kann. Ich würde gerne "ein Handel pro Signal" in meinen

in meinen EA implementieren. Wenn der EA sein Gewinnziel erreicht, kann es durchaus sein, dass der EA

einen weiteren Handel in dieselbe Trendrichtung eröffnet. Dies kann zu einem Verlustgeschäft führen, weil

weil sich das Signal gerade ändert (siehe beigefügte Screenshots).

Wie kann ich die Funktion"ein Handel pro Signal" am besten umsetzen?

Ich könnte natürlich das Gewinnziel erhöhen, um zu verhindern, dass der EA einen weiteren Handel eröffnet,

aber das ist wahrscheinlich nicht der beste Weg.

Ich habe versucht, dies zu implementieren, aber, der Code kompiliert und es gibt eine Warnung:

" Prüfen Sie den Vorrang von Operatoren auf mögliche Fehler; verwenden Sie Klammern, um den Vorrang zu verdeutlichen"

Wie kann ich diese Funktion am besten implementieren?Ich danke Ihnen im Voraus!

extern int maxshorttrades = 1;

extern int maxlongtrades = 1;

//+--------------------------+

//| ORDER Logik / Indikatoren |

//+--------------------------+

if(openedOrders<=0)

{

double CCIFilter = iCCI(NULL,0,CCIPeriod,CCIMethod,0);

double trendc = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trendp = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

//+-----+

//| BUY |

//+-----+

for (i=OrdersTotal()-1;i>=0; i--)

if(OrderType()==OP_BUY<maxlongtrades) break; // Position und Longtrades prüfen.

{

if(trendc!=trendp)

{

if(trendc==1 && CCIFilter<-80) // Code für Kauf

OpenBuy();

return(0);

}

openOrders++;

}

//+------+

//| SELL |

//+------+

for (i=OrdersTotal()-1;i>=0; i--)

if(OrderType()==OP_SELL<maxshorttrades) break; // Position und Shorttrades prüfen.

{

if(trendc==-1 && CCIFilter>80) // Code für Verkauf

{

OpenSell();

return(0);

}

openOrders++;

}

}

//+-----------------+

//| Positionen schließen |

//+-----------------+

void CheckForClose()

{

RefreshRates();

double CCIFilter_c = iCCI(NULL,0,CCIPeriod,CCIMethod,0);

double trendc_c = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trendp_c = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

for(int i=0;i<OrdersTotal(); i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!= MAGIC) weiter;

if(BestellSymbol() != s_symbol) continue;

//+-----------+

//| Close BUY |

//+-----------+

if(trendc_c!=trendp_c) // Trend prüfen

{

if(OrderType()==OP_BUY)

{

if(trendc_c==-1 && CCIFilter_c>80) // SELL und CCI-Filter?

{

bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);

if(buyClose==false)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert= StringConcatenate("Close Buy Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts == true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break; }

}

}

Dateien:
signal1.jpg  19 kb
 

Hallo!

Könnte mir bitte jemand mit dem Linear Price Line Indikator helfen? Ich versuche eine abgewandelte Version davon zu erstellen, die das Hoch vom Tief subtrahiert. Wenn das Low größer ist als das High oder wenn das High gleich dem Openprice und somit Null ist (weil es kein High gibt), dann sollte der Output ein negativer Wert sein (die Linie im Indikator sollte unter die 0.00 Marke schießen). Im Moment bleibt es eine positive Zahl, egal ob das High der Kerze größer ist als das Low der Kerze oder nicht.

Hier ist die normale Version und der fehlerhafte Differenzindikator.linear_price_bar.zip

linearer_preis_bartestdiff.mq4

Vielen Dank im Voraus

 
tfi_markets:

1 Handel pro Signal.Hallo MQL Pro-Coder,

ich frage mich, ob mir jemand helfen kann.

Ich würde gerne "ein Handel pro Signal"

in meinen EA

implementieren

.

Wenn der EA sein Gewinnziel erreicht, kann es gut sein, dass der EA

einen weiteren Handel in dieselbe Trendrichtung eröffnet.

Dies kann zu einem Verlustgeschäft führen, da

sich das Signal gerade ändert (siehe beigefügte Screenshots).

Wie kann ich die Funktion "ein Handel pro Signal" am besten implementieren?

Ich könnte natürlich das Gewinnziel erhöhen, um zu verhindern, dass der EA einen weiteren Handel eröffnet,

aber das ist wahrscheinlich nicht der beste Weg.

Ich habe versucht, dies zu implementieren, aber

der Code kompiliert und gibt eine Warnung aus:

" Prüfen Sie die Vorrangigkeit der Operatoren auf mögliche Fehler; verwenden Sie Klammern, um die Vorrangigkeit zu verdeutlichen"

Wie kann ich diese Funktion am besten implementieren?Ich danke Ihnen im Voraus!

Versuchen Sie dies:

bool Result;

int openedOrders = 0;

for (i=OrdersTotal()-1; i>=0; i--)

{

Result = OrderSelect(i, SELECT_BY_POS,MODE_TRADES);

if (OrderSymbol() != Symbol()) continue;

if (OrderMagicNumber() != MagicNumber) continue;

openedOrders++;

}

if (openedOrders <= 0)

{ .....

 
mrcodix:
Hallo!

Könnte mir bitte jemand mit dem Linear Price Line Indikator helfen? Ich versuche, eine veränderte Version davon zu erstellen, die das Hoch vom Tief subtrahiert. Wenn das Low größer ist als das High oder wenn das High gleich dem Openprice und damit Null ist (weil es kein High gibt), dann sollte die Ausgabe ein negativer Wert sein (die Linie im Indikator sollte unter die 0,00-Marke schießen). Im Moment bleibt es eine positive Zahl, egal ob das High der Kerze größer ist als das Low der Kerze oder nicht.

Hier ist die normale Version und der fehlerhafte Differenzindikator.linear_price_bar.zip

linearer_preis_bartestdiff.mq4

Ich danke Ihnen im Voraus

mrcodix

Das Tief kann nie größer sein als das Hoch desselben Balkens

 

Ja, ich verstehe, aber was ich in meinem Indikator darstellen möchte, ist die Differenz zwischen HIGH to OPEN und LOW to OPEN. Wenn die absolute Anzahl von low to open größer ist als die absolute Anzahl von high to open, dann möchte ich, dass die Differenz zwischen diesen beiden negativ ist, so dass sie unter der Nulllinie gezeichnet wird. Wie kann ich also die Ausgabe von (High - open)-(Low-open) negativ machen, wenn die letztere größer ist als die erstere.

Mit freundlichen Grüßen

 

Ich habe nun Folgendes versucht

for(i=0; i<Bars; i++)

{

BarH = Hoch-geöffnet;

BarL = Niedrig-Öffnen;

BarC = Close-Open;

if(BarC>0) UpDays += 1;

sonst if(BarC<0) DownDays +=1;

sonst if(BarC==0) NeutralDays +=1;

wenn (BarL > BarH) ExtMapBuffer7 = 0-(BarH-BarL);

sonst wenn (BarL < BarH) ExtMapBuffer7 =(BarH-BarL);

Ausgabe ist trotzdem noch eine positive Zahl! Bitte helfen Sie.

 
mrcodix:
Ja, ich verstehe, aber was ich in meinem Indikator darstellen möchte, ist die Differenz zwischen HIGH to OPEN und LOW to OPEN. Wenn die absolute Zahl von low to open größer ist als die absolute Zahl von high to open, dann möchte ich, dass die Differenz zwischen diesen beiden negativ ist, so dass sie unter der Nulllinie gezeichnet wird. Wie kann ich also die Ausgabe von (High - open)-(Low-open) negativ machen, wenn letztere größer ist als erstere. Mit freundlichen Grüßen

Ich bin mir nicht sicher, was Sie damit bezwecken wollen. Vielleicht dies?