Fehler, Irrtümer, Fragen - Seite 882

 
A100:

Frage: Ist die Mindestverzögerung zwischen Anrufen dokumentiert?

Hm, unwahrscheinlich. Und nicht nur das, auch das Maximum ist wahrscheinlich :) .
 

dann ist es seltsam, dass der Fehlercode = 4754 derselbe ist wie bei einem bekanntermaßen nicht existierenden Ticket

OrderSelect( 123456789/*произвольное число*/ );
Ich denke, ich hätte auch einen anderen Code finden können (z.B. "busy") - jemand gab mir die Ticketnummer result.order
 
A100:

dann ist es seltsam, dass der Fehlercode = 4754 derselbe ist wie der eines bekanntermaßen nicht existierenden Tickets

Ja, das Ereignis ist noch nicht vom Terminal verarbeitet worden.

 
A100: dann ist es seltsam, dass der Fehlercode = 4754 derselbe ist wie bei einem wissentlich nicht existierenden Ticket - ich denke, wir hätten einen anderen Code finden können (z.B. busy) - jemand hat mir die Ticketnummer result.order gegeben

Hier haben wir:

  • OrderSelect(ticket ) - kopiert die aktive Bestellung anhand ihres Tickets aus der Terminaldatenbank in den Cache der aktuellen Bestellungen, um mit den Funktionen OrderGetDouble(), OrderGetInteger() und OrderGetString() auf ihre Eigenschaften zuzugreifen
  • Dementsprechend kann der Auftrag nicht in der Basis des Terminals gefunden werden. Aus diesem Grund wird 4754 zurückgegeben. Auch wenn das Ticket bekannt ist.
    Werfen Sie einen Blick auf die Artikel:

    Aufträge, Positionen und Trades in MetaTrader 5;

    Handelsereignisse in MetaTrader 5

     
    Yedelkin:
    Danke, dass Sie es untersucht haben, aber ich verstehe nicht ganz - mit diesem Code
    OrderSelect( tiket20 );
    OrderSelect( tiket20 ); //обращения последовательные, тикет то же
    

    Wie oft wird eine Anfrage an die Terminaldatenbank gestellt: 2 oder 1

    Mit anderen Worten: Muss ich die Häufigkeit derOrderSelect( tiket20 )-Aufrufe nicht in Bezug auf die Relevanz der Informationen, sondern in Bezug auf die Zeit überwachen, die für die Häufigkeit der aufeinander folgenden Anfragen an die Terminalbasis für dieselbe Frage aufgewendet wird? (die Frage steht nicht in direktem Zusammenhang mit der vorherigen Frage)

     
    A100:
    Danke, dass Sie es untersucht haben, aber ich verstehe nicht ganz - mit diesem Code

    Wie oft wird eine Anfrage an die Terminaldatenbank gestellt: 2 oder 1

    Mit anderen Worten: Muss ich die Häufigkeit derOrderSelect( tiket20 )-Aufrufe nicht in Bezug auf die Relevanz der Informationen, sondern in Bezug auf die Zeit überwachen, die für die Häufigkeit der aufeinander folgenden Anfragen an die Terminalbasis für dieselbe Frage aufgewendet wird? (die Frage steht nicht in direktem Zusammenhang mit der vorherigen Frage)

    Warten Sie auf das Handelsereignis in OnTradeTransaction() und prüfen Sie den Status von Aufträgen, Positionen und Handelsverlauf.
     

    A100:
    Спасибо изучил, но не совсем понял - при таком коде

    OrderSelect( tiket20 );
    OrderSelect( tiket20 ); //обращения последовательные, тикет то же

    Wie oft wird die Terminalbasis abgefragt: 2 oder 1

    Zwei aufeinanderfolgende Aufrufe der Funktion OrderSelect() führen zu zwei aufeinanderfolgenden Anfragen an die Terminaldatenbank, unabhängig davon, welches Ticket als Funktionsparameter angegeben ist. Ein weiterer Punkt ist, dass die Funktion immer noch den Fehlercode "Bestellung nicht gefunden" zurückgibt, wenn unsere Bestellung (Bestelldaten) während dieser aufeinanderfolgenden Anfragen nicht in der Terminaldatenbank erscheint.

    A100 : Mit anderen Worten, sollte ich die Häufigkeit derOrderSelect( tiket20 )-Aufrufe nicht in Bezug auf die Relevanz der Informationen verfolgen, sondern in Bezug auf die Zeit, die für die Häufigkeit der aufeinanderfolgenden Anfragen an die Terminaldatenbank für dieselbe Frage aufgewendet wird? (die Frage steht nicht in direktem Zusammenhang mit der vorherigen Frage)

    Ja, ich muss die Häufigkeit der einmaligen Aufrufe der Terminaldatenbank kontrollieren. Roche hat bereits eine der Optionen vorgeschlagen. Ich bin noch nicht an die OnTradeTransaction()-Funktion gewöhnt (zu faul, um alle Handelsereignisse zu filtern), daher handele ich auf altmodische Weise - mit ereignisgesteuerten Funktionen, wenn ich so sagen darf. D.h., ich greife auf die Basis des Terminals zu, wenn ein nächster Tick kommt; wenn der Auftrag bei einem nächsten Tick nicht erkannt wird, überspringe ich einfach den Zug", was diesen Auftrag betrifft.

     
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE); - Frage, warum, wenn die Optimierung m_period nimmt, dann geht sie mit einigen Perioden und mit einigen nicht?
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    • www.mql5.com
    Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
     
    AndreyS:
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE); - die Frage ist, warum, wenn die Optimierung m_period aufgreift, sie bei manchen Perioden weitergeht und bei manchen nicht?

    Die einzige vage Frage kann mit der gleichen vagen Antwort beantwortet werden - Perioden von Diagrammen
     

    AndreyS: 

      m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE);

    - Die Frage ist, warum, wenn die Optimierung m_period auswählt, einige Perioden gedämpft werden und andere nicht???

    1. Fügen Sie den Code korrekt ein.

    2) Wie wird der Parameter m_period optimiert/ausgewählt? D.h. welchen Wert hat er bei Ihrer Optimierung?