|
1 registered members (henrybane),
1,499
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: adviseLong(PERCEPTRON produces .c file with syntax error.
[Re: GPEngine]
#429053
09/07/13 22:11
09/07/13 22:11
|
Joined: Sep 2013
Posts: 504 California
GPEngine
OP
User
|
OP
User
Joined: Sep 2013
Posts: 504
California
|
For example
function DChannel_Up(int TimePeriod) {
DChannel(TimePeriod);
return rRealUpperBand;
}
function run()
{
NumYears = 1;
AssetList = "AssetsUS.dta";
LookBack = 440;
set(RULES+TESTNOW+HEDGING);
ExitTime = 10;
NumWFOCycles = 5;
BarPeriod = 1;
vars dc1 = series(DChannel_Up(70));
vars mdm1 = series(MinusDM(34));
if(adviseLong(PERCEPTRON, 0, dc1[0], mdm1[0]) > 0) {
reverseLong(1);
}
if(adviseShort() > 0){
reverseShort(1);
}
}
Train. Produces a EURUSD_1.c like this
// Prediction rules generated by Zorro
int EURUSD_L(float* sig)
{
if(+335.88*sig[1] > -0.50)
return 32;
else
return -32;
}
int EURUSD_S(float* sig)
{
if(-1.00*sig[0]-312.86*sig[1] > 0.50)
return 68;
else
return -68;
}
// Prediction accuracy: 50%
Last edited by GPEngine; 09/07/13 22:33. Reason: Better example.
|
|
|
Re: adviseLong(PERCEPTRON produces .c file with syntax error.
[Re: jcl]
#429079
09/08/13 19:20
09/08/13 19:20
|
Joined: Sep 2013
Posts: 504 California
GPEngine
OP
User
|
OP
User
Joined: Sep 2013
Posts: 504
California
|
I see. Thanks! Is the second one almost correct, too? I mean, is the following snippet valid and likely to do what I'm intending?
vars sDChannel_RealUpperBand(int TimePeriod) {
DChannel(TimePeriod);
return series(rRealUpperBand);
}
function run() {
vars v00 = sDChannel_RealUpperBand(100);
plot("v00", v00[0], NEW, BLUE);
}
|
|
|
Re: adviseLong(PERCEPTRON produces .c file with syntax error.
[Re: jcl]
#429270
09/10/13 15:48
09/10/13 15:48
|
Joined: Sep 2013
Posts: 504 California
GPEngine
OP
User
|
OP
User
Joined: Sep 2013
Posts: 504
California
|
Thanks for taking a close look and helping me with my education. In the final run, if no inputs are useful, Train will produce a prediction rule .c file like this
int EURUSD_L(float* sig)
{
if( > 0.50)
return 64;
else
return -64;
}
This is also a syntax error.
|
|
|
Re: adviseLong(PERCEPTRON produces .c file with syntax error.
[Re: GPEngine]
#429336
09/11/13 14:31
09/11/13 14:31
|
Joined: Sep 2013
Posts: 504 California
GPEngine
OP
User
|
OP
User
Joined: Sep 2013
Posts: 504
California
|
This isn't exactly what I was aiming for, but this is another example you may be interested in. In Train against EURUSD, this script produces an intermediate .c file with a syntax error.
vars sCDLOnNeck() {
return series((var)CDLOnNeck());
}
vars sAroon_AroonDown(int TimePeriod) {
Aroon(TimePeriod);
return series(rAroonDown);
}
vars sCDLShootingStar() {
return series((var)CDLShootingStar());
}
vars sCDLHaramiCross() {
return series((var)CDLHaramiCross());
}
vars sCDLHignWave() {
return series((var)CDLHignWave());
}
function run() {
NumYears = 1;
AssetList = "AssetsUS.dta";
LookBack = 900;
BarPeriod = 1;
TradesPerBar = 2;
set(RULES+TESTNOW);
if (Train) {
set(HEDGING);
ExitTime = 20;
NumWFOCycles = 5;
} else {
set(NFA);
Stop = 100*PIP;
TakeProfit = 100*PIP;
}
vars v00 = sCDLOnNeck();
vars v01 = sAroon_AroonDown(96);
vars v02 = sCDLShootingStar();
vars v03 = sCDLHaramiCross();
vars v04 = sCDLHignWave();
if(adviseLong(PERCEPTRON, 0, v00[0], v01[0], v02[0], v03[0], v04[0]) > 0) {
enterLong();
}
if(adviseShort() > 0) {
enterShort();
}
}
produces a a_EURUSD.c file like
// Prediction rules generated by Zorro
int EURUSD_L(float* sig)
{
if(+0.04*sig[1] > 0.50)
return 38;
else
return -38;
}
int EURUSD_S(float* sig)
{
if(-91.66*sig[1] > 1.50)
return 74;
else
return -74;
}
// Prediction accuracy: 56%
|
|
|
|
|
|