Fehler, Irrtümer, Fragen - Seite 72

 
k47:

Ja, hier liegt tatsächlich ein Fehler vor,DoubleToString wurde versehentlich gesetzt. Das Problem bleibt also nur in der Dokumentation.

Übrigens stimmt auch in der Klasse CAccountInfo die Dokumentation nicht mit der Realität überein, was die Methoden für den Zugriff auf Eigenschaften nach Bezeichner betrifft.

Die Funktion InfoString() ist alsdoubleInfoString(...)definiert und gleichzeitig

Der Rückgabewert ist

true - wenn erfolgreich, false - wenn der Eigenschaftswert nicht abgerufen werden konnte.

Dies ist kaum die Art und Weise, wie der Typ angegeben wird. Höchstwahrscheinlich wird der Wert auf zwei Arten zurückgegeben - per Return und per Parameter per Referenz. Dies wird auch durch die Tatsache bestätigt, dass die Methode bei ihrer Anwendung einen String zurückgibt:

Dasselbe gilt fürdoubleInfoInteger(), das eigentlich long statt bool zurückgibt, und doubleInfoDouble(), das auch so geschrieben wird
true - wenn erfolgreich, false - wenn der Wert der Eigenschaft nicht abgefragt werden konnte.

Allerdings ist auch hier, wie Sie in der Abbildung sehen können, nur ein Parameter definiert, so dass eine Referenz nicht in Frage kommt....

Vielen Dank für diese Nachricht. Die Bibliothek ändert sich ständig, und offenbar haben wir nicht immer die Zeit, Änderungen an der Sprachdokumentation vorzunehmen. Wir werden das herausfinden und sie auf den neuesten Stand bringen.
 
Interesting:

Seltsames Verhalten des Strategieprüfers...


Im Build 298 haben wir ein merkwürdiges Verhalten des Strategietesters nach dem Abbruch des Testprozesses festgestellt (ich hatte es vorher nicht bemerkt).

Ergebnis

Die Schaltfläche "Abbrechen" wird zur Schaltfläche "Start", die Prüfung wird gestoppt. Alles schien in Ordnung zu sein, aber nein - die Parameter bleiben ausgegraut, und es ist nicht möglich, sie zu bearbeiten.


Ich danke Ihnen. Vervielfältigt und korrigiert
 

Guten Tag! Können Sie mir sagen, warum die Haltestelle für Behinderte überstürzt ist?

Im Grunde ist es ein verlustfreier Übertragungscode... Ich denke, viele werden es nützlich finden...

{ int  LevelWLoss  = 10;
  int PosTotal=PositionsTotal();
   for(int i=PosTotal-1; i>=0; i--)
     {
                 MqlTick lasttick;
            SymbolInfoTick(Symbol(),lasttick);
      if (PositionGetInteger(POSITION_TYPE)==0) {
        if (PositionGetDouble(POSITION_SL)-PositionGetDouble(POSITION_PRICE_OPEN)<LevelWLoss*Point()) {
          if (lasttick.bid-PositionGetDouble(POSITION_PRICE_OPEN)>LevelProfit*Point()) {
         
          MqlTradeRequest BezubModif;
                  BezubModif.action= TRADE_ACTION_SLTP;
                  BezubModif.symbol= Symbol();
                  BezubModif.sl = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN)+LevelWLoss*Point(),_Digits);
                  BezubModif.tp = PositionGetDouble(POSITION_TP);
                  BezubModif.deviation=3;
          MqlTradeResult BezubModifResult;
                  OrderSend(BezubModif,BezubModifResult);                                                                                       
          }
        }
      }
      if (PositionGetInteger(POSITION_TYPE)==1) {
        if (PositionGetDouble(POSITION_SL)==0 || PositionGetDouble(POSITION_PRICE_OPEN)-PositionGetDouble(POSITION_SL)<LevelWLoss*Point()) {
          if (PositionGetDouble(POSITION_PRICE_OPEN)-lasttick.ask>LevelProfit*Point()) {

            MqlTradeRequest BezubModif;
                  BezubModif.action= TRADE_ACTION_SLTP;
                  BezubModif.symbol= Symbol();
                  BezubModif.sl = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN)-LevelWLoss*Point(),_Digits);
                  BezubModif.tp = PositionGetDouble(POSITION_TP);
                  BezubModif.deviation=3;
            MqlTradeResult BezubModifResult;
                  OrderSend(BezubModif,BezubModifResult);                     
          }
        }
      }
    }
  }
 
