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

 

Buenas tardes.

Ante la falta de comprensión de cómo ".Search()" en la biblioteca estándar.

Estoy utilizando la clase estándar - CiTime() - La clase es una clase para acceder a la serie de tiempo de apertura de la barra.

int OnInit()
  {
//..
 TimeFrac=new CiTime();
   if(CheckPointer(TimeFrac)==POINTER_INVALID || !TimeFrac.Create(symbol_Name,TimeFr_Frac_D1))
      return INIT_FAILED;
   TimeFrac.Refresh();  
   TimeFrac.Sort();
//..

Al tratar de encontrar la fecha que necesito (la clase es la misma pero el período es diferente)

 int k = TimeFrac.Search(  Time.GetData(i)    );

Comete un error:

'GetData' - conversión de parámetros no permitida.

Intentó reemplazar

Time.GetData(i)

a

datetime Time_GetData  =  Time.GetData(i);

No funciona...

Me he referido a la Ayuda. Dice allí

int  Search( 
   CObject*  element      // образец 
   ) const

Y un ejemplo de aplicación salvaje.

Resulta que la búsqueda de una "Fecha" en una clase estándar por una "Fecha" conocida de la misma clase no es posible!?!?

Sólo un elemento de clase.

CObject

No he podido encontrar un ejemplo de cómo buscar una fecha en esta clase.

¿A quién debo dirigirme para pedir ayuda?

Gracias.

 
Hola a todos, por favor, díganme qué pasa, no funciona por alguna razón
double Minus_profit(){
time=TimeCurrent();
 for (int i=0; i<OrdersHistoryTotal(); i++){
      if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
       if (OrderSymbol() == Symbol() && OrderMagicNumber()==Magic){
        if (OrderType() == OP_BUY || OrderType() ==OP_SELL){
         if (OrderCloseTime()>=time){
          if (OrderProfit()+OrderSwap()+OrderCommission()<=0){
              time=OrderCloseTime();
              profit+=OrderProfit();swap+=OrderSwap(); ;comis+=OrderCommission();
              result=profit+swap+comis;   
   }}}}}}return(result);
}
 
Alexander Avksentyev #:
Hola a todos, por favor, díganme qué pasa, no funciona por alguna razón
double Minus_profit(){
time=TimeCurrent();   // это текущее время
 for (int i=0; i<OrdersHistoryTotal(); i++){
      if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
       if (OrderSymbol() == Symbol() && OrderMagicNumber()==Magic){
        if (OrderType() == OP_BUY || OrderType() ==OP_SELL){
         if (OrderCloseTime()>=time){                  // условие не выполнимо, что бы время закрытия ордера в истории
          if (OrderProfit()+OrderSwap()+OrderCommission()<=0){     // было больше/позже чем текущее
              time=OrderCloseTime();
              profit+=OrderProfit();swap+=OrderSwap(); ;comis+=OrderCommission();
              result=profit+swap+comis;   
   }}}}}}return(result);
}
 

Pregunta. Para 4k.

doubleMarketInfo(

)

MODE_LOTSIZE

15

Tamaño del contrato en la moneda base del instrumento

¿entiendo bien, este es el valor de 1 (un) lote? y dividido por el apalancamiento, el valor del lote incluyendo el apalancamiento en la primera moneda del instrumento

MODE_MARGINREQUIRED

32

Cantidad de fondos libres necesarios para abrir 1 lote para comprar

hay un análogo al último en 5, si lo hay, no lo he encontrado.

Los fondos MarginFree son claros. Si los dividimos por el valor de un lote, obtenemos cuántos lotes podemos abrir sin apalancamiento, y multiplicados por el apalancamiento, cuántos con apalancamiento. ¿Es correcto o no?

Zy. ¿Es esto correcto para un 5

double   Free   =AccountInfoDouble(ACCOUNT_MARGIN_FREE);                 // Свободн средства
double   One_Lot=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE);// Стоимость 1 лота без плеча
double   Step   =SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);       // Шаг изменен размера
long     Laverage=AccountInfoInteger(ACCOUNT_LEVERAGE); // Плечо
double   One_Lot_Lav=ND((One_Lot/Laverage)*Ask);      // Стоимость лота с плечом для бай
Lts=MathFloor(Free*Prots/One_Lot_Lav/Step)*Step;// Для открытия
 

Hola,

Quisiera que la carpeta Metaquotes estubiera en el el disco H y no en el C (sistema). Cuando descago el archivo MT4.exe y lo ejecuto, si puedo guardar el progrma en el disco H, pero la carpeta MetaQuotes no me deja elegir ni cambiar de ubicación.

Aclaro que el archivo es el que me proporciona mi Broker, el del buho. Lo digo por si esto pudiera tener algo que ver con el problema.

La he cortado y copiado en en H, pero me vuelve aparecer de manera automática en el C.

C:\Users\toni\AppData\Roaming\MetaQuotes\Terminal\8A024E7EA0214F975CB5C1BA9A514083

Es posible solucionar este problema y poder dejar la carpeta en el disco H de manera fija?

Gracias.

 

Buenas noches, me ocurre en MT4 que antes funcionaba todo de 10, pero ahora cada vez que cierro la pestaña de la aplicación web, y la vuelvo a abrir se desconfigura todo. Y se borran las barras de arriba, por lo que cada vez que entro, debo volver a seleccionar todo de nuevo. 

 

HOLA. UN SALUDO A TODOS.

ME GUSTARIA HACEROS UNA PREGUNTA. NECESITO CREAR UN INDICADOR A PARTIR DE OTRO EN EL QUE LAS FLECHAS APARECE A LO LARGO DE LA VELA....COMO PUEDO CREAR ESE INDICADOR EN EL QUE YO LE DIGA QUE DETECTE LA VELA EN UNOS "X" SEGUNDOS DE LA APARICION DE LA SEÑAL DE VELA DEL OTRO INDICADOR?

 
ATA1977 #:

HOLA. UN SALUDO A TODOS.

ME GUSTARIA HACEROS UNA PREGUNTA. NECESITO CREAR UN INDICADOR A PARTIR DE OTRO EN EL QUE LAS FLECHAS APARECE A LO LARGO DE LA VELA....COMO PUEDO CREAR ESE INDICADOR EN EL QUE YO LE DIGA QUE DETECTE LA VELA EN UNOS "X" SEGUNDOS DE LA APARICION DE LA SEÑAL DE VELA DEL OTRO INDICADOR?

Hola. Puedes usar la función iCustom
 
Que debo poner en dónde me dice ..conectarse a una cuenta de broquer para ingresar al metatraider 4 me pueden ayudar

Archivos adjuntos:
 
1 2 #:
Que debo poner en dónde me dice ..conectarse a una cuenta de broquer para ingresar al metatraider 4 me pueden ayudar

https://www.metatrader5.com/es/terminal/help/startworking/acc_open

Apertura de las cuentas - Inicio de trabajo - Guía de ayuda de MetaTrader 5
  • www.metatrader5.com
La plataforma comercial permite trabajar con dos tipos de cuentas: cuentas de demostración (demo) y cuentas reales. Las cuentas de...