Vielleicht möchten Sie, dass die Terminals mit den Grafiken das Markup an einen Webserver senden und die anderen es empfangen und auf dem Diagramm anzeigen. Es ist keine leichte Aufgabe, aber machbar
Wie kann ich das machen oder was sollte ich lesen, um zu lernen, wie es geht? Wird das Markup automatisch gesendet und von anderen Benutzern akzeptiert oder muss es jedes Mal als Vorlage hochgeladen werden?
Илья: Wie kann ich dies tun oder was sollte ich lesen, um herauszufinden, wie dies möglich ist? Wird das Markup automatisch gesendet und von anderen Benutzern akzeptiert oder muss es jedes Mal separat als Vorlage hochgeladen werden?
Ich denke, man braucht einen kleinen Knopf, und nachdem man eine Markierung gemacht hat, drückt man ihn und schickt ihn ab. Bei Empfängern ist es dasselbe: Wenn Sie einen Aufschlag erhalten möchten, drücken Sie die zweite Taste. Insgesamt 2 Schaltflächen auf dem Diagramm, und es kostet keine Ressourcen, um es ständig zu überwachen
////
int CalculateBUYPositions()
{
int total=0;
//ENUM_ORDER_TYPE order_type=ORDER_TYPE_BUY;for(int i=PositionsTotal()-1;i>=0;i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
if(m_position.PositionType()==POSITION_TYPE_BUY)
{
total++;
}
//---return(total);
}
//
Limitaufträge müssen gesetzt werden, wenn es nur eine Position gibt
Die Frage ist nicht klar. Sie verwechseln Aufträge und Positionen.
Der von Ihnen zitierte Code "CalculateBUYPositions()" berechnet die Anzahl der BUY POINTS.
Formulieren Sie Ihre Frage neu.
Wenn ich auf dem Forex eine Position habe, platziere ich eine Limit-Order und die Limit-Order wird aktiviert, die Anzahl der Positionen steigt und der EA platziert keine weiteren Limits.
Wenn am Devisenmarkt ein Positionslimit besteht und alle Limit-Aufträge aktiviert werden, erhöht sich die Anzahl der Positionen und es werden keine weiteren Limit-Aufträge erteilt. Ich benötige eine gleichwertige Alternative zu der Bedingung "wenn es eine Position gibt" CalculateBUYPositions()==1
Auf Forex, wenn es eine Position gibt, platziere ich eine Limit-Order, Limit-Order werden aktiviert , wenn die Anzahl der Positionen steigt, es werden keine Limiter mehr vom EA platziert.
Bei Forex, wenn es eine Position gibt, wird die Limit-Order aktiviert, die Anzahl der Positionen erhöht sich und es werden keine weiteren Limit-Orders vom EA platziert. Ich benötige eine gleichwertige Alternative zu der Bedingung "wenn es eine Position gibt" CalculateBUYPositions()==1
Nein, ist es nicht. Zur Klarstellung: Es gibt bereits eine Position auf dem aktuellen Symbol:
Auf Hedge-Konten gibt es, sobald der schwebende Auftrag ausgelöst wird, EINE MEHR Position
auf Verrechnungskonten nach Auslösung des schwebenden Auftrags
wenn der schwebende Auftrag für das aktuelle Symbol war, dann:
die bestehende Position wird sich erhöhen
eine bestehende Position wird verringert
eine bestehende Position wird fortgeschrieben
die bestehende Position wird umgekehrt
Um Ihre Frage zu klären: welche Art von Konto suchen Sie und WAS müssen Sie verfolgen.
Limitaufträge müssen gesetzt werden, wenn es nur eine Position gibt
Wie kann dieser Zustand geändert werden?
Dies kann durch die Anzahl der Abschlüsse oder die Anzahl der Aufträge bestimmt werden, die mit der Eröffnung und Änderung einer Position verbunden sind. Sie müssen nur die Historie für das Ticket der Position auswählen und die Nummer überprüfen. Wenn es eine Variante gibt, bei der die Position an Volumen zugenommen hat und dann teilweise durch eine entgegengesetzte Limit-Order oder anderweitig geschlossen wurde, müssen wir eine Schleife durch die Geschäfte ziehen und die Arten von Geschäften als DEAL_ENTRY_IN und/oder andere Arten zählen.
Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть в закладке "История" на панели "Инструменты" клиентского терминала. Функция...
elseif(orderType==ORDER_TYPE_BUY_STOP)
{
request.type =ORDER_TYPE_BUY_STOP; // тип ордера
price =SymbolInfoDouble(Symbol(),SYMBOL_ASK)+offset*point; // цена для открытия
request.price=NormalizeDouble(price,digits); // нормализованная цена открытия
}
elseif(orderType==ORDER_TYPE_SELL_STOP)
{
request.type =ORDER_TYPE_SELL_STOP; // тип ордера
price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point; // цена для открытия
request.price =NormalizeDouble(price,digits); // нормализованная цена открытия
}
In beiden Fällen sieht Ask - wie ein Fehler aus. Im zweiten Fall für SELL_STOP wäre es besser, Bid ??? zu verwenden.
Vielleicht möchten Sie, dass die Terminals mit den Grafiken das Markup an einen Webserver senden und die anderen es empfangen und auf dem Diagramm anzeigen. Es ist keine leichte Aufgabe, aber machbar
Wie kann ich dies tun oder was sollte ich lesen, um herauszufinden, wie dies möglich ist? Wird das Markup automatisch gesendet und von anderen Benutzern akzeptiert oder muss es jedes Mal separat als Vorlage hochgeladen werden?
Ich denke, man braucht einen kleinen Knopf, und nachdem man eine Markierung gemacht hat, drückt man ihn und schickt ihn ab. Bei Empfängern ist es dasselbe: Wenn Sie einen Aufschlag erhalten möchten, drücken Sie die zweite Taste. Insgesamt 2 Schaltflächen auf dem Diagramm, und es kostet keine Ressourcen, um es ständig zu überwachen
Wie kann ich die Platzierung von Aufträgen begrenzen, wenn nach der Aktivierung von Limit-Aufträgen immer eine Position auf dem Markt ist?
Im Devisenhandel habe ich die Anzahl der Aufträge - Positionen - überprüft.
if( CalculateBUYPositions()==1)Limitaufträge müssen gesetzt werden, wenn es nur eine Position gibt
Wie kann ich diesen Zustand ersetzen?
Wie kann ich die Platzierung von Aufträgen begrenzen, wenn nach der Aktivierung von Limit-Aufträgen immer eine Position auf dem Markt ist?
Im Devisenhandel habe ich die Anzahl der Aufträge - Positionen - überprüft.
Limitaufträge müssen gesetzt werden, wenn es nur eine Position gibt
Wie können wir diesen Zustand ersetzen?
Die Frage ist nicht klar. Sie verwechseln die Aufträge und die Positionen.
Der von Ihnen zitierte Code "CalculateBUYPositions()" berechnet die Anzahl der BUY-Positionen.
Bitte formulieren Sie Ihre Frage neu.
Die Frage ist nicht klar. Sie verwechseln Aufträge und Positionen.
Der von Ihnen zitierte Code "CalculateBUYPositions()" berechnet die Anzahl der BUY POINTS.
Formulieren Sie Ihre Frage neu.
Wenn ich auf dem Forex eine Position habe, platziere ich eine Limit-Order und die Limit-Order wird aktiviert, die Anzahl der Positionen steigt und der EA platziert keine weiteren Limits.
Wenn am Devisenmarkt ein Positionslimit besteht und alle Limit-Aufträge aktiviert werden, erhöht sich die Anzahl der Positionen und es werden keine weiteren Limit-Aufträge erteilt. Ich benötige eine gleichwertige Alternative zu der Bedingung "wenn es eine Position gibt" CalculateBUYPositions()==1
Auf Forex, wenn es eine Position gibt, platziere ich eine Limit-Order, Limit-Order werden aktiviert , wenn die Anzahl der Positionen steigt, es werden keine Limiter mehr vom EA platziert.
Bei Forex, wenn es eine Position gibt, wird die Limit-Order aktiviert, die Anzahl der Positionen erhöht sich und es werden keine weiteren Limit-Orders vom EA platziert. Ich benötige eine gleichwertige Alternative zu der Bedingung "wenn es eine Position gibt" CalculateBUYPositions()==1
Nein, ist es nicht. Zur Klarstellung: Es gibt bereits eine Position auf dem aktuellen Symbol:
Um Ihre Frage zu klären: welche Art von Konto suchen Sie und WAS müssen Sie verfolgen.
Wie kann ich die Platzierung von Aufträgen begrenzen, wenn nach der Aktivierung von Limit-Aufträgen immer eine Position auf dem Markt ist?
Im Devisenhandel habe ich die Anzahl der Aufträge - Positionen - überprüft.
Limitaufträge müssen gesetzt werden, wenn es nur eine Position gibt
Wie kann dieser Zustand geändert werden?
Dies kann durch die Anzahl der Abschlüsse oder die Anzahl der Aufträge bestimmt werden, die mit der Eröffnung und Änderung einer Position verbunden sind. Sie müssen nur die Historie für das Ticket der Position auswählen und die Nummer überprüfen. Wenn es eine Variante gibt, bei der die Position an Volumen zugenommen hat und dann teilweise durch eine entgegengesetzte Limit-Order oder anderweitig geschlossen wurde, müssen wir eine Schleife durch die Geschäfte ziehen und die Arten von Geschäften als DEAL_ENTRY_IN und/oder andere Arten zählen.
Zweiter Tag der Umstellung des Roboters von MT4 auf MT5. Einstellung der ausstehenden Aufträge - es funktioniert. Hilfe zu MqlTradeRequest:
In beiden Fällen sieht Ask - wie ein Fehler aus. Im zweiten Fall für SELL_STOP wäre es besser, Bid ??? zu verwenden.
Zweiter Tag der Umstellung des Roboters von MT4 auf MT5. Einstellung der ausstehenden Aufträge - es funktioniert. Hilfe zu MqlTradeRequest:
In beiden Fällen sieht Ask - wie ein Fehler aus. Im zweiten Fall wäre Bid besser für SELL_STOP.
SELL öffnet mit BID und schließt mit ASK