"Floating PositionSelect()-Fehler - Seite 6

 
Karputov Vladimir:
Die Zahlen unter Ihrem Avatar gehören nicht Ihnen, Sie haben also keine Macht über sie (Sie können sie nicht nach Belieben ändern).

Ich möchte es nicht selbst ändern, bitte :)

Nun, wenn Sie es nicht mit 1000 ändern können, dann multiplizieren Sie es wenigstens mit 100.

 
prostotrader:

Ich möchte es nicht selbst ändern, bitte :)

Nun, wenn Sie es nicht mit 1000 multiplizieren können, dann wenigstens mit 100.

Das können Sie nicht. Nicht erlaubt. Unmöglich.
 
Karputov Vladimir:

Die Zahlen unter Ihrem Avatar gehören nicht Ihnen, Sie haben also keine Kontrolle über sie (Sie können sie nicht beliebig ändern).

Hinzugefügt.

Vergessen Sie die Aufträge vor der Transaktion mit dem Typ TRADE_TRANSACTION_DEAL_ADD. Warum "vergessen Sie es"? Weil es das Falsche ist.

Vergessen Sie die Transaktionen, ich sage Ihnen im Vertrauen, dass Sie die Transaktionen aus der Geschichte herausfinden können,

als die historische Transaktion eintraf. Es gibt keinen Auftrag, also können Sie sehen, was der Auftrag "gemacht" hat.

Mit dieser einfachen Funktion:

double GetDealsVolume(const string a_symbol,const ulong a_ticket,const datetime start)
  {
   double volume=0;
   if(HistorySelect(start-180,TimeTradeServer()+180))
     {
      int deals=HistoryDealsTotal();
      if(deals>0)
        {
         for(int i=deals-1; i>=0; i--)
           {
            ulong deal_ticket=HistoryDealGetTicket(i);
            ulong ticket=ulong(HistoryDealGetInteger(deal_ticket,DEAL_ORDER));
            if(( ticket>0) && (ticket==a_ticket))
              {
               volume+=HistoryDealGetDouble(deal_ticket,DEAL_VOLUME);
              }
           }
        }
     }
   return( volume );
  } 
 
prostotrader:

Vergessen Sie die Transaktionen, ich sage Ihnen im Vertrauen, dass Sie die Transaktionen aus der Geschichte herausfinden können,

als die historische Transaktion eintraf.

Mit dieser einfachen Funktion:

Sie sind unaufmerksam:

...
Vergessen Sie die Aufträge bis zu einer Transaktion vom Typ TRADE_TRANSACTION_DEAL_ADD. Warum "vergessen"? Denn das ist FALSCH.

Dann können Sie sich an die Haftbefehle erinnern.

 
Karputov Vladimir:

Sie sind unaufmerksam:

Dann können Sie sich an die Haftbefehle erinnern.

Danke, ich werde versuchen, es nicht zu vergessen :)

Und was ist mit der x100?

Hinzugefügt:

Das Problem ist nur folgendes:

Die Transaktion kommt zuerst, woher weiß ich, ob es die erste ist?

Oder umgekehrt: Die Transaktion kommt zuerst.

 
prostotrader:

Danke, ich werde versuchen, es nicht zu vergessen :)

Und was ist mit dem x 100?

Das habe ich bereits getan:

 
prostotrader:

...

Hinzugefügt:

Das Problem ist nur folgendes:

Die hist. Transaktion steht an erster Stelle, aber woher weiß ich, dass sie an erster Stelle steht?

Oder umgekehrt: Die Transaktion steht an erster Stelle.

Ich muss darüber nachdenken. Klarstellung: Wird ein Auftrag mit mehr als 1 Volumen ausgelöst?
 
Karputov Vladimir:
Ich muss darüber nachdenken. Bitte klären Sie, ob ein Auftrag mit einem Volumen von mehr als 1 ausgelöst wird?
Es spielt keine Rolle, wie hoch der Auftrag oder das Volumen ist
 

Wenn alles so funktioniert, wieMQ Alexandersagt, dann

hättees keine Probleme gegeben.

So wie es aussieht, ist es unmöglich zu sagen... :(

Denn die Transaktion kann bereits in der Historie sein , bevor die Deals erledigt sind: 1.0.

Und nach Alexanders Worten würde es so funktionieren ( und wäre richtig!):

Wenn eine historische Transaktion eintrifft:

Ursprüngliches Volumen - Aktuelles Volumen = Abgeschlossene Geschäfte - Bereits eingegangene Geschäfte

Setzen Sie keine Fahne und beschäftigen Sie sich mit Positionen und Aufträgen!

--------------------------------

Ursprüngliches Volumen - Aktuelles Volumen != Erledigte Deals - Nächste Deals-Transaktion

Sie sollten die Flaggesetzen, auf die Deals-Transaktion warten und die Flagge verwenden, um mit Positionen und Aufträgen umzugehen!

Das ist alles!

 
Vor TRADE_TRANSACTION_DEAL_ADD aktualisierte Transaktionshistorie
Unbearbeitet, Gestartet: 2016.08.15 18:43, #1537513