Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1008
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
Einen guten Tag an alle. Die Idee besteht darin, für jede offene Marktorder (Gewinnmitnahme und Stop-Loss) eine Pending-Order in die entgegengesetzte Richtung zu platzieren, wenn der Stop-Loss ausgelöst wird (wenn Kauforder, dann Pending-Order senden). Ich kann keine Syntax-Sequenz finden, um ein Skript zu schreiben, das die schwebende Order löscht, wenn die aktuelle Order bei Take Profit geschlossen wird? Vielleicht gibt es ein geschriebenes Skript unter den freien, aber die Suche hat kein Glück ( . Ich würde gerne selbst eine schreiben, um damit umgehen zu können, aber ich verstehe die Syntaxfolge nicht. Lassen Sie mich an einem anderen Beispiel erklären - ich will ein Eis - die Syntaxfolge - 1) - aufstehen von der Couch 2) anziehen 3) zum Laden gehen 4) Eis kaufen. Ist es möglich, dies auch für meine Aufgabe zu tun?
Wenn der aktuelle Auftrag geschlossen wird, verringert sich die Anzahl der Kaufaufträge oder sie fehlen ganz (hängt vom Algorithmus ab), Sie führen diese Prüfung durch und löschen die ausstehenden Aufträge
etwa so (in diesem Fall werden im Gegenteil die ausstehenden Aufträge gelöscht, wenn ein früherer Kauf mit Gewinn abgeschlossen wurde):
Das ist also richtig?
if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;
if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;
und so zu enden?
if (OrderOpenTime()+8100 <=TimeCurrent()) Cls_Buy=true;
Wenn der aktuelle Auftrag geschlossen wird, verringert sich die Anzahl der Kaufaufträge oder sie fehlen ganz (hängt vom Algorithmus ab), Sie führen diese Prüfung durch und löschen die ausstehenden Aufträge
etwa so (in diesem Fall werden im Gegenteil die ausstehenden Aufträge gelöscht, wenn ein früherer Kauf mit Gewinn abgeschlossen wurde):
In diesem Fall erhöhe ich den Stop Loss auf die gewünschte Größe. Ich setze keinen Schwellenwert, sondern lasse ihn virtuell im Programm und eröffne eine Order. Das Ergebnis ist, dass nur eine von 15 bis 20 Orders geöffnet wird. Was muss ich tun, um alle Orders zu öffnen?
RefreshRates();
double bid = MarketInfo(symbol,MODE_BID);double ask = MarketInfo(symbol,MODE_ASK);
double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;
if(digitsTemp == 5 )stoplevel+=(700 * tickTemp);
if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем
spreadOrdDangBr=stoplevel;
double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег
slODB=ask-spreadOrdDangBr;
tpODB= ask+ spreadOrdDangBr;
orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));
und infolgedessen im Terminal
Hilfe, bitte! Ich möchte eine Kaufposition eröffnen, und wenn der Preis um 100 % steigt
Pips, wird mein Stop-Loss im Verhältnis zum vorherigen Stop-Loss gleich Null.
Mache ich es richtig?
if(Bid-OrderOpenPrice()>Point*100)
{
OrderModify(OrderTicket(),OrderOpenPrice(), 0,TakeProfit,0,);
zurück(0);
}
Ich danke Ihnen!
Hallo zusammen, wie kann man den Höchstpreis eines ausgewählten Balkens (z.B. 100.) ermitteln?)
Ich fand eine Funktion, die den maximalen und minimalen Preis für 100 Bars definiert und zeichnet horizontale Linien (bitte helfen Sie mir, um die ersten 15 Bars passieren und nur dann prüfen, für 100 (wie mache ich diese Verschiebung?) und ein weiteres Problem mit Linien - es zeichnet nur 1 Mal - das heißt - wenn wir gehen weitere 100 Punkte mit neuen Hochs und Tiefs - die Linien nicht gezeichnet werden) jemand wissen, bitte schreiben Sie - hier ist der Code
extern inttern Quant_Bars=100; // Anzahl der Balken
//--------------------------------------------------------------------
int start() // Sonderfunktion start
{
int i; // Taktnummer
double Minimum=Bid; // Mindestpreis
Maximum=Bid; // Maximaler Preis
for(i=0;i<=Quant_Bars-1;i++) // Von Null (!) bis
{ // ...Quant_Bars-1 (!)
if (Low[i]< Minimum) // if < bekannt
Minimum=Low[i]; // dies ist der Mindestwert
if (High[i]> Maximum) // if > bekannt
Maximum=High[i]; // es wird das Maximum sein.
}
Alert("Für die letzten ",Quant_Bars, // Anzeige
"Min= ",Minimum," Max= ",Maximum);
double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,Maximum);
double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);
return(0); //beenden start()
}