Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 720
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Tiempo y símbolo, no sólo tiempo. No puede haber más de un tick en un momento determinado para un mismo símbolo.
Puede. Y puede hacerlo. Abra el feed de operaciones y compruébelo usted mismo.
que esté interesado en trabajar en señales
En primer lugar, para asegurarnos de que estamos hablando de lo mismo, ¿qué significan los ticks en el mercado de divisas?
Pensé que esta era una conversación sobre FORTS porque:
Sí, estoy interesado en utilizar MQL5 con la ejecución de "intercambio".
Aunque, por supuesto, puedo estar equivocado...
Y antes la misma persona escribió:
¡Buenas tardes!
¿Existe en MT5 la posibilidad de recibir ofertas de todos los símbolos abiertos en Market Watch en un Asesor Experto? Me interesan exactamente las operaciones (ticks) y no los cambios de la ventana de mercado.
Gracias.
Supuse que se hablaba de FORTS aquí, ya que..:
Aunque, por supuesto, podría estar equivocado...
Y es que antes la misma persona escribió:
Entonces, lo más probable es que siga hablando de FORTS. Y en este caso se trata de los ticks que llevaron a las operaciones.¿Podría decirme qué significa la siguiente entrada en el terminal del cliente?
Símbolo EURUSD asignado a EURUSDmicro
Es la primera vez que utilizo microcuentas
Hola, por favor, explica cómo retirar el dinero si no aparece en la cuenta.
¿Por qué no se dibuja nada?
//| Test.mq5 | |
//+------------------------------------------------------------------+
#include <Canvas\Canvas.mqh>
//+------------------------------------------------------------------+
CCanvas eee; // the canvas object
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
uint clr=4294967295;
eee.Create("name",1000,1000,COLOR_FORMAT_ARGB_RAW);
eee.Erase(clr);
eee.Update(true);
Sleep(10000);
//---
eee.Destroy();
}
//+------------------------------------------------------------------+
Hola.
Por favor, ayuda.
Señal cuando las líneas del indicador se cruzan en la primera barra.
La posición se abre correctamente en la primera barra si el desplazamiento ma_shiftT = 0 y ma_shiftD = 0. Si el desplazamiento ma_shiftT = -1 y ma_shiftD = 1, la posición se abre en la tercera o cuarta barra.
¿Qué debo hacer para abrir una posición si se cruza en la primera barra?
input int ma_shiftD=1;
int iTEMAHandle; // хэндл индикатора iTEMA
int iDEMAHandle; // хэндл индикатора
double ma1Val[]; // динамические массивы для хранения численных значений для каждого бара
double maVal[]; //
//+------------------------------------------------------------------+
int OnInit()
{
//---
m_symbol.Name(Symbol());
//--- Получить хэндл индикатора iTEMA
iTEMAHandle=iTEMA(_Symbol,PERIOD_CURRENT,30,ma_shiftT,PRICE_CLOSE);;
//---Получить хэндл индикатора
iDEMAHandle=iDEMA(_Symbol,PERIOD_CURRENT,30,ma_shiftD,PRICE_CLOSE);;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- освобождаем хэндлы индикаторов
IndicatorRelease(iTEMAHandle);
IndicatorRelease(iDEMAHandle);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//--- массив значений индикатора
ArraySetAsSeries(ma1Val,true);
//--- массив значений индикатора
ArraySetAsSeries(maVal,true);
if(CopyRates(_Symbol,_Period,0,5,mrate)<0)
{
Alert("Ошибка копирования исторических данных - ошибка:",GetLastError(),"!!");
return;
}
//====
if(CopyBuffer(iTEMAHandle,0,0,5,ma1Val)<0)
{
Alert("Ошибка копирования буферов индикатора TEMA - номер ошибки:",GetLastError(),"!!");
return;
}
if(CopyBuffer(iDEMAHandle,0,0,5,maVal)<0)
{
Alert("Ошибка копирования буферов индикатора DEMA - номер ошибки:",GetLastError());
return;
}
bool Sell_Condition_3=(maVal[2]<=ma1Val[2]);
bool Sell_Condition_4=(maVal[1]>ma1Val[1]);
if(Sell_Condition_3 && Sell_Condition_4)
{
// открываю позицию SELL
}
}