Unterschiede bei POSITION_TIME / POSITION_TIME_UPDATE - Seite 2

Einloggen oder registrieren, um einen Kommentar zu schreiben
Christian
2855
Christian  
Otto Pauser:
Es wird wohl die Verbindung zum Metaquotes-Servergewesen sein. Danke!

Da ist auch noch ein kleiner Bug drin Otto wirklich klitzelein :-)

dein Trade.Ask ist immer leer.

Erst so wird die Pos eröffnet

 if(Trade.TickIndex==1000)
      {
         
         Trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,0.1,SymbolInfoDouble(_Symbol,SYMBOL_ASK),NULL,NULL);
         Trade.Report();
         DebugBreak();
      }

Zumindest bei mir

Otto Pauser
1878
Otto Pauser  
Christian:

Da ist auch noch ein kleiner Bug drin Otto wirklich klitzelein :-)

dein Trade.Ask ist immer leer.

Erst so wird die Pos eröffnet

Zumindest bei mir

Bei mir ist Trade.Ask mit dem aktuellen Ask Preis befüllt.

void OnTick()
{
   if(!Trade.OnTick())
      return;   
 
   // ....  
}

da hast was rausgeschmissen vom Code.

Christian
2855
Christian  
Otto Pauser:

Bei mir ist Trade.Ask mit dem aktuellen Ask Preis befüllt.

da hast was rausgeschmissen vom Code.

Oder du das falsche File gesendet.


bool CTradeExt::Refresh(void)
{
   PosOpened      = PositionSelect(_Symbol);
   if(PosOpened)<----------------------------------------------------------------------- wird ja nie true werden wenn die ERSTE Pos eröffnet werden soll.
     {
      if(!SymbolInfoDouble  (_Symbol,SYMBOL_ASK    ,Ask          )) return(false);
      if(!SymbolInfoDouble  (_Symbol,SYMBOL_BID    ,Bid          )) return(false);
      if(!PositionGetInteger(POSITION_TIME         ,PosTimeOpen  )) return(false);
      if(!PositionGetInteger(POSITION_TIME_UPDATE  ,PosTimeUpdate)) return(false);
      if(!PositionGetDouble (POSITION_PRICE_OPEN   ,PosPriceOpen )) return(false);
      if(!PositionGetDouble (POSITION_PRICE_CURRENT,PosPriceCurr )) return(false);
     }
   else
     {
         Ask          = NULL;
         Bid          = NULL;
         PosTimeOpen  = NULL;
         PosTimeUpdate= NULL;
         PosPriceOpen = NULL;
         PosPriceCurr = NULL;
     }
   return(true);
}
Otto Pauser
1878
Otto Pauser  
Christian:

Oder du das falsche File gesendet.

Da hast du vollkommen recht. Ich hab das aus meiner CTrade-Klasse rauskopiert und ...... naja, falsch halt.

So gehört es richtig:

bool CTradeExt::Refresh(void)
{
   if(!SymbolInfoDouble(_Symbol,SYMBOL_ASK,Ask)) return(false);
   if(!SymbolInfoDouble(_Symbol,SYMBOL_BID,Bid)) return(false);

   PosOpened = PositionSelect(_Symbol);

   if(PosOpened)
     {
      if(!PositionGetInteger(POSITION_TIME         ,PosTimeOpen  )) return(false);
      if(!PositionGetInteger(POSITION_TIME_UPDATE  ,PosTimeUpdate)) return(false);
      if(!PositionGetDouble (POSITION_PRICE_OPEN   ,PosPriceOpen )) return(false);
      if(!PositionGetDouble (POSITION_PRICE_CURRENT,PosPriceCurr )) return(false);
     }
   else
     {
         PosTimeOpen  = NULL;
         PosTimeUpdate= NULL;
         PosPriceOpen = NULL;
         PosPriceCurr = NULL;
     }
   return(true);
}

Bin schon etwas entnervt wegen der vielen Schwierigkeiten. Sorry.

Christian
2855
Christian  
Otto Pauser:

Hab wohl auf den falschen Knopf gedrückt ;)

Der Debugger hat aber wirklich große Probleme die beseitigt gehören.

Teste mal die 2018.....da wurde was mit Debugbreak gefixed.


Otto Pauser
1878
Otto Pauser  
Christian:

Teste mal die 2018.....da wurde was mit Debugbreak gefixed.

Nein, Danke. Ich hab bereits genug Zeit vertrödelt mit beta releases. Ich warte auf's nächste final build.

Christian
2855
Christian  
Otto Pauser:

Nein, Danke. Ich hab bereits genug Zeit vertrödelt mit beta releases. Ich warte auf's nächste final build.

Habs für dich getan.

In 2224 funktioniert die DebugBreak() in deinem Exampel wieder richtig .

Otto Pauser
1878
Otto Pauser  
Christian:

Habs für dich getan.

In 2224 funktioniert die DebugBreak() in deinem Exampel wieder richtig .

Oh, Danke! Ich warte aber trotzdem auf das nächste stable release. Aber gut zu wissen, daß es 'gefixt' wurde.

Alain Verleyen
38366
Alain Verleyen  
Otto Pauser :

Oh, Danke! Ich warte aber trotzdem auf das nächste stable release. Aber gut zu wissen, daß es 'gefixt' wurde.

Die offizielle Veröffentlichung wurde für den 28. November angekündigt.
Christian
2855
Christian  
Alain Verleyen:
Die offizielle Veröffentlichung wurde für den 28. November angekündigt.

Wie kommt es das sie sich hier "tummeln" ?

Ich finde es sehr gut.

123
Einloggen oder registrieren, um einen Kommentar zu schreiben