Errores, fallos, preguntas - página 72

 
k47:

Sí, efectivamente hay un error aquí,DoubleToString fue establecido por error. Así que el problema se queda sólo en la documentación.

Por cierto, la documentación no se corresponde con la realidad también en la clase CAccountInfo en cuanto a los métodos de acceso a las propiedades por identificador.

La función InfoString() se define comodoubleInfoString(...) y al mismo tiempo

El valor de retorno es

true - si tiene éxito, false - si no se puede recuperar el valor de la propiedad.

Esto no es la forma en que se especifica el tipo. Lo más probable es que el valor se devuelva de dos maneras: a través de la devolución y a través del parámetro por referencia. Esto también se confirma por el hecho de que el método devuelve una cadena cuando se utiliza:

Lo mismo ocurre condoubleInfoInteger() que en realidad devuelve long en lugar de bool, y con doubleInfoDouble() que también se escribe
true - si tiene éxito, false - si no tiene éxito en la recuperación del valor de la propiedad.

Aunque de nuevo, como se puede ver en la imagen, sólo se define un parámetro, por lo que la referencia está fuera de la cuestión....

Gracias por el mensaje. La biblioteca sigue cambiando y, por lo visto, no siempre tenemos tiempo para hacer cambios en la documentación del lenguaje. Lo solucionaremos y lo pondremos al día.
 
Interesting:

Extraño comportamiento del probador de estrategias...


En la compilación 298, detectamos un comportamiento extraño del comprobador de estrategias después de cancelar el proceso de prueba (no lo había notado antes).

Resultado

El botón "Cancelar" se convierte en un botón "Iniciar", la prueba se detiene. Todo parecía estar bien, pero no - los parámetros permanecen en gris y es imposible editarlos.


Gracias. Reproducido y corregido
 

Buenas tardes, ¿podría decirme por qué la parada de minusválidos es precipitada?

Básicamente es un código de transferencia sin pérdidas... Creo que a muchos les será útil...

{ 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:

Buenas tardes, ¿podría decirme por qué el pie discapacitado tiene sarpullido?


¿No puedes editar tu mensaje correctamente? Hay una función especial para insertar código, como...
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

Desarrolladores - ¿De dónde sacan esa hierba?

El servidor debe estar tan "colocado" para declarar las posiciones de VENTA como POSITION_TYPE_BUY (0), la compra debeser POSITION_TYPE_SELL (1)...


Me refiero a la pregunta anterior y a cómo funciona este código:

if (PositionGetInteger(POSITION_TYPE)==0)

PS

DEDMOROZ, ¿has probado a utilizar identificadores?

Además es útil para dividir el código de grandes bloques en partes (la POO está llegando)...

 
Interesting:

Desarrolladores - ¿De dónde sacan esa hierba?

El servidor debe estar tan "colocado" para declarar las posiciones de VENTA como POSITION_TYPE_BUY (0), la compra debeser POSITION_TYPE_SELL (1)...


Porque hay otras enumeraciones con ORDER_TYPE_BUY, DEAL_TYPE_SELL, BOOK_TYPE_BUY

 
stringo:

Porque hay otras enumeraciones con ORDER_TYPE_BUY, DEAL_TYPE_SELL, BOOK_TYPE_BUY

¿Y qué tiene que ver PositionGetInteger(POSITION_TYPE)? ¿Y qué tienen que ver POSITION_TYPE_BUY y POSITION_TYPE_SELL?


Un ejemplo sencillo:

Ahora tengo una posición de venta abierta en EUR (abierta desde el mercado). Yo lo veo como Venta, pero mi Asesor Experto lo ve como Compra (0).

Abro la ayuda para PositionGetInteger(POSITION_TYPE) y veo que el servidor obviamente confunde algo...


PS

El hombre ve una posición abierta, el hombre ve la ayuda y hace todo correctamente (en su opinión), pero el servidor tiene como siempre una opinión "especial"...

 
Interesting:

Un ejemplo sencillo:

Ahora tengo una posición de venta abierta en EUR (abierta desde el mercado). Yo lo veo como Vender, pero EA lo ve como Comprar (0).

Abro la ayuda para PositionGetInteger(POSITION_TYPE) y veo que el servidor está obviamente confundido sobre algo...


PS

El hombre ve la posición abierta, el hombre ve la ayuda y hace todo correctamente (en su opinión), pero el servidor tiene como siempre una opinión "especial"...

Antes de ver una pose abierta, debe llamar a la función PositionSelect
 
stringo:
Antes de ver una pose abierta, debe llamar a la función PositionSelect

Entonces me disculpo, he tenido tiempo de fumar hoy...

 
DEDMOROZ:

Buenas tardes, ¿podría decirme por qué la parada de minusválidos es precipitada?

Básicamente es un código de transferencia sin pérdidas... Creo que a muchos les será útil...


   for(int i=PosTotal-1; i>=0; i--)//перебор позиций имеет смысл, если перенос в безубыток мультивалютный
     {//где-то тут должен быть выбор позиции, которую будем допрашивать :)
                 MqlTick lasttick;
            SymbolInfoTick(Symbol(),lasttick);//ask,bid всегда берутся с текущего символа.
o bien no necesitas el rebasamiento, o bien necesitas pedir, ofertar en el símbolo de la pose