Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1784

 
Mihail Matkovskij #:

Und im Ernst: ChartRedraw wird mehr als 24 Mal pro Sekunde aufgerufen...

Und ObjectCreate! Der Horror... (hinzugefügt)

ChartRedraw ist in Ordnung. Der OBjestCreator kann jedoch geladen werden, wenn die Zeile erstellt wird, während die Taste nicht gedrückt ist.

UPD
Ja, das tut es...

UPD
Obwohl, nein, das tut es nicht:

Print(ObjectCreate(0,"H Line",OBJ_HLINE,window,dt,price));
...
2021.12.03 23:15:50.987    USDCHF,M1: false
2021.12.03 23:15:50.977    USDCHF,M1: false
2021.12.03 23:15:50.977    USDCHF,M1: false
2021.12.03 23:15:50.967    USDCHF,M1: false
2021.12.03 23:15:50.957    USDCHF,M1: false
2021.12.03 23:15:50.957    USDCHF,M1: false
2021.12.03 23:15:50.927    USDCHF,M1: false
2021.12.03 23:15:50.907    USDCHF,M1: false
2021.12.03 23:15:50.887    USDCHF,M1: false
2021.12.03 23:15:50.887    USDCHF,M1: false
2021.12.03 23:15:50.467    USDCHF,M1: false
2021.12.03 23:15:50.417    USDCHF,M1: false
2021.12.03 23:15:50.417    USDCHF,M1: false
2021.12.03 23:15:50.417    USDCHF,M1: true
 
Nerd Trader #:
ChartRedraw ist kein Problem. Aber ObjestCreate könnte laden, wenn die Zeile erstellt wird, bis die Taste losgelassen wird.

Ja, erstellen Sie sie beim Starten und löschen Sie sie beim Beenden der Anwendung. Und verwenden Sie die FunktionenObjectSetInteger undObjectSetDouble, um sie zu verschieben. Wie schwer zu verstehen...

 
Mihail Matkovskij #:

Ja, erstellen Sie sie beim Starten und löschen Sie sie beim Beenden der Anwendung. Und verwenden Sie die FunktionenObjectSetInteger undObjectSetDouble, um sie zu verschieben. Wie schwer zu verstehen...

Wie schwer ist es zu verstehen, dass ich nur erstellen muss, wenn ich die Taste drücke, und löschen, wenn ich sie loslasse.
 
Nerd Trader #:

UPD
Ja, das tut es...

UPD
Obwohl, nein, das tut es nicht:

Auf die eine oder andere Weise wird Ihre CPU bei einem solchen Programmierer explodieren... :)

 
Nerd Trader #:
Wie schwer ist es zu verstehen, dass ich nur erstellen muss, wenn die Taste gedrückt wird, und löschen, wenn die Taste losgelassen wird?

Sie können ein Objekt aus dem Diagramm ausblenden und dann wieder einblenden. Wie man ein Objekt richtig ausblendet und wieder einblendet, wurde bereits im Forum beschrieben. Oder verfolgen Sie CHARTEVENT_OBJECT_CLICK - die perfekte Lösung!

 
Mihail Matkovskij #:

Auf die eine oder andere Weise wird Ihre CPU bei einem solchen Programmierer explodieren... :)

Ich behalte das Thermometer im Auge.

Mihail Matkovskij #:

Sie können aus dem Diagramm ausblenden und dann einblenden. Wie man ein Objekt richtig ausblendet und einblendet, darüber wurde im Forum geschrieben.

Nein... Ich werde es auf die richtige Weise herausfinden.

 
Nerd Trader #:

Ich behalte das Thermometer im Auge.

Nein... Ich werde mir das jetzt ausdenken.

Ich habe die vorherige Nachricht ergänzt.

 
if(id==CHARTEVENT_OBJECT_CLICK){
    if(sparam=="button_bs")
      (ObjectCreate(0,"H Line",OBJ_HLINE,0,0,0));
  }

  if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE)){
    int      x     =(int)lparam;
    int      y     =(int)dparam;
    datetime dt    =0;
    double   price =0;
    int      window=0;

    if(ChartXYToTimePrice(0,x,y,window,dt,price)){
      if(id == CHARTEVENT_MOUSE_MOVE){
        if(ObjectMove(0,"H Line",window,dt,price))
          ChartRedraw(0);
      }
    }
  }else ObjectDelete(0,"H Line");

Alles ist genial einfach.

 
Nerd Trader #:

Alles Geniale ist einfach.

Na ja, irgendwann einmal... :)

 
Mihail Matkovskij #:

Ich habe den vorherigen Beitrag abgeschlossen.

kann nicht sehen
Grund der Beschwerde: