Phoenix - Development+Suggestions - MQ4 in Post#1

 

This is thread for development, bug reporting, code submissions, different EA builds and ideas for development. Post #1 and #2 will be edited regularly with current news and the most recent and stable version of Phoenix. Some minor notes but full documentation is in the changelog.

Phoenix 6 is now out of beta, and released as stable. The code is from P6B6, and only has a small change to a signal. Settings are in the settings thread. You must load settings files. Current known good settings: M30 USDJPY. Settings to test: P6Rel USDCHF (Rel=released, attached to this post.)

PContour created Phoenix 5.7.3-W, with bugfixes and merged settings. I do not know of any working pairs in the P5 code.

STABLE VERSION: Phoenix 6 - Released

New code template bears fruit. Old style strategy still alive, but new strategies based on RSI and consecutive RSI are included. Will be porting over other contributed signal combinations into Phoenix 6. Feel free to submit your own signal combinations for a free EA.

PREVIOUS STABLE VERSION: 5.7.0

All modes working. Might be a quiet bug in the PeriodGraceHours Trailing Stop code. See 5.7.1 changelog for details. Backtest shows Mode 3 settings of 1.0 1.0 1.7 to be most profitable, default settings are profitable.

TESTING BUILD: 5.7.4

PContour has been graciously maintaining the old code base, and has included some enhancements based on consecutive loss prevention.

PhoenixFund TODO List:

Make a real Website = Half Done

IB Account = Fill out application with 5424 in the Upper Right, or "PhoenixFund"

Open Account to trade (Waiting on wire transfer)

Create letterhead with Logo

I personally like the idea of 3 builds:

Stable - Confirmed to run all modes with real money, verified profitable on at least 2 weeks of live testing and no reported major bugs.

Testing - live testing performed on mostly stable builds to be candidates for "stable" build. Live testing verifies profitability and consistency.

Weekly or Nightly Build - All code submissions combined together so people can backtest the latest features.

Current Stable: Phoenix 6 Released: Some settings unconfirmed, please test and submit reports.

Current Testing: Phoenix 6 Released, Phoenix 5.7.4, testing done by PContour

Weekly build: Phoenix 6

Previous build notes:

5.6.4 Weekly Build

HerbertH Mode3 fix (SL updated on 2 and 3 when 1 TP), Dagnar@FF Consecutive Signals (Ignore Buy/Sell signals less than threshhold, setting of 5 had excellent results), and Daraknor "MaxTrades" option added for mode 1(untested). Details are post #10.

5.6.6 Weekly Build

Includes many code fixes, some minor changes for performance, several errors removed, a great deal of documentation, 3 committed code contributions, and some preferences for people who create settings files. A EURUSD mode was added, but is not currently recommended for live trading. See post #61 for the comple changelog. Default trading behavior has CHANGED. Removed at 327 views to make room. EA still kept at post #61

5.6.7a Weekly Build

Another candidate for stable release. Only change in Mode 3 is behavior for moving StopLoss. Thanks for the log submissions and debugging ideas. Changelog in post #115 of this thread. Removed at 217 views, MQ4 is still at changelog.

5.6.08 Quick Bugfix

Thank you Wackena, Shinigami and Giapel for posting your errors. Debugging mode 3 continues, and it is usable, but the default mode is now Mode 1. Mode 2 and 3 are labeled "testing" and mode 1 is labeled "stable" inside the code. Modified Mode 3 to have accurate SL levels. Removed at 290 views. Changelog still holds original file.

5.7.0 Weekly Build

I was tired of Mode3 not working so I rewrote the entire detection mechanism. After it started working the performance was a lot different, so three settings were added to Mode3 control the TP level. Three optional variables were added to Mode3 section controlling the TP of the different trades. The default 0.5 1.0 1.5 was changed to 0.8 1.0 1.2. More details in the Changelog on post #151

5.7.1 Weekly Build

Added the min/max lot sizing. Changed the functionality of iOSMA to match standard. Added a separate trailing stop variable for graceful close function.

Confirmed new SL is better than the old SL. Deleted old blocks of code that were commented out because they didn't work. Full Changelog on post #177.

5.7.2 Weekly Build

*Will not trade with old settings, settings files are forced to have fast>slow settings. Please create new settings files.*

A separate thread has been created for settings file conversion. Thank you Pcontour!

The focus of this version is trailing stop, breakeven code and optimizations.

Pcontour renamed most of the functions and variables in Phoenix with shorter names. Shorter names helps overcome a limitation of 817 characters in the "Optimization Results" Window.

Full changelog pending me having more time.

 

Reserving My Space

I would be willing to help out with communications and explanations and such.

 

Darak

Or we stay "open" as Hendrick wanted and all the "sharks", "crooks" and "thiefs" will always appear...

Or we go "closed"... more comfortable and without all that garbagge people but at least our community will get smaller and smaller and smaller.... Then... nobody...

I think (huuum!) better to stay " open" as Flying Dutchman wanted. Diversity is better than to stay alone...

And not answer to any silly questions, neither PM, neither e-mail... The only answer could be :" Go to the Phoenix forum and work a bit ! All the answer of your questions are there... work!"

100 % agree with you by the way to organize :

1/ Backward testers

2/ Forward testers

3/ Settings searchers

4/ Developpers if you think it's possible

5/ Wise man who transfer to Hendrick all results, wishes, research, ideas

We have also to have the same way to present results, results of week, results of forward test of 2 hours or 2 days are stupid!

And always a synthesis of 5 lines describing what hapenned during the week : Openned at xxhxx GMT It happened that... and that... Good result on yy pair, bad results on zz pair... Next I will go there, test that etc...

Next I will go there, test that etc...

Most of people are not new in Fx : they can express their feelings (and we are not here to flame somebody !)

For my part the statements of Meta are messy... The mix of pips and/or money are sometimes hell. Everybody should talk in PIPS : not in money earned or lost ! And money depends of lots!

 

Darak, Fikko and others "big heads"

P5 is based on a"group of indicators" searching together an "entry signal" according with settings..

After we have the brutals SL and TP...

Why we hanve'nt a"group of indicators" looking for an "exit signal", even in an upper TM ?

Stupid question ?

(I know that simple question are sometimes the hardest to program...)

 

Fixes

I think one of our largest challenges to consistent profits is the vast difference between the profits from the same broker started at slightly different times. The 1 trade per currency is likely a decent EA decision for stability and performance, but it makes examining test results very hard. 5 people will get completely different results. 1 person will have amazing profit, 2 will have great profit, 1 will break even and 2 will loose a lot of money.

In order to get a deeper understanding of market signals and effectiveness, we should probably trade on every valid signal. This would probably not be a system to use live, but at this point in time I don't know how to explain how strange the results are for different people aside from "you have different entry times."

I think this is one of the "deeper questions" we will face with this EA. I am going to run a test where max trades = 100 and lot size = smallest possible with money management off and see if the EA explodes, makes billions, or collapses. Hendrick restricted the trades for a reason, but I don't know what that reason is or how often we get trade signals, how accurate each signal is, etc. We are looking at 3 or 5 puzzle pieces, when the picture was made of thousands. We can't see the whole picture yet, and I think we need to. This would also help tell us how effective the consecutive signals fundamentally is. Dagnar had great success in backtest but there is more involved than that.

I do think the consecutive signals is a great idea - but one of my "bug fix" goals is to make Phoenix more reliable between users. I don't like one account going broke while another makes amazing returns on the same data. I consider that a type of bug.

The primary goal for me right now is to merge in bug fixes. The main one is Mode 3 working properly but we may need settings to go with it. I will review and release the code, probably with consecutive signals. An alert for currencies without settings may be good. We will very quickly need to address how Phoenix interprets settings files, which versions, currencies, timeframes, etc. Maybe next week?

