[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 531

 

Puedes decirme dónde puedo encontrar un script que muestre la cantidad de dinero real
por ejemplo
saldo de la cuenta = 10000
cantidad de dinero con apalancamiento = 10000
cantidad de dinero real = 100

 
novicek:

Dime dónde encontrar un script que muestre la cantidad de dinero real
por ejemplo
la cantidad en la cuenta = 10000
la cantidad de dinero con apalancamiento = 10000
la cantidad de dinero real = 100



La cantidad de dinero real es el saldo de la cuenta. El valor es devuelto por la función AccountBalance(). Las tres cifras que has enumerado son las mismas. El último también será de 10.000.
 

Sancho77


for(int i=orderstotal-1 ; i>=0 ;i--)
   {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {   
      if(OrderSymbol() != Symbol() // ордер в торговом пуле и его символ не соответсвует текущему
        
 
tol64:

La cantidad de dinero real es el saldo de la cuenta. El valor es devuelto por AccountBalance(). Las tres cifras que has enumerado son las mismas. El último también sería de 10.000.
Sin embargo, yo diría que la cantidad de dinero real es AccountEquity(). Por lo demás, hay poco que cuelgue en el menos: hasta que no se cierren las operaciones, el saldo no reflejará el estado de la cuenta.
 
tol64:

La cantidad de dinero real es el saldo de la cuenta. El valor es devuelto por AccountBalance(). Las tres cifras que has enumerado son las mismas. El último también será de 10.000.
Olvídate del equilibrio. Y no engañes a los demás. Los fondos propios son sus fondos reales. Si sus fondos lo permiten, su saldo puede ser cero, pero no al revés. Incluso si tiene un saldo de incluso un millón, y los fondos han caído a un valor crítico, espere el Margin Call, y luego el Stop Out... ...si no ingresas el dinero en tu cuenta a tiempo.
 
Dimka-novitsek:

Sí, lo siento de verdad, es el calor del momento, me he quedado un poco corto, lo siento. ¡¡¡¡¡¡¡¡¡Gracias!!!!!!!!!

No te molestes... ¿Es necesario cerrar todas las posiciones y eliminar todas las órdenes si la última posición cerrada se cerró en el TakeProfit?

Aquí tienes tu próxima tarea.

   int j=-1;
   datetime t;
   string PoseType;
   // Поищем в цикле последнюю закрытую позицию, которая закрылась по TakeProfit
   for (int i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(),Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         for (int k=OrdersTotal()-1; k>=0; k--) {
            if (OrderSelect(k, SELECT_BY_POS) {
               if (OrderSymbol()!=Symbol())  continue;
               if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
                  if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
                     if (OrderType()==0) PoseType="BUY"; else PoseType="SELL";
                     Alert("Закрываем позицию ",PoseType," с тикетом #",OrderTicket());
                     // Здесь вставьте команду для закрытия рыночной позиции (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции закрытия позиций с проверкой и обработкой ошибок сервера
                     }
                  if (OrderType()>1 && OrderType()<=5) {
                     if (OrderType()==2) PoseType="BUYLIMIT";
                     if (OrderType()==3) PoseType="BUYSTOP";
                     if (OrderType()==4) PoseType="SELLLIMIT";
                     if (OrderType()==5) PoseType="SELLSTOP";
                     Alert("Удаляем отложенный ордер ",PoseType," с тикетом #",OrderTicket());
                     // Здесь команда для удаления отложенного ордера (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции удаления отложенного ордера с проверкой и обработкой ошибок сервера
                     }
                  }
               }
            }
         }
      }

Por el amor de Dios, no vuelvas a amontonar todo... Ya lo he hecho todo por ti - todo lo que tienes que hacer es tirarte dos pedos... Incluso he escrito dónde... :) Y, por supuesto, limpiar todas las alertas y el código que las acompaña... aunque... No estoy seguro de que encuentre qué, dónde y cómo, y para qué...

 
artmedia70:
Olvídate del equilibrio. Y no engañes a los demás. El patrimonio es su dinero real. Si sus fondos lo permiten, su saldo puede ser cero, pero no al revés. Incluso si tiene un saldo de incluso un millón, y los fondos han caído a un valor crítico, espere el Margin Call, y luego el Stop Out... ...si no depositas el dinero a tiempo.

No lo hice a propósito).
Resulta que es un concepto relativo)). El saldo es un beneficio/pérdida fijo. Y esto es real. Los fondos, AccountEquity(), pueden seguir cambiando tantas veces como se quiera y esto en principio también es real, pero ya es bastante vago. Por supuesto, no debemos aumentar el valor crítico de nuestra cuenta y controlar la carga del depósito y el riesgo lejos del stop out y el porcentaje de margen. Este ejemplo ya se ha dado anteriormente. El mismo "kamikaze"))

