Fehler, Irrtümer, Fragen - Seite 456

 
_____Life_Line:

Dies kann je nach Aufgabe auf unterschiedliche Weise geschehen.

Werfen Sie einen Blick in die MQL5-Hilfe-Abschnitte "Chart-Perioden" und "Instrumenten-Informationen" und beachten Sie die Funktion ChartSetSymbolPeriod().

Für die Umsetzung müssen Sie höchstwahrscheinlich entweder eine Liste von TFs und Symbolen vorgeben oder diese aus dem Marktumfeld beziehen.

 
Urain:

Dies kann je nach Aufgabe auf unterschiedliche Weise geschehen.

Werfen Sie einen Blick in die MQL5-Hilfe-Abschnitte "Chart-Perioden" und "Instrumenten-Informationen" und beachten Sie die Funktion ChartSetSymbolPeriod().

Für die Umsetzung müssen Sie höchstwahrscheinlich entweder eine Liste von TFs und Symbolen vorgeben oder diese aus dem Marktumfeld beziehen.

Danke, ich hab's schon. Es hat funktioniert. Ich habe alle benötigten Aufzählungen auf switch gesetzt. Der Fehler lag in der Auswahl eines korrekten Stringtyps für das Paar und ENUM_TIMEFRAMES für den Punkt.
 

Hallo zusammen, es gibt eine sehr unangenehme Nuance beim Schließen von offenen Positionen,

Profit erhalten zum Beispiel +150$ und schließen alle: ABER auf dem Chart sah ein solches Bild:

beschlossen, eine kleine Ergänzung zu machen, bevor wir alle Positionen auf den verschiedenen Symbolen in den Code zu schließen ist es so:

    double bal = AccountInfoDouble(ACCOUNT_BALANCE);
    double eqv = AccountInfoDouble(ACCOUNT_EQUITY);
    if (bal < eqv && (tral == false && GetProfit()>= PP))
     {

d.h. wenn der Gewinn bei allen Paaren größer ist als in den Parametern angegeben, und das Eigenkapital größer ist als der Saldo, dann schließen wir

Aber nach diesen Änderungen hat sich die Situation nicht geändert, jetzt haben wir die gleichen Nuancen, nur an einer anderen Stelle.


Ich habe die einzige Erklärung dafür: Wir haben einen Textgewinn berechnet, der höher ist als der, den wir in + eingestellt haben.

und als wir mit der Schließung begannen, hatten sich die Preise bereits geändert, d.h.Ein paar Zecken in

von Ticks im Tester bestanden und wir waren bereits in den roten Zahlen, während alles geschlossen wurde (2 Paare von Instrumenten

EURUSD .. GBPUSD)

Und?

 
Im_hungry:

Hallo zusammen, es gibt eine sehr unangenehme Nuance beim Schließen von offenen Positionen,

.............

Also?

Gibt es irgendwelche Haltestellen?
 
MetaDriver:
Haben Sie Füße?
"Nun, woher bekommen sie ihre Füße in Italien, ich habe ihr Italien auf einer Karte gesehen, Stiefel auf Stiefel" (s)fast gepanzert) :o)
 
MetaDriver:
Gibt es Haltestellen?

Nein nur Schleppnetz (was ist unten auf jedem Tick), jetzt versucht den folgenden Code:

    double bal = AccountInfoDouble(ACCOUNT_BALANCE);
    double eqv = AccountInfoDouble(ACCOUNT_EQUITY);
    if (bal < eqv && (tral == false && AccountInfoDouble(ACCOUNT_PROFIT)>= PP))

PP - Gewinn in den Parametern, und immer noch die gleichen Fehlschläge, ein paar Ticks und wir sind alle im Verlust oder sonst...?

Es öffnet sich durch Arbitrage auf 2 Paare (EURUSD ... GBPUSD) und wenn wir den gewünschten Gewinn erreichen

Wir schließen.

 

Ich habe dafür gesorgt, dass die zusätzlichen Linien das schnelle Schließen der Posen nicht behindern,

Es gibt weniger Aussetzer, aber ich neige immer mehr dazu, zu glauben, dass es an der Langsamkeit des Computers liegt,

Ich habe genug RAM, aber ich habe eine volle CPU?

 

Bitte geben Sie Hinweise, wie der Status von SYMBOL_TRADE_MODE zu interpretieren ist.

Kann ich im Modus SYMBOL_TRADE_MODE_CLOSEONLY Aufträge zur Änderung der Stop-Levels senden ?

 
Im_hungry:

Nein nur Schleppnetz (was ist unten auf jedem Tick), jetzt versucht den folgenden Code:

PP - Gewinn in den Parametern, und immer noch die gleichen Fehlschläge, ein paar Ticks und wir sind alle im Verlust oder sonst...?

Wir eröffnen eine Arbitrage auf 2 Paare (EURUSD ... GBPUSD) und nachdem wir den erforderlichen Gesamtgewinn erzielt haben

Wir schließen.

Der mitgelieferte Code ist nicht ausreichend. Es liegt ein Fehler außerhalb des Bereichs vor.
 
MetaDriver:
Der bereitgestellte Code ist nicht ausreichend. Der Fehler liegt außerhalb davon.

danach (

bal < eqv && (tral == false && AccountInfoDouble(ACCOUNT_PROFIT)>= PP && sum>=PP)

) werden die Posen sofort mit diesem Code geschlossen, der von dieser Website stammt

   MqlTradeRequest mrequest;                           
   MqlTradeResult mresult;                             
   if(PositionSelect(Symbol_1)==true)
     {
       mrequest.action = TRADE_ACTION_DEAL;              
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) mrequest.price = SymbolInfoDouble(Symbol_1,SYMBOL_BID);    
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) mrequest.price = SymbolInfoDouble(Symbol_1,SYMBOL_ASK);
       mrequest.symbol = Symbol_1;                         
       mrequest.volume = PositionGetDouble(POSITION_VOLUME);                          
       mrequest.magic = PositionGetInteger(POSITION_MAGIC); ;                           
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) mrequest.type= ORDER_TYPE_SELL;                    
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) mrequest.type= ORDER_TYPE_BUY;
       mrequest.type_filling = ORDER_FILLING_AON;         
       mrequest.deviation=Prosk;                          
       OrderSend(mrequest,mresult);

Ich habe keine Fehler in 2 Währungspaaren. Ich werde versuchen zu analysieren, was falsch ist, aber Tatsache ist, dass ich unterschiedliche Ergebnisse auf verschiedenen Computern mit verschiedenen Schnittstellen und fast keine Sprünge beim Schließen bekam