DEDMOROZ:

Guten Tag, können Sie mir sagen, warum der Fuß des Behinderten einen Ausschlag hat?


Können Sie Ihren Beitrag nicht richtig bearbeiten? Es gibt eine spezielle Funktion zum Einfügen von Code, wie...
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

Entwickler - Woher bekommen Sie solches Gras?

Der Server muss so "stoned" sein, dass er SELL-Positionen als POSITION_TYPE_BUY (0) deklariert, Buy muss POSITION_TYPE_SELL (1) sein...


Ich meine die obige Frage und wie dieser Code funktioniert:

if (PositionGetInteger(POSITION_TYPE)==0)

PS

DEDMOROZ, haben Sie versucht, Identifikatoren zu verwenden?

Außerdem ist es nützlich, den Code großer Blöcke in Teile aufzuteilen (OOP ist im Kommen)...

 
Interesting:

Entwickler - Woher bekommen Sie solches Gras?

Der Server muss so "stoned" sein, dass er SELL-Positionen als POSITION_TYPE_BUY (0) deklariert, Buy muss POSITION_TYPE_SELL (1) sein...


Denn es gibt weitere Aufzählungen mit ORDER_TYPE_BUY, DEAL_TYPE_SELL, BOOK_TYPE_BUY

 
stringo:

Denn es gibt weitere Aufzählungen mit ORDER_TYPE_BUY, DEAL_TYPE_SELL, BOOK_TYPE_BUY

Und was hat PositionGetInteger(POSITION_TYPE) damit zu tun? Und was haben POSITION_TYPE_BUY und POSITION_TYPE_SELL damit zu tun ?


Ein einfaches Beispiel:

Ich habe jetzt eine offene Verkaufsposition in EUR (vom Markt eröffnet). Ich sehe es als Verkaufen, aber mein Expert Advisor sieht es als Kaufen (0).

Ich öffne die Hilfe zu PositionGetInteger(POSITION_TYPE) und sehe, dass der Server offensichtlich etwas verwechselt...


PS

Der Mann sieht eine offene Stelle, der Mann sieht die Hilfe und macht alles richtig (seiner Meinung nach), aber der Server hat wie immer eine "besondere" Meinung...

 
Interesting:

Ein einfaches Beispiel:

Ich habe jetzt eine offene Verkaufsposition in EUR (vom Markt eröffnet). Ich sehe es als Verkaufen, aber EA sieht es als Kaufen (0).

Ich öffne die Hilfe für PositionGetInteger(POSITION_TYPE) und sehe, dass der Server offensichtlich etwas nicht versteht...


PS

Der Mensch sieht die offene Stelle, der Mensch sieht die Hilfe und macht alles richtig (seiner Meinung nach), aber der Server hat wie immer eine "besondere" Meinung...

Bevor Sie eine offene Pose sehen, sollten Sie zunächst die Funktion PositionSelect aufrufen
 
stringo:
Bevor Sie eine offene Pose sehen, sollten Sie zuerst die Funktion PositionSelect aufrufen

Dann entschuldige ich mich, ich hatte heute Zeit zum Rauchen...

 
DEDMOROZ:

Guten Tag! Können Sie mir sagen, warum die Haltestelle für Behinderte überstürzt ist?

Im Grunde ist es ein verlustfreier Übertragungscode... Ich denke, viele werden es nützlich finden...


   for(int i=PosTotal-1; i>=0; i--)//перебор позиций имеет смысл, если перенос в безубыток мультивалютный
     {//где-то тут должен быть выбор позиции, которую будем допрашивать :)
                 MqlTick lasttick;
            SymbolInfoTick(Symbol(),lasttick);//ask,bid всегда берутся с текущего символа.
entweder brauchen Sie die Überschreitung nicht, oder Sie müssen auf das Symbol der Pose fragen, bieten