En ese caso, novicek debería haber sido más específico y haber utilizado definiciones claras como Balance/Patrimonio (claro) en lugar de Real/Inreal (vago). ¿Le serviría entonces el siguiente ejemplo?

Para mí, AccountEquity(), como vela no formada y otros indicadores que me interesan, los calculo sobre el saldo, pero por supuesto, también sigo los medios, para estar al tanto de cuando la Equidad (medios) debe convertirse en dinero real o virtual (si es una prueba), es decir el equilibrio. ))

 
artmedia70:

No te molestes... ¿Es necesario cerrar todas las posiciones y eliminar todas las órdenes si la última posición cerrada se cerró en el TakeProfit?

Aquí tienes tu próxima tarea.

El código bien estructurado, incluso sin comentarios, es claro. Como un libro).
 
tol64:

No lo hice a propósito).
Resulta ser un concepto relativo). Un balance es un beneficio/pérdida fijo. Y es real. Los fondos, AccountEquity(), pueden seguir cambiando tantas veces como se quiera y esto en principio también es real, pero ya es bastante vago. Por supuesto, no debemos aumentar el valor crítico de nuestra cuenta y controlar la carga del depósito y el riesgo lejos del stop out y el porcentaje de margen. Este ejemplo ya se ha dado anteriormente. El mismo "kamikaze")).

En ese caso, novicek debería ser más específico y utilizar unas definiciones claras y comprensibles, como Balance / Patrimonio (claro), y no Real / Irreal (vago). ¿Le serviría entonces el siguiente ejemplo?

Para mí, AccountEquity(), como vela no formada y otros indicadores que me interesan, calculo sobre el saldo, pero por supuesto, también sigo los medios para estar al tanto de cuando la Equidad (medios) debe convertirse en dinero real o virtual (si es una prueba), es decir, el equilibrio. ))

Y es mejor cerrar todas las posiciones cuando la línea de la equidad se eleva por encima de la línea de equilibrio. Al fin y al cabo, al cerrar las posiciones abiertas, el saldo pasa a ser igual al patrimonio. :)

Bueno, te equivocas con lo de la "vela de la inequidad" en relación con la equidad... La equidad es su beneficio/pérdida que ya se ha formado, mientras que el saldo, cuando las posiciones no se cierran, es polvo, nada...

 
artmedia70:

La equidad es su ganancia/pérdida ya generada, y el saldo con posiciones no cubiertas es polvo, nada...


Por eso cierro una posición cuando los fondos alcanzan un determinado valor por encima del saldo, pero también debería cerrar una posición cuando los fondos están por debajo del saldo, si me he equivocado y el precio ha ido en dirección contraria). Si no se cierra una posición a tiempo, cuando los fondos están por encima del saldo, al cabo de un tiempo puede resultar que los fondos estén por debajo del saldo y no suban más durante mucho tiempo, y luego bajen aún más hasta el stop-loss, y después del stop-loss aún más, y algunos ni siquiera ponen un stop)). ¿Adónde fueron a parar esos fondos cuando superaron el saldo? Se convirtieron en polvo, en nada).

Es como un poema). En realidad estamos hablando de lo mismo, probablemente. Sobre la vela no formada. Me refería a las condiciones de entrada y salida. Los pedidos no entran en esta categoría. El cierre de posiciones por stop-loss, la apertura por órdenes pendientes, por supuesto, no tienen lugar por una vela formada).