Summary for intended release: make max trades a parameter that can be edited. Incorporate Mode 3 changes. Default to Mode 1(?) since it is longest tested. Consecutive trade signals as a feature that can be turned off/on.

Major changes to consider for development

Intelligently processing trades that miss their countertrend peak. I need to examine a lot of data, but it appears from the "extended trades not profitable" discussion that missing the target leaves a trade hanging for a long period of time. Can we detect when that miss occurs? For example: if we receive an incoming sell signal on a buy trade is that an indication we should prepare for exit with a trailing stop? I consider this "tuning" for another version, but I wanted to write it out.

The AccountEquity vs AccountMargin discussion didn't solve the real problem we face with money management: limiting overall risk without crippling the ability to make money when we are doing well. Money management in phoenix should ideally be reactive to two main situations: 1) hitting stoploss without countertrend occuring 2) consecutive losses. I know that wasn't very clear and I will try to think this through more. One concept is to reduce lot size until Win:Loss for the past time period X increases to a certain ratio.

Another idea is to have lot sizes placed based on (Equity - current exposure )> RiskPercent*Equity as a scaling logrithmic curve. (larger trades when exposure low, smaller trades when we have a lot of loosing trades open with big SL values). This idea has a fundamental appeal to me, but I don't know how effective it is. I did the math on how "max risk" is interpreted and what valid values would be. The Risk parameter is not human readable, and doesn't react well.

Separating Buy/Sell code seems valid, interesting, and a direction to explore. I don't now how two 80% accurate trading systems can combine to a 95% accurate system though. The math from http://en.wikipedia.org/wiki/Bayes'_theorem would be much different but I'm too tired at the moment and I lack some information directly on hand. Essentially by determining the probability distribution is significantly against a specific condition, the negative evidence stacks strongly. On the other hand, a Buy only EA may pay good swap.

 
bertbin:
Darak, Fikko and others "big heads"

P5 is based on a"group of indicators" searching together an "entry signal" according with settings..

After we have the brutals SL and TP...

Why we hanve'nt a"group of indicators" looking for an "exit signal", even in an upper TM ?

Stupid question ?

(I know that simple question are sometimes the hardest to program...)

I thought of this too The best signal to exit may be a counter signal since this system is a countertrend. The countercountertrend would be one signal. Another would be a "strong trend" signal but we may already be at the SL if that happens.

 

Phoenix on live account

I have been running Phoenix on live account for about two months now. I have account with crown forex (dont use them for now- VERY suspicious company). And FXDD - New York company but filled with marcet sharks who play against you when time comes. Phoenix does ok on crown forex but didnt do good on FXDD. I lost about $400 in the first 3 weeks. It needs a lot of adjustments for live account. The data feed is different. Sometimees Phoenix on FXDD does real stupid things - at sudden jump up in price it sells, sells, sells, and then sells again until all positions hit the stop loss. And hey guys - dont be flattered with the demo account results. I dont want to discourage you - but I can double my demo account with Phoenix in a matter of 2 weeks. Try Phoenix with real amount on demo - like $1000 and you will feel the difference. One thing I noticed - the risk of .05 gives better results than .01

 
Georgiy:
I have been running Phoenix on live account for about two months now. I have account with crown forex (dont use them for now- VERY suspicious company). And FXDD - New York company but filled with marcet sharks who play against you when time comes. Phoenix does ok on crown forex but didnt do good on FXDD. I lost about $400 in the first 3 weeks. It needs a lot of adjustments for live account. The data feed is different. Sometimees Phoenix on FXDD does real stupid things - at sudden jump up in price it sells, sells, sells, and then sells again until all positions hit the stop loss. And hey guys - dont be flattered with the demo account results. I dont want to discourage you - but I can double my demo account with Phoenix in a matter of 2 weeks. Try Phoenix with real amount on demo - like $1000 and you will feel the difference. One thing I noticed - the risk of .05 gives better results than .01

