Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 543

 
Konstantin Nikitin:

Gracias. En palabras, ¿entre qué dividimos el beneficio en moneda?

.../(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2));
   
Maxim Kuznetsov:
No se pueden sumar los puntos de dos instrumentos diferentes.

Entiendo que el valor del punto es diferente, pero no importa en este caso.

 
PolarSeaman:

Gracias. En palabras, ¿entre qué dividimos el beneficio en moneda?

El valor de los puntos en la moneda del depósito.
Para mí sería más correcto escribir esta función en 1 carácter

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);
Y sumar puntos si es necesario al llamar.
 
Konstantin Nikitin:

Valor de los puntos en la moneda del depósito.

¿Qué dicen las palabras(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2);?

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

 
PolarSeaman:

Como expresión de palabras(OrderSymbol()==Sy_1 ? tickValue_1 : tickValue_2));

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

Operador condicional ?

 
Konstantin Nikitin:

Operador condicional ?

Gracias.

 

Colegas, ayúdenme.

Estoy tratando de averiguar cómo trabajar con el registro, he hecho un simple Asesor Experto para la prueba. La lectura de datos del registro del sistema va sin problemas, pero hay problemas con la escritura, la MT y los fallos de memoria... (((

Quizás mi ojo ya está empapado y no veo lo evidente...

Archivos adjuntos:
TestReg.mq5  25 kb
 

Es necesario colocar sus nombres al lado de los extremos de las curvas en la ventana separatista, que debe estar vinculada a ellas.

Por favor, explique cómo hacerlo.

 
khorosh:

Es necesario colocar su nombre al lado de los extremos de las curvas en la ventana separatista, que debe estar vinculada a ellas.

Por favor, explique cómo hacerlo.

Objetos - se pueden mostrar en cualquier ventana del terminal y sus subventanas.

 

Artyom Trishkin:

Objetos - pueden ser emitidos en cualquier ventana de la terminal y sus subventanas.

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

Lo he intentado así, pero no funciona.

  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);
    } 
Tal vez sea algo con la numeración de las ventanas. Si hay una ventana separada en el gráfico, su número ==1?
 
Kirill Belousov:

sustituir en sus expresiones - && por "Y AL MISMO TIEMPO", y sustituir || por "O".

deberías poder leerlo y ver cómo funciona.


la primera línea funcionará con magic =777 (cuando hand_orders=false) o magic = 0 (cuando hand_orders=true)

la segunda línea funciona SIEMPRE con majic=777, y con hand_orders=true funciona ADEMÁS con majic=0

Gracias.
Razón de la queja: