Fragen Sie! - Seite 30

 

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Stop Loss und Take Profit ändern

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punkt),Ask+(20*Punkt),Cyan); /Stop Loss und Take Profit ändern

return(0);

}

return(0);

}

}

Ich komme der Sache näher, bin aber noch nicht ganz am Ziel! Das stellt meine Geduld wirklich auf die Probe!

Dave

<<<

 

dann vielleicht besser Folgendes hinzufügen

iscuba11:
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

if( OrderOpenPrice() - Ask >= TrailingStop * Point)

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Stop Loss und Take Profit ändern

}

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if( Bid - OrderOpenPrice() >= TrailingStop * Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punkt),Ask+(20*Punkt),Cyan); //Stop Loss und Take Profit ändern

}

return(0);

}

return(0);

}

}

Ich komme der Sache näher, bin aber noch nicht ganz am Ziel! Das stellt meine Geduld wirklich auf die Probe!

Dave

<<<
 
Maji:
Bitte posten Sie Ihren Code innerhalb der [PHP][/PHP]-Codes. Es ist viel einfacher, formatierten Code zu lesen und zu debuggen.

Ich bin dabei, dieses Programm zusammenzustellen. Ich bin kurz davor, es fertigzustellen. Leider gibt es keine Schulen für diese Sprache, und die Dokumentation lässt sehr zu wünschen übrig. Davon abgesehen, habe ich keine Ahnung, wovon Sie sprechen. Nicht böse gemeint!

Dave <<<
 

dann fügen Sie diese vielleicht besser[/QUOTE

Dies ist der letzte Backtester-Lauf. So nah und doch so fern. Erinnert mich an meine Zeit in Vietnam. Sehen Sie sich das angehängte .gif der Ergebnisse an. Ich bin Ihnen zu Dank verpflichtet, dass Sie die Güte Ihres Herzens hatten, mir durch diesen schwierigen Moment zu helfen! Es sieht immer noch so aus, als ob es eine Schleife gibt, die nicht wie im Verkaufshandel gezeigt aussteigt.

Dave <<
 
iscuba11:
Ich danke dir für deine Herzensgüte, dass du mir in dieser schweren Zeit geholfen hast!
Dave <<

du bist herzlich willkommen

 

Ich habe immer noch eine Schleife - verflixt noch mal. Ich werde zusammenbrechen. Morgen ist ein neuer Tag. Diese Low-Level-Sprache ist schwer zu lernen.

Dave <<<

///////////////////MODIFY STOP LOSS & TAKE PROFIT AT START OF SLEEP CYCLE /////////////////

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderOpenPrice()-Ask>=TrailingStop*Point)

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Stop Loss und Take Profit ändern

}

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(Bid-OrderOpenPrice()>=TrailingStop*Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punkt),Ask+(20*Punkt),Cyan); //Stop Loss und Take Profit ändern

}

return(0);

}

return(0);

}

}

//////////////////////////////////////////////////////////////////////////////////////

Meine obige Kodierung. Es enthält einen Fehler, der eine Änderungsschleife verursacht. Viele Bugs oder Ergänzungen haben es zu diesem Stadium gebracht. Bitte helfen Sie jemandem, den Fehler in der Schleife zu finden!

 

oder habe ich Ihre Absicht falsch verstanden?

Was soll die Funktion OrderModify() bewirken?

Trailling Stop oder etwas anderes zu tun?

Bitte klären Sie es noch einmal

 

Der ursprüngliche Entwurf sieht vor, die Stop Losses und Take Profits für alle offenen Kauf- oder Verkaufsaufträge zu verschärfen, wenn das Programm in den Ruhezustand übergeht.

Anstelle eines großen 40-50 Pip Stop Loss und eines großen 100 Pip Take Profit in jedem offenen Handel, wollte ich, dass jeder offene Handel auf einen 15 Pip Stop Loss reduziert wird und der Take Profit von 100 auf einen 25 Pip Take Profit reduziert wird.

Dann würde das Programm schlafen (Stop) und die offenen Trades würden ihren Lauf nehmen, ohne dass das Programm weiter eingreift (Schlafmodus). Jeder offene Trade würde dann entweder einen Gewinn von 25 Pips oder einen Verlust von 15 Pips machen und sich selbst schließen.

Ich hoffe, dass dies zur Klärung des Zwecks der Stop-Loss- und Take-Profit-Änderung beiträgt. Es tut mir leid für das Missverständnis. Bitte helfen Sie mir, wenn Sie diese Änderungen durchführen wollen! Vielen Dank für Ihre Hilfe bis jetzt!

Junge, habe den Schlaf letzte Nacht selbst gebraucht!

Dave

<<<
 
iscuba11:
Ich baue dieses Programm Stück für Stück zusammen. Ich bin kurz davor, es fertig zu stellen. Leider gibt es keine Schulen für diese Sprache, und die Dokumentation lässt viel zu wünschen übrig. Davon abgesehen habe ich keine Ahnung, wovon Sie sprechen. Nicht böse gemeint!
Dave <<<

Wenn Sie einen Codeschnipsel kopieren und einfügen wollen, wählen Sie die kleine Schaltfläche "php" oben auf dem Bearbeitungsbildschirm. Alternativ kannst du auch zuerst "[ PHP ]"

und dann am Ende des Codes "[ /PHP ]" ohne die Anführungszeichen eingeben und die Leerzeichen innerhalb der eckigen Klammern entfernen. Sehen Sie, was Sie erhalten

 
Maji:
Wenn Sie einen Codeschnipsel kopieren und einfügen wollen, wählen Sie die kleine "php"-Schaltfläche oben auf dem Bearbeitungsbildschirm. Alternativ kannst du zuerst "[ PHP ]" eingeben und dann deinen Code mit "[ /PHP ]" ohne die Anführungszeichen beenden und die Leerzeichen innerhalb der eckigen Klammern entfernen. Sehen Sie, was Sie erhalten

Die PHP-Schaltfläche? Befindet sich diese auf der Forumsseite oder im MetaEditor, aus dem ich den Code kopiere? Ich kann im MetaEditor keinen PHP-Button finden.

Dave <<<
Grund der Beschwerde: