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
double pBid, pAsk, pp;
pp = MarketInfo(OrderSymbol(), MODE_POINT);
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
//BreakEven routine
if (BreakEven>0) {
if ((pBid-OrderOpenPrice())>BreakEven*pp) {
if ((OrderStopLoss()-OrderOpenPrice())<0) {
ModifyStopLoss(OrderOpenPrice()+0*pp);
}
}
}
if (TrailingStop>0) {if ((pBid-OrderOpenPrice())>TrailingStop_Over135*pp){ //15 pips TS
ModifyStopLoss(pBid-TrailingStop_Over135*pp);
if (pBid-OrderOpenPrice()>TrailingStop_Over90*pp && pBid-OrderOpenPrice()<TrailingStop_Over135*pp){ //55 pips TS
ModifyStopLoss(pBid-TrailingStop_Over90*pp);
if ((OrderOpenPrice()-pAsk)>TrailingStop +TrailingStep+1*pp && (OrderOpenPrice()-pAsk) < TrailingStop_Over90*pp+TrailingStep-1*pp || OrderStopLoss()==0) {//75 pips TS
ModifyStopLoss(pAsk+TrailingStop*pp);
return;
}
}
}
}
}[/PHP]
Three levels of Trailing Stop:
1) 75 Pips TS up to first 90 Pips Profit.
2) 55 Pips TS after 90 but only up to 135 pips profit.
3) 15 Pips TS after 135 pips profit.
The problem I am having is the Trailing Stop moves both up and down as the price moves up and down . . It should just be moving up as the price profit increases and stop if the price starts dropping! How do I get it to stop moving down as the price drops - The Trailing Stop is acting like a Yo-Yo as the price moves up and down.
I am not sure how to stop this from happening?? Please, I need your expertise!
Humbly,
Davezum Beispiel:[PHP]ts = pBid - TrailingStop_Over135*pp;
if (ts > OrderOpenPrice() && ts > OrderStopLoss()) ÄndernStopLoss(ts);
bitte kann ich um Hilfe bitten
Darf ich jemanden bitten, einen Blick auf meinen Code zu werfen, um zu sehen, wo er falsch ist, bitte....Ich bin kein guter Programmierer und würde mich über Hilfe freuen.
Vielen Dank im Voraus
Außerdem ist mir gerade etwas aufgefallen - es gibt einen Typen namens Ben Taylor, der einen EA verkauft, der fast genau so aussieht wie der, den Coders Guru programmiert hat - vielleicht ist das einer seiner Kunden - lol
Wenn nicht - sollten wir Coders Guru davon in Kenntnis setzen
Wenn nötig, überprüfen Sie zunächst, dass Sie später als 8 Uhr sind:
Then, find the max and min of the current day. (if its ok for you, its easier than from 8 am): [PHP]double Max = iHigh(Symbol(), PERIOD_D1, 0);
double Min = iLow(Symbol(), PERIOD_D1, 0);
int Range = (Max - Min) / Point;
if(Range > 90) return;
...
Hallo Michel:
Ich beziehe mich auf deinen Code:
if(Hour() < 8) return;
Ich habe den Code wie folgt geändert:
if(Stunde()>12) hr_x=1;
.....
.....
.....
.....
if(hr_x==1) signal=50;
Aber ich hatte alle Histogramm-Balken 50!!!!
Wenn man sich den Chart unten ansieht, scheint es, dass der Befehl "Hour" ihn nicht erkennt!!!
FYI, ich bin mit 30 min Chart, wird es eine andere. Ich habe versucht, zu einem 1-Stunden-Chart zu wechseln, aber das Problem besteht immer noch!
Ich habe auch versucht, "if(Hour() < 8) return; ", aber alle die Bar weg!!!
Ich habe viele Dinge versucht, aber immer noch nicht bekommen es funktioniert.
Möglich, mich wieder zu beraten? Danke
Hallo codersguru könnten Sie Signal mit Pop-up und Pfeile zu Indikator unten hinzufügen?
Kann jemand ein Signal hinzufügen???
Vielen Dank, Michel, für die richtige Korrektur meiner dreifachen Trailing-Stop-Codierung. Dies wird hoffentlich die endgültige Lösung für meine neue Ea-Kreation sein. Ohne die Großzügigkeit des Wissens von allen wäre ich nicht in der Lage gewesen, diese Sprache zu programmieren. Ich mache mir Notizen zu allen neuen Informationen, die ich über diese Sprache erhalte. Ich hoffe, dass sich die Kodierung mit der Einführung von MT5 nicht zu radikal ändern wird - ich würde ungern wieder ganz von vorne anfangen! Nochmals vielen Dank!!
Dave
<<<
Kann ich jemanden bitten, einen Blick auf meinen Code zu haben, um zu sehen, wo es falsch ist bitte....Ich bin nicht viel von einem Programmierer und würde einige Hilfe mit diesem zu schätzen wissen.
Vielen Dank im Voraus
Außerdem ist mir gerade etwas aufgefallen - es gibt einen Typen namens Ben Taylor, der einen EA verkauft, der fast genau so aussieht wie der, den Coder's Guru programmiert hat - vielleicht ist das einer seiner Kunden - lol
wenn nicht - sollten wir den Programmierer-Guru darüber informierenWenn ich ein Problemfeld ausmachen müsste, wäre es der obige Code. Es muss einen Crossover für einen Kauf und einen Verkauf geben.
double Buy1_1 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Buy1_2 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Back
double Buy2_1 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Buy2_2 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Back
double Sell1_1 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Sell1_2 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Zurück
double Sell2_1 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Sell2_2 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Back
if(Buy1_1>Sell2_1 && Buy1_2<Sell2_2) Then Buy; // Ein richtiger 'UP'-Crossover hat stattgefunden!
if(Sell1_1Buy2_2) Then Sell; // Ein richtiger 'DOWN'-Crossover ist eingetreten!
Dave
Dies ist nicht ganz das, wonach Sie suchen, aber schauen Sie es sich trotzdem an. Hängen Sie es an ein anderes Diagramm an und es überwacht alle Gewinne und Verluste von Diagrammen, die funktionierende Eas enthalten.
Dave - du bist ein Segen:)
Wenn ich einen Problembereich ausfindig machen müsste, dann wäre es dieser Code oben. Es muss einen Crossover für einen Kauf und einen Verkauf geben.
double Buy1_1 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Buy1_2 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Back
double Buy2_1 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Buy2_2 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Back
double Sell1_1 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Sell1_2 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Zurück
double Sell2_1 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Sell2_2 = iMA(NULL, 0, 50, 0, MODE_EMA, PRICE_CLOSE, Current + 1); //1-Back
if(Buy1_1>Sell2_1 && Buy1_2<Sell2_2) Then Buy; // Ein richtiger 'UP'-Crossover hat stattgefunden!
if(Sell1_1Buy2_2) Then Sell; // Ein richtiger 'DOWN' Crossover ist eingetreten!
Davevielen Dank - ich werde es ausprobieren
Kodierungshilfe benötigt
Jede Hilfe wird geschätzt..
Dies würde in einem EA als eine Komponente der Handelsabschlussroutine gehen.
Ich muss eine Variable erstellen, die immer den höchsten historischen Saldo des Kontos zurückgibt. Ich denke, dies würde ein Array erfordern?
Praktisch gesehen würde die Sprache lauten. "Wenn mein offener Gewinn um X Pips höher ist als der historische Höchststand des Kontos, schließe alle Trades."
Wenn mir jemand mit der Variable helfen kann, kann ich den Rest wohl selbst programmieren.
Vielen Dank im Voraus.
Danke für Ihre Antwort, aber Sie haben Recht, sie sind nicht genau das, was ich suche.
Ich habe noch nicht den richtigen Code, um das Problem zu lösen.
Ich brauche den Code, um die "Hochwassermarke" des Kontostands zurückzugeben.
Nochmals vielen Dank, ich schätze jede Hilfe.
Das ist nicht ganz das, wonach Sie suchen, aber sehen Sie es sich trotzdem an. Hängen Sie es an ein anderes Diagramm an, und es überwacht alle Gewinne und Verluste von Diagrammen, die funktionierende EAs enthalten.