Unterschiede bei POSITION_TIME / POSITION_TIME_UPDATE - Seite 2

 
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

 
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.

 
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);
}
 
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.

 
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.


 
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.

 
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 .

 
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.

 
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.
 
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.