Thank you very much Georgiy. FXDD was recommended to me, but I was skeptical. If you have both demo and live data feeds (recorded not downloaded) I would greatly appreciate them. I would like to compare live vs real for FXDD especially and see how different the two data feeds are.

Would you mind sharing your full trading history? I would like to evaluate it. You can PM if you don't feel like posting.

 

Few cosmetic suggestions

I have few cosmetic suggestions. These wouldn't affect behaviour of Phoenix.

1 - Could be added this code: http://championship.mql4.com/2006/users/Hendrick/page2 into Phoenix? It shows buy/sell signals.

2 - If possible, can be added switch to turn plotting of these signals on/off?

3 - Can be added 'entry field' in EA properties and whatever I would enter into this entry field would be added to comments? Hmm, my English is bad, let me try to explain.

When Phoenix7 makes trade, you have "Phoenix7" in comment column. Say I want to have the same way recorded some different settings I will use. For example, I will use TP=50 and (riskfactor) RF=0.1; So perfect would be if there would be Entry filed in properties of Phoenix, where I would type TP=50, RF=0.1 and then I would see in comment column this: "Phoenix7, TP=50, RF=0.1"

So version number is coded into code and additional comment is added through Properties of EA. Is this possible? It could be very usefull. If this combination is not possible, then just entry filed in EA's properties, would work fine and version of EA would be also added manually as new settings.

My plan for next week: I will forward test using latest 6_04 version, each mode for one pair + original contest version. I will use the same settings and the same pairs on two different accounts: FDXX and Crown. Demo only. Don't have live account's yet.

Mario

 

Proposal

Hi! I'am testing Phoenix 5 on live account, and I've got a proposal.

As you could notice, very often opened position go against us for 20-30 and more pips before hitting take profit, or it hits stoploss. For example,Phoenix buys at 1.2900. Then the price goes to 1.2870 (-30 pips float) and later it reaches 1.2942, or again reaches 1.2900 and goes down until stoploss is hit without any profit.

So, we can use that by putting buylimit order at 1.2870 (after position at 1.2900 is opened) with the same stop loss as the first position has, that is 1.2900-84pips=1.2816, and take profit 1.2942 or just at break even point 1.2900. Therefore, in that situation we receive additional profit, and we can reach very good gain/loss ratio, even 2:1 unlike it is now 1:2 or 42/82.

Please, give your comments.

Files:
1.jpg  97 kb
 
alamanjani:
1 - Could be added this code: http://championship.mql4.com/2006/users/Hendrick/page2 into Phoenix? It shows buy/sell signals.

Cosmetic changes make more sense for research than arbitrarily changing the number of trades that Phoenix enters. If someone could modify 5.6.4 and call it "Phoenix 5.6.4 cosmetic" I would appreciate it. If nobody else does it, then I will do it Sunday night or Monday.

2 - If possible, can be added switch to turn plotting of these signals on/off?

sounds good.

3 - Can be added 'entry field' in EA properties and whatever I would enter into this entry field would be added to comments?

When Phoenix7 makes trade, you have "Phoenix7" in comment column. Say I want to have the same way recorded some different settings I will use. For example, I will use TP=50 and (riskfactor) RF=0.1; So perfect would be if there would be Entry filed in properties of Phoenix, where I would type TP=50, RF=0.1 and then I would see in comment column this: "Phoenix7, TP=50, RF=0.1"

So in addition to the direction being painted on the chart, it would be useful to have "what phoenix was thinking" at the time it made the chart. Easier than a label would be printing to log. Labels have a pretty small limit on the amount of text, but it should all fit. My personal preference is log over label for memory usage, but I also feel comfortable reading logs. If both are added that would be ideal, and we can comment out the labels to increase performance again.

So version number is coded into code and additional comment is added through Properties of EA. Is this possible? It could be very usefull.

I should add that in the extern text settings. Next release I shall. All great suggestions for helping us understand Phoenix.

Reason: