mkine:Y is 10 days moving average, Z is RSI
A is having close lower than 10 MA + RSI above 70 + current bar is a black candle then return true
B return true when a Bearish MACD Crossover happen above 10 MA and with RSI below 30
Something like this?
|
Y:=mov(CLOSE,10,e); Z:=RSI(CLOSE,14);
A:=CLOSE<Y and Z>70 and black(); B:={provide more definition here for bearish MACD cross above 10MA} and Z<30;
{return} A; B;
|
I don't think there is any need for MSX programming here? If you want to use MSX, then just do the whole computation in one function:
extfml("mydll.myfunction"); {no arguments}
in the MSX: compute the MA, RSI, Black() and MACD, and do all the comparisons required to return one value. Otherwise, if you need to "remember" previous value for the current chart, you will need some structure that will contain all the information to identify THIS chart and its timeframe, and store all the relevant deatils; you might save a millisecond on computation(?) but it is going to cost memory, and depending on the speed of your RAM this may be slower than the CPU calculation?
wabbit
"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim."
Edsgar W. Dijkstra
MS: 6.52 EOD, 7.x EOD, 8.0 PRO, 9.2 PRO w/QC, 10 PRO w/QC C, 11 PRO w/QC & MDK
For custom MetaStock programming : http://www.wabbit.com.au
My SkyPE status : 
My SkyPE account : wabbit.com.au