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

 
snowman647 писал(а) >>
sugerir si alguien ha visto un asesor que sólo comercia por render - cualquier implementación... (se supone que sólo drena lentamente a expensas de la propagación)

Echa un vistazo a esta opción. http://vinin.ucoz.ru/forum/10-38-1

Último puesto

 

Ciudadanos, que conectaron MT4 a Matlab a través de DDE, ¿pueden decirme por qué no se inicializa la conexión?

Escribo canal = ddeinit('MT4','BID');

en respuesta - canal = 0

Metatrader se está ejecutando en todo caso.

 

Buenas tardes.

Podría decirme, por favor.

¿Qué debo cambiar en el indicador MA para que la línea se dibuje al otro lado del precio? Por ejemplo, si el precio baja, la línea del indicador se dibuja a la derecha y si sube, a la izquierda.

¿Cómo hacer lo contrario?

 
smogsam писал(а) >>

Buenas tardes.

Podría decirme, por favor.

¿Qué debo cambiar en el indicador MA, para que la línea se dibuje al otro lado del precio? Por ejemplo, si el precio baja, la línea del indicador se dibuja a la derecha y si sube, se dibuja a la izquierda.

¿Cómo hacerlo a la inversa?

Probablemente, es necesario desplazar el indicador de un periodo hacia el pasado, pero el grado de desplazamiento depende del periodo de retraso del indicador. El SMA tiene medio período.

Por lo tanto, al mover la SMA para un período hacia atrás, será posible ver en la historia lo que usted quiere.

 
Chemist >> :

Ciudadanos, que conectaron MT4 a Matlab vía DDE, ¿pueden decirme por qué no se inicializa la conexión?

Escribo canal = ddeinit('MT4','BID');

en respuesta - canal = 0

metatrader está funcionando.

¿Ha habilitado el Servicio-Configuración-Servidor-Habilitar Servidor DEE?

Deberías hacerlo.

 
Urain >> :

¿Ha habilitado el Servicio-Configuración-Servidor-Habilitar Servidor DEE?

O bien debería serlo.


Ya está, este problema está resuelto. canal tomó el valor correcto. ahora estoy tratando de obtener los datos

rc = ddeadv(channel, 'EURUSD','disp(x)','x',[1 1]); - intentar dar salida al valor del tick entrante en la consola,

pero no funciona, a pesar de que rc=1. ¿qué pasa, me puedes decir?

 


Hola. Estoy luchando con el código de un indicador personalizado, basado en la teoría de DeMark. La esencia del indicador - el camino recorrido por el precio (Close[i]-Open[i])/(High[i]-Low[i]) por unidad de tiempo, por ejemplo un día, se multiplica por el volumen del mismo período. Si el precio sube, el valor de ese valor multiplicado por el volumen se añade al valor anterior. Si el precio baja, el valor de ese día se resta del valor del día anterior. Es decir, los valores positivos se suman al valor del día anterior y los negativos se restan del valor del día anterior. La relación entre los valores positivos y negativos de un periodo es el valor porcentual de la presión compradora/vendedora, es decir, la acumulación/distribución de un valor.

Sólo doy el código de la función especial de inicio, porque no hay problema con la inicialización de las variables. Cuando ejecuto el código - en cero i iteraciones la curva del indicador "va" al techo/la mitad de la ventana del indicador.

¿Qué hago mal? ¿Cómo debe hacerse? Gracias por la ayuda.


int start()
{
int i,j,nCountedBars;
double V,X,Y,Z;

if(Bars<=Fi) return(0);

nCountedBars=IndicatorCounted();
//----
i=Bars-Fi-1;
if(nCountedBars>Fi)
i=Bars-nCountedBars-1;
while(i>=0)
{
V=(Close[i]-Open[i])/(High[i]-Low[i]);
if(V>0)
X+=V*Volume[i];
else
Y+=V*Volume[i];



Alert("V=",V," X=",X," Y=",Y," i=",i);


ExtDMFiBuffer[i]=100-100/(1+MathAbs(X/Y));


i--;
}
return(0);
Archivos adjuntos:
demarkrf.mq4  2 kb
 
Laven писал(а) >>

Hola. Estoy luchando con el código de un indicador personalizado, basado en la teoría de DeMark. La esencia del indicador - el camino recorrido por el precio (Close[i]-Open[i])/(High[i]-Low[i]) por unidad de tiempo, por ejemplo un día, se multiplica por el volumen del mismo período. Si el precio sube, el valor de ese valor multiplicado por el volumen se añade al valor anterior. Si el precio baja, el valor de ese día se resta del valor del día anterior. Es decir, los valores positivos se suman al valor del día anterior y los negativos se restan del valor del día anterior. La relación de los valores positivos y negativos de un período es el valor porcentual de la presión compradora/vendedora, es decir, la acumulación/distribución de este instrumento financiero.

Resulta la división por cero.

Si antes de cualquier división añadimos el control en cero, empieza a dibujarse.

Pero debemos modificar la lógica del indicador. En cada nuevo tick las variables X e Y toman un valor igual a cero. Funciona correctamente en el historial.

Archivos adjuntos:
 
Laven писал(а) >>

Gracias. Voy a dar sentido a su editorial. Pero

Aún así, la curva del gráfico llega al "suelo". Pruebe el suyo.

He corregido el post anterior. También he cambiado el archivo.

Puede modificar el indicador. Pero necesitará búferes adicionales para los cálculos intermedios.

 
Vinin >> :

La división por cero funciona.

Si se añade un control de cero antes de cualquier división, se empieza a dibujar.

Pero sería necesario rehacer la lógica del indicador. En cada nuevo tick las variables X e Y toman valores iguales a cero. Funciona correctamente en el historial

¿En la historia? Así, resulta que el día de hoy debe excluirse de los cálculos. Empecemos con lo de ayer y...