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

 
Konstantin Nikitin:

Ich danke Ihnen. In Worten: Durch was teilen wir den Gewinn in Währung?

.../(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2));
   
Maxim Kuznetsov:
Sie können die Punkte von zwei verschiedenen Instrumenten nicht addieren.

Ich verstehe, dass der Punktwert unterschiedlich ist, aber das spielt in diesem Fall keine Rolle.

 
PolarSeaman:

Ich danke Ihnen. In Worten: Durch was teilen wir den Gewinn in Währung?

Der Punktwert in der Währung der Einzahlung.
Für mich wäre es korrekter, diese Funktion auf 1 Zeichen zu schreiben

int Punkts_B(const string symbol="", const int _Mag=-1)
  {
   double profit = 0;
   for(int t=0;t<OrdersTotal();t++)
     {
      if( !OrderSelect(t,SELECT_BY_POS,MODE_TRADES) )  continue;
      if( OrderSymbol()!=symbol )                      continue;
      if( OrderMagicNumber()!=_Mag )                   continue;
      if( OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue;

      profit+= OrderProfit()+OrderSwap()+OrderCommission();
     }
   return( (int)MathFloor(profit/SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE)) );
  }

int xxx = Punkts_B("EURUSD", 12345) + Punkts_B("GBPUSD", 12345);
Und addieren Sie bei Bedarf Punkte, wenn Sie anrufen.
 
Konstantin Nikitin:

Punktwert in der Einzahlungswährung.

Was besagen die Worte(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2);?

Print(Punkts_B("GBPUSD", "AUDUSD",11151)) druckt Null;

 
PolarSeaman:

Als Wortausdruck(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2));

Print(Punkts_B("GBPUSD", "AUDUSD",11151));

Bedingter Operator ?:

 
Konstantin Nikitin:

Bedingter Operator ?:

Ich danke Ihnen.

 

Kolleginnen und Kollegen, helfen Sie mir.

Ich versuche, herauszufinden, wie man mit der Registrierung arbeiten, habe ich eine einfache Expert Advisor für den Test gemacht. Das Lesen von Daten aus der Systemregistrierung geht ohne Probleme, aber es gibt Probleme beim Schreiben, MT und Speicherabstürze... (((

Vielleicht ist mein Auge bereits getränkt und ich sehe das Offensichtliche nicht...

Dateien:
TestReg.mq5  25 kb
 

Sie müssen ihre Namen neben den Enden der Kurven im Trennungsfenster platzieren, das mit ihnen verbunden sein sollte.

Erläutern Sie bitte, wie man das macht.

 
khorosh:

Sie müssen ihren Namen neben den Enden der Kurven im Separatistenfenster platzieren, das mit ihnen verbunden sein sollte.

Erläutern Sie bitte, wie man das macht.

Objekte - sie können in jedem Fenster des Terminals und seinen Unterfenstern angezeigt werden.

 

Artyom Trishkin:

Objekte - sie können in jedem Terminalfenster und seinen Unterfenstern ausgegeben werden.

--------------------------------------------------------------------------------------------------------------------------------------

Ich habe es auf diese Weise versucht, aber es funktioniert nicht.

  if(ObjectFind("Spread")<0) 
    {
     ObjectCreate(1,"Spread", OBJ_TEXT, 0, Time[0],LevLabelSpread );
     ObjectSetText("Spread", "                    Spread", 10, "Arial", clrYellow);
    }
  else
    {
     ObjectMove(1,"Spread", 0, Time[0], LevLabelSpread);
    } 
Vielleicht hat es etwas mit der Nummerierung der Fenster zu tun. Wenn es ein separates Fenster im Diagramm gibt, ist seine Nummer ==1?
 
Kirill Belousov:

Ersetzen Sie in Ihren Ausdrücken && durch "UND ZUR GLEICHEN ZEIT", und ersetzen Sie || durch "ODER".

sollten Sie in der Lage sein, das zu lesen und zu sehen, wie es funktioniert.


die erste Zeile funktioniert entweder mit magic =777 (wenn hand_orders=false) oder magic = 0 (wenn hand_orders=true)

die zweite Zeile funktioniert IMMER mit majic=777, und mit hand_orders=true funktioniert sie ZUSÄTZLICH mit majic=0

Ich danke Ihnen!
Grund der Beschwerde: