Página 1 de 1

el problema de las fechas en visual

Publicado: 21 Feb 2007 17:48
por nobel
hola a todos,

Estoy programando un sistema que solo va a trabajar ciertos dias de la semana. Lo estoy haciendo en visual chart y con visual basic, pero tengo un problema a la hora de las fechas. Para traducirlas uso las funciones de visual basic, weekdayname y weekday, donde una me devuelve el nombre del dia y la otra el dia en número. Bueno, pues en la weekday su primer parámetro es un tipo date. Alguien me puede decir que parámetro le tengo que poner ahi para que vaya evaluando el dia de cada barra??

Publicado: 21 Feb 2007 18:21
por hammer
Hola nobel,

puedes hacer lo siguiente:

Código: Seleccionar todo

FBarra = CStr(.Date)
FBarra = Right(FBarra, 2) & "/" & Mid(FBarra, 5, 2) & "/" & Left(FBarra, 4)
DiaSemana = Weekday(FBarra, vbMonday)

Te devolverá 1 para lunes, etc.

Saludos ;-).

Publicado: 21 Feb 2007 18:25
por nobel
muchas gracias hammer.
Voy a probrarlo ahora mismo

Publicado: 21 Feb 2007 18:45
por nobel
no funciona, os pongo el trozo que estoy haciendo para ver como funciona lo de comprar un dia determinado. Esto es lo que hay dentro de la funcion de visual
System_OnCalcualteBar(){
If .GetMarketPosition(0) = 0 Then
FBarra = CStr(.Date)
FBarra = Right(FBarra, 2) & "/" & Mid(FBarra, 5, 2) & "/" & Left(FBarra, 4)
'DiaSemana = Weekday(FBarra, vbMonday)
If (WeekdayName(Weekday(DiaSemana, vbMonday)) = "viernes") Then
.Buy AtMarket, 1
End If
Else
.ExitLong AtMarket, 1
End If
End With
}
solo quiero que compre los vienes

Publicado: 21 Feb 2007 19:12
por hammer
Qué ganas de complicarse la vida :-D

¿No será más fácil poner?:

Código: Seleccionar todo

If DiaSemana = 5
En lugar de:

Código: Seleccionar todo

If (WeekdayName(Weekday(DiaSemana, vbMonday)) = "viernes")