Phoenix - Development+Suggestions - MQ4 in Post#1 - page 31

 
alamanjani:
Hi everyone! (and Bertbin!) :-)

About backtesting. Phoenix will be (mostly) used on FXDD data, but backtesting is mostly done on Alpari data. Wouldn't be nice if we would have FXDD history data?

Ta-da!

Check out this undocumented and unreleased URL:

http://www.fxdd.com/mt1m_data.html

More great stuff, I'll put this link into the thread I started, so people are more likely to see it. Is the process the same as for the Alpari data.

Daraknor,

Should we update the documentation to use this FXDD data instead.

 
alamanjani:
Hi everyone! (and Bertbin!) :-)

About backtesting. Phoenix will be (mostly) used on FXDD data, but backtesting is mostly done on Alpari data. Wouldn't be nice if we would have FXDD history data?

Ta-da!

Check out this undocumented and unreleased URL:

http://www.fxdd.com/mt1m_data.html

My history data from Alpari must be bad since I didn't manage to get any good settings file - whatever I did, backtesting chart went down.

Maybe this data will fix the problem.

Mario

P.s. (I don't post much, but when I do, I try to be usefull) lol lol

Backtesters will be happy !

Yes.. you don't post too much on the forum but each time... it's a good one !

See you

 

I do think we should update docs to use FXDD Data. *sigh* I'm installing XP again. What stupid OS crashes when you install drivers made for the version you're installing? (they were even "official compatible" drivers.)

I did an optimization run on USDJPY and had no viable results. With so many possibilities, it isn't checking enough of the potential result space. I'm going to post asking how to change the Genetic Algo system to search more than 10k possibilities at a time.

I'm hoping to run another optimization and write code at the same time tonight.

Pcontour:
More great stuff, I'll put this link into the thread I started, so people are more likely to see it. Is the process the same as for the Alpari data.

Daraknor,

Should we update the documentation to use this FXDD data instead.
 

Running another optimization pass on EURUSD while working on Phoenix 6. First day my Windows machine is running, and Phoenix 6 is trading but still needs the pieces that make it worthwhile.

Here is the function that actually submits trades. Are there are any improvements or ideas to alter this? I'm off to get some sleep.

int fireTrade(int TP, int SL, double lot, int order, int incMagic = 0)

{ //Execute Trades

double price;

color arrow;

int ticket;

if (order %2==0) { //if number is even

price = Bid+priceoffset;

arrow = Blue;

}

if (order %2==1) { //if number is odd

price = Ask-priceoffset;

SL = -SL;

TP = -TP;

arrow = Red;

}

ticket = OrderSend(Symbol(), order, lot, price, AcceptSlip,

price - SL * Point,

price + TP * Point, "Primary Order",

MagicNumSet1 + incMagic,

0, arrow);

if (ticket != -1)

return (ticket); //TODO use ticket number somehow

else {

int error=GetLastError();

Log("Error:" + error+" "+Symbol()+" lot:"+lot+" price:"+price+" SL:"+(price-SL*Point)+" TP:"+(price+TP*Point));

if(error==135 || error==136 || error==138 || error==129 || error==130){

RefreshRates();

ticket=OrderSend(Symbol(), order, lot, price, AcceptSlip,

price - SL * Point,

price + TP * Point, "Primary Order",

MagicNumSet1 + incMagic,

0, arrow);

if (ticket != -1)

return (ticket); //TODO use ticket number somehow

else

Log("Error: Order send failed twice. Quitting."+ GetLastError());

}

}

}
 

Error in Code

I wonder if there is an error in Phoenix code. It seems to be present in all versions. In Signal 5 below, should the reference to signal 3 be there? E.g., SellSignal3=true;

BuySignal3 =true;

//=====================SIGNAL5=======================

bool BuySignal5=false, SellSignal5=false;

if(U_UseSig5)

{

int iHour=TimeHour(LocalTime());

int ValidTradeTime = Z_S5_ValidTradeTime(iHour);

if(ValidTradeTime==true)

{

BuySignal5 =true;

SellSignal5=true;

}

}

else

{

SellSignal3=true;

BuySignal3 =true;

}

 
autumnleaves:
I wonder if there is an error in Phoenix code. It seems to be present in all versions. In Signal 5 below, should the reference to signal 3 be there? E.g., SellSignal3=true; BuySignal3 =true;

Thanks for the scrutiny, that error needs to be fixed. I feel weird every time one of these long standing bugs is uncovered; I'm glad that in Phoenix 6 any bugs to be uncovered are at least my bugs. (instead of feeling responsible for something I didn't write) I'm considering releasing 5.6.3 in addition to Phoenix 6 soon. I'd like to make settings files for each of the currencies, but so far I'm not getting much luck (less than 10 trades per month, very low drawdown but very low profits).

Between the trailing stop, signal 5 and other bugs I'm seriously considering making 5.6.3. I'm still torn over the Fast should be faster than Slow concept, we need to have good settings before that is turned off.

 

I'm making a new thread about Phoenix 6, specifically "expert vs simple" versions.

 

New thread has Phoenix 6 ALPHA posted. I think it is pretty easy to see why Simple vs Expert is needed, and only about half of the fun features are in yet.

 
Originally Posted by autumnleaves I wonder if there is an error in Phoenix code. It seems to be present in all versions. In Signal 5 below, should the reference to signal 3 be there? E.g., SellSignal3=true; BuySignal3 =true;

You make me want to double check everything line by line. I fixed this for 5.7.2b and 5.7.2.w. This error would only cause a problem for anyone who turns signal 5 to false. If they do make signal 5 false, they get no trades at all, because signal 5 remains false and there must be 5 sells signals or 5 buy signals for a trade to happen.

 

Suggestion

Recently, Phoenix took trades during very low volume periodes, Fryday afternoon, yesterday afternoon and at this moment just before the interest rate statement. I am not very comfortable with those trades as they seam to be random.

What do you guys thinks ?

In my opinion, if there is not sufficient volume, there should not be a trade. May be, we could update a schedule of important to prevent taking a trade 1 ou 2 hour defore news events.