[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 245

 

¿Cómo se calcula el beneficio de un pedido?

if(OrderType() == 0) profitbuy += ((Bid - OrderOpenPrice())*OrderLots()*(tickvalue/ticksize))+OrderSwap()+OrderCommission();

¿Qué he hecho mal? En Eur/Usd funciona, pero en Usd/Jpy funciona, pero no correctamente.

 

He decidido probar a utilizar la función de cambio de plazo, me parece más fácil y claro. No compila. Tal vez sea yo, por supuesto algo estúpido. Lo he escrito de esta manera.

'fChangePeriod' - variable no definida C:\terminal\experts/indicators/timeframe.mq4 (37, 12)

'WM_COMMAND' - variable no definida C:Terminal/experts/indicators/timeframe.mq4 (62, 22)

//+------------------------------------------------------------------+
//|                                                    таймфрейм.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
extern int nPeriod=30,P=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(P<0){fChangePeriod;P--;}
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(int nPeriod)
{
   int hWnd, wParam;
   
   switch(nPeriod)
   {
      case PERIOD_M1:  wParam = 33137; break;
      case PERIOD_M5:  wParam = 33138; break;
      case PERIOD_M15: wParam = 33139; break;
      case PERIOD_M30: wParam = 33140; break;
      case PERIOD_H1:  wParam = 33135; break;
      case PERIOD_H4:  wParam = 33136; break;
      case PERIOD_D1:  wParam = 33134; break;
      case PERIOD_W1:  wParam = 33141; break;
      case PERIOD_MN1: wParam = 33334; break;
   }
        
   hWnd = WindowHandle(Symbol(),Period());
        
   PostMessageA(hWnd,WM_COMMAND,wParam,0);
}
 
Todavía no conozco la dll, para que este script funcione, ¿debo poner esta dll en una de las carpetas? Estoy un poco confundido.
 
Vinin:

Dame el código.

No te quedes callado, di algo, ¿estoy pensando bien o no?

 
En cuanto a la biblioteca, las funciones WinAPI, ¿cuál es el directorio raíz donde debe colocarse ServicesMT4.rar? Sólo mira ServicesMT4.rar, lo abrió, también no hay manera - la apertura de programas juran, formato incorrecto especificado.
 
Dimka-novitsek:
En cuanto a la biblioteca, las funciones WinAPI, ¿cuál es el directorio raíz en el que debe guardar ServicesMT4.rar? Basta con mirar ServicesMT4.rar, lo abrió, también no funciona - programas abridores juran, se especifica el formato equivocado.

Se incluye un script con ejemplos de cómo utilizar todas las funciones de la biblioteca. Todo se puede hacer de la misma manera.

El archivo debe ser desempacado en el directorio de MT4 o desempacar todo por separado. También hay una instrucción con 5 puntos.

El archivo está abierto para mí. Acabo de comprobarlo. No hay que inventarlo. Le recomiendo que lea atentamente las instrucciones.

Este es un ejemplo de un Asesor Experto:

#include <ServicesMT4.mqh>
void start()
  {
   int hwndChart = WindowHandle(Symbol(),Period());
   while (!IsStopped())
    {
     for (int i = 0; i < 9; i++)
      {
       ServiceSetTimeframeByNumber(hwndChart, i);
       Sleep(2000);
      }
    }
  }
 

Bueno, creo que he leído... Los archivos

ServiciosMT4.mqh (94.1 Kb) Ver
WinUser32.mqh (70.3 Kb) Ver
Check_ServicesMT4.dll.mq4 (115.2 Kb)
ZH_All_Quotings 4.10912.mq4 (8.4 Kb) Ver

Pongo los archivos donde deben estar, no hay problema.

Pero este es el 4. Descomprimir el archivo con todos estos y la biblioteca en los directorios de MT4 al directorio raíz de MT4.

No lo entiendo. ¿Qué es el directorio raíz? ¿Y cómo eliminar el ZIP del nombre del archivo? Sí, el archivo simplemente guardado en la carpeta de la izquierda en mi equipo, por lo que, se firma allí, no veo en el nombre de ZIP, se llama ServicesMT4.rar, es cierto, la extensión es ZIP, pero ¿cómo cambiarlo, si necesito? Tal vez no, pero ¿cuál es el directorio raíz?

 
Dimka-novitsek:

Bueno, creo que he leído... Archivos

ServicesMT4.mqh (94.1 Kb) Ver
WinUser32.mqh (70.3 Kb) Ver
Check_ServicesMT4.dll.mq4 (115.2 Kb)
ZH_All_Quotings 4.10912.mq4 (8.4 Kb) Ver

Lo puse sin problemas donde debía estar.

Pero este es el 4. Descomprimí el archivo con todo esto y la biblioteca en los directorios de MT4 al directorio raíz de MT4.

No lo entendí. ¿Qué es el directorio raíz? ¿Y cómo eliminar el ZIP del nombre del archivo? Sí, el archivo simplemente guardado en la carpeta de la izquierda en mi equipo, por lo que, se firma allí, no veo en el nombre de ZIP, se llama ServicesMT4.rar, es cierto, la extensión es ZIP, pero ¿cómo cambiarlo, si necesito? Tal vez no sea necesario, pero ¿cuál es el directorio raíz?

1. Los archivos listados están en el archivo. Pero el archivo también contiene el archivo más importante de la biblioteca ServicesMT4.dll en sí. De lo contrario, no se puede adjuntar. Recientemente nos hemos visto privados de esta posibilidad.

2. El directorio raíz de MT4 es el directorio de su MT4. Cómo explicarlo de forma más sencilla, no lo sé.

Para ver las extensiones, hay que configurar la visibilidad de las mismas en las propiedades de la carpeta. Me sorprende mucho que el programador haya desactivado la visibilidad de las extensiones. Como si fuera un muñeco.

4. Esperemos que después de esto no sea difícil cambiar el nombre de la extensión. Por si acaso, esto se hace desde el menú contextual del botón derecho del ratón.

5. Tengo WinRar abriendo este archivo con cualquier extensión. La extensión sólo es necesaria para asociar automáticamente los archivos con los programas para abrirlos.

 

Por favor, dame una pista. La situación es la siguiente:


#importar "Trend.ex4"

doble Zena(imya,sdvig);

#importar

Cuando intento importar esta función, el compilador escribe : 'imya' - definición de parámetro esperada. ¿qué debo hacer?

 
DemanRap:

Por favor, aconséjeme. La situación es la siguiente:


#importar "Trend.ex4"

doble Zena(imya,sdvig);

#importar

Cuando intento importar una función como ésta, el compilador escribe : 'imya' - definición de parámetro esperada. ¿qué debo hacer?

Hay que especificar los tipos de parámetros.