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
Hola Mladen , hola a todos,
¡Maldita nueva construcción!
Con B625 ahora tengo nuevas advertencias.
"El valor de retorno de 'OrderSelect' debe ser comprobado"
para el siguiente código:
"OrderSelect(i,SELECT_BY_POS,MODE_TRADES);"
¿Cómo corregirlo?
Gracias por todo.
Tomcat98Tomcat98
Haz lo siguiente :
declara una variable booleana global (así, por ejemplo) :
bool dummyResult;
Y luego simplemente coloca "dummyResult =" delante del OrderSelect -entonces tendrás lo siguiente :
dummyResult = OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
Hola Mladen , hola a todos,
¡Maldita nueva construcción!
Con B625 ahora tengo nuevas advertencias.
"El valor de retorno de 'OrderSelect' debe ser comprobado"
para el siguiente código:
"OrderSelect(i,SELECT_BY_POS,MODE_TRADES);"
¿Cómo corregirlo?
Gracias por todo.
Tomcat98Bueno, se puede eliminar a costa de un poco de esfuerzo.
Pero tengo una advertencia permanente, que no puedo eliminar por ningún medio (excepto de eliminar la línea del código fuente):
results in
[CODE]! struct has no members, size assigned to 1 byteque es una información inútil, si lo uso como supertipo para las llamadas dll solamente (no tengo idea de cualquier otro uso de la estructura vacía).
Hola Mladen,
Sí, funciona:
Gran trabajo.
Muchas gracias por tu ayuda.
Sinceramente.
Tomcat98
Hola a todos,
desde hace unos días estoy recibiendo esporádicamente el siguiente error en uno de mis indicadores que utilizo en mi EA.
2014.04.10 09:01:49.533 2014.01.08 03:45 Violación de acceso al escribir en 0xFFFFFFFE en 'C:\NUsers...\AppData\Roaming\NMetaQuotes\NTerminalD5D5AE2430FC68F628F143CAFA9XXXX\NMQL4\indicators\MyDailyFibo.ex4'
Utilizo la versión 4 de MT. Build 625
Por favor, ayúdenme a encontrar la causa de este problema. Hágame saber si necesita mirar en el indicador. No aparece todo el tiempo pero sí muy a menudo...
Gracias y saludos,
Antony
Hola a todos,
desde hace unos días estoy recibiendo esporádicamente el siguiente error en uno de mis indicadores que utilizo en mi EA.
2014.04.10 09:01:49.533 2014.01.08 03:45 Violación de acceso al escribir en 0xFFFFFFFE en 'C:\NUsers...\AppData\Roaming\NMetaQuotes\NTerminalD5D5AE2430FC68F628F143CAFA9XXXX\NMQL4\indicators\NMyDailyFibo.ex4'
Utilizo la versión 4 de MT. Build 625
Por favor, ayúdenme a encontrar la causa de este problema. Hágame saber si necesita mirar en el indicador. No aparece todo el tiempo pero sí muy a menudo...
Gracias y saludos,
AntonyAntony
Eso no es un problema con su indicador
Es un problema con el nuevo metatrader 4 (está teniendo problemas con la asignación de memoria y el acceso adecuado - build 628 es un poco mejor, pero no mucho)
Hola,
necesito ayuda con este indicador que estaba tratando de escribir (Wilder trailing stop velas MTF).
Primer problema: mi indicador dibuja la señal de compra 1 barra antes de lo que debería ser y sé que esto se debe a la forma de calcular la pendiente, pero no sé cómo solucionarlo.
Segundo problema: Los colores no coinciden, probablemente me equivoqué con los buffers en esta parte pero me estoy confundiendo y no puedo arreglarlo :
{
UpBodyBuffer = High;
DnBodyBuffer = Low;
UpWickBuffer = MathMax(Open,Close);
DnWickBuffer = MathMin(Open,Close);
}
else
{
DnBodyBuffer = High;
UpBodyBuffer = Low;
DnWickBuffer = MathMax(Open,Close);
UpWickBuffer = MathMin(Open,Close);wilders_trailing_stop_candles_mtf.mq4
wilders_trailing_stop_mtf_1.mq4
wilders_trailing_stop.mq4
Hola,
Necesito ayuda con este indicador que estaba tratando de escribir (Wilder trailing stop velas MTF).
Primer problema: mi indicador dibuja la señal de compra 1 barra antes de lo que debería ser y sé que esto se debe a la forma de calcular la pendiente, pero no sé cómo solucionarlo.
Segundo problema: Los colores no coinciden, probablemente me equivoqué con los buffers en esta parte pero me estoy confundiendo y no puedo arreglarlo :
{
UpBodyBuffer = High;
DnBodyBuffer = Low;
UpWickBuffer = MathMax(Open,Close);
DnWickBuffer = MathMin(Open,Close);
}
else
{
DnBodyBuffer = High;
UpBodyBuffer = Low;
DnWickBuffer = MathMax(Open,Close);
UpWickBuffer = MathMin(Open,Close);wilders_trailing_stop_candles_mtf.mq4
wilders_trailing_stop_mtf_1.mq4
wilders_trailing_stop.mq4
mmmhh, los colores coinciden. ¿Quizás tengo que escribir primero los wickbuffers y luego los bodybuffers?
mmmhh, los colores coinciden. ¿Tal vez tengo que escribir primero wickbuffers y luego bodybuffers?
thefxpros
La forma más fácil es cambiar el indicador Wilders trailing stop (de lo contrario se verá atrapado en algunas construcciones complicadas if then else). Aquí hay una versión con un búfer interno que desea : tendencia. Si es igual a 1, la tendencia es alcista, si es igual a -1, la tendencia es bajista. Utilice este indicador en lugar de la original y simplemente leer el valor de la memoria intermedia 4 - después de que todo es simple
thefxpros La forma más fácil es cambiar el indicador Wilders trailing stop (de lo contrario se verá atrapado en algunas construcciones complicadas if then else). Aquí hay una versión con un búfer interno que desea : tendencia. Si es igual a 1, la tendencia es alcista, si es igual a -1, la tendencia es bajista. Utilice este indicador en lugar del original y simplemente lea el valor del buffer 4 - después de eso todo es simple
¿Así?
#property copyright "thefxpros"
#property link "thefxpros@katamail.com"
//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 LimeGreen
#property indicator_color2 Orange
#property indicator_color3 DarkGreen
#property indicator_color4 FireBrick
#property indicator_width1 1
#property indicator_width2 2
//
//
//
extern int TimeFrame = 0;
extern int Length = 2;
extern double Coeff = 1.75;
extern color UpBodyColor = LimeGreen;
extern color DnBodyColor = Orange;
extern color UpWickColor = DarkGreen;
extern color DnWickColor = FireBrick;
extern int WickWidth = 1;
extern int BodyWidth = 2;
//
double UpBodyBuffer[];
double DnBodyBuffer[];
double UpWickBuffer[];
double DnWickBuffer[];
double TrendBuffer[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(6);
SetIndexBuffer(0,UpWickBuffer); SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, WickWidth, UpWickColor);
SetIndexBuffer(1,DnWickBuffer); SetIndexStyle(1,DRAW_HISTOGRAM, EMPTY, WickWidth, DnWickColor);
SetIndexBuffer(2,UpBodyBuffer); SetIndexStyle(2,DRAW_HISTOGRAM, EMPTY, BodyWidth, UpBodyColor);
SetIndexBuffer(3,DnBodyBuffer); SetIndexStyle(3,DRAW_HISTOGRAM, EMPTY, BodyWidth, DnBodyColor);
SetIndexBuffer(4,TrendBuffer);
IndicatorShortName("Wilders trailing stop MTF candles("+Length+","+Coeff+")");
Length = MathMax(Length,1);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("Wilders trailing stop MTF candles("+TimeFrameStr+")");
return(0);
}
//----
//+------------------------------------------------------------------+
//| MTF function |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++;
/*********************************************************************************************************
Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
********************************************************************************************************/
int slope=iCustom(Symbol(),TimeFrame,"Wilders trailing stop with trend",Length,Coeff,4,y);
if (slope == 1)
{
UpWickBuffer = High;
DnWickBuffer = Low;
UpBodyBuffer = MathMax(Open,Close);
DnBodyBuffer = MathMin(Open,Close);
}
if (slope == -1)
{
DnWickBuffer = High;
UpWickBuffer = Low;
DnBodyBuffer = MathMax(Open,Close);
UpBodyBuffer = MathMin(Open,Close);
}
}
return(0);
}
//+------------------------------------------------------------------+No puedo creer, funciona en el primer intento .....¿Hay algo más que puedo escribir mejor (borrar trendbuffer sí, vi ahora) que hice?
gracias Mladen
No se pueden dibujar líneas con longitud en pulgadas en el gráfico (es completamente imposible usando metatrader y dudo que sea posible en cualquier plataforma de trading). Y esas líneas son objetos de líneas horizontales no líneas de tendencia (las líneas de tendencia se pueden limitar pero las horizontales no). Si no hay una regla matemática exacta de cómo se deben dibujar las líneas (dependiendo del precio, no de las pulgadas) simplemente no se pueden dibujar, y por esa secuencia de números parece que las reglas son únicas para todas y cada una de las líneas
Ok gracias he encontrado un indy mejor que se puede editar. Era un proyecto inacabado que un codificador hizo en forexfactory y ya no puedo localizarlo. Por favor, reemplace 00, 20, 50, 80 con mis números. Las líneas también se agrupan en lugar de sólo poner en los números especiales 5, 15, 31, 45 y 67.
Gracias