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

 
ienaplinsky:
which pair and time frame?

Currency : usdjpy, eurjpy, usdchf, gbpjpy, gbusd

1. Timeframe: M15

2. Broker: Interbak

3. Settings file: inside

4. Account: demo

5. Version: P5.6.06 (last one)

6. Mode 3

 
bertbin:
New P5606 working full speed

Since yesterday openning 42 trades closed now and 8 on the fire..

I think(hummmm) Darak injected some nitro inside.....

The main change I made to the execution logic was setting signal_count=5 by default. That means Phoenix won't go the wrong way on a single signal, and then sit waiting for SL If you DO want nitro, set signal_count=30 and then mode 1, maxtrades=5 or 10.

 

we

bertbin:
Currency : usdjpy, eurjpy, usdchf, gbpjpy, gbusd

1. Timeframe: M15

2. Broker: Interbak

3. Settings file: inside

4. Account: demo

5. Version: P5.6.06 (last one)

6. Mode 3

tank you bertbin

 

I used MACD-Sample EA to backtest 3 brokers on same USDCHF. Bokers are FXDD, IBFX, NF.

1. Downloaded latest History Data from Alpari History Data Center. http://www.alpari-idc.com/en/dc/databank.html

2. used Period_Converter script to convert M1 data to remaining timeframes for each Broker.

3. Date Range: 2006.05.17 - 2006.11.24.

4. H1 timeframe & Deposit $3,000.

5. Settings for Backtest

TakeProfit=100

Lots=0.1

TrailingStop=60

MACDOpenLevel=4

MACDCloseLevel=4

MATrendPeriod=25

6. Results.

FXDD Results

Profit- $973.18, MD 4.79%, Profit Trades 28, Loss Trades 5.

FXDD Chart

IBFX Results

Profit- $601.44, MD 8.44%, Profit Trades 25, Loss Trades 6.

IBFX Chart

FN Results

Profit- $937.72, MD 4.76%, Profit Trades 28, Loss Trades 5.

FN Chart

Summary:

FXDD and FN results are virtually the same. IBFX results were off (down) by over 30%. I don't know which Broker's backtest reuslts are closer to forward or live results, but these results should make a concern on which Broker is used when using the MT4 Strategy Tester in EA development and confrimation. Side by Side Demo and LIve results are needed to clarify which Broker's backtest results.

Wackena

 
daraknor:
The main change I made to the execution logic was setting signal_count=5 by default. That means Phoenix won't go the wrong way on a single signal, and then sit waiting for SL If you DO want nitro, set signal_count=30 and then mode 1, maxtrades=5 or 10.

Ah ! Ah ! Darak you know the way to "turbocharged" P5!!!!

I will try one days but for the moment : let's be serious and work as we have to do

Iena : for the moment all the opened trades I have are negatives : market don't know where to go then all cur are stalling... Patience, and trust.... Wait....

 

To Wackena

You are also on the new Goglin thread. Good...

They use there two indicators that "show" trend : Turbo_jrsx and Turbo_jvel.

It seems that these indicators "shows the way" with Goblin.

Do you think (huuum !) that these indicators could/should help us to "show" the "turning points" (Up/down/Range) in Phoenix settings.

Discuss that with Darak : he his the "boss" in that matter and I am not so good about these technicals things... (always recognize our "limits" !)

And only helping with "ideas"...

See you

 

Wackena, thanks for sharing this info! I keep seeing Phoenix do best on FXDD. I have also heard good things about their demo and real money accounts matching but I haven't done any comparison yet.

I don't know what you mean by saying the data came from Alpari, and at the same time claiming the data is broker specific. Can you please clarify? I would guess that some of the data is from the broker, and some is from Alpari. If all of the data is from Alpari and you simply had a different account active at the time you read the data this would imply different spreads from different brokers and lowest spread always wins.

 

If you decide to set Tp 60 above, this code can improve win ratio a lot.

extern int TrailingStop = 85;

extern int StepTrailingStop = 10;[/CODE]

find this in function Traling stop

[CODE]

if(OrderType() == OP_BUY)

{

if(((Bid - OrderOpenPrice()) > (Point * TrailingStop)) && (OrderStopLoss() < (Bid - Point * TrailingStop)))

OrderModify(

OrderTicket(),

OrderOpenPrice(),

Bid - Point * (TrailingStop-StepTrailingStop),

OrderTakeProfit(),

0,

GreenYellow);

}

if(OrderType() == OP_SELL)

{

if(((OrderOpenPrice() - Ask) > (Point * TrailingStop)) && (OrderStopLoss() > (Ask + Point * TrailingStop)))

OrderModify(

OrderTicket(),

OrderOpenPrice(),

Ask + Point * (TrailingStop-StepTrailingStop),

OrderTakeProfit(),

0,

Red);

}
 
pipsmaster:
If you decide to set Tp 60 above, this code can improve win ratio a lot.
extern int TrailingStop = 85; extern int StepTrailingStop = 10;

Thanks pipsmaster, I will add StepTrailingStop in the next release of Phoenix likely this week.

Has anyone read over the sections in the Changelog that I said needed review? (Post 61)

 

Let's change LotsOptimized()

//extern bool UseMM=true; //Don't forget

//extern double MaximumRisk = 0.12;

//extern double DecreaseFactor = 3;

//+------------------------------------------------------------------+

//| Calculate optimal lot size |

//+------------------------------------------------------------------+

double LotsOptimized()

{

double LotsMax=MarketInfo(Symbol(),MODE_MAXLOT);

double LotsMin=MarketInfo(Symbol(),MODE_MINLOT);

double StepLots=MarketInfo(Symbol(),MODE_LOTSTEP);

double LS;

double lot=LotsMin;

int orders=HistoryTotal(); // history orders total

int losses=0; // number of losses orders without a break

//---- select lot size

lot=NormalizeDouble(AccountFreeMargin()*/500,1);

//---- calcuulate number of losses orders without a break

if(DecreaseFactor>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0) break;

if(OrderProfit()<0) losses++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/,1);

}

//---- return lot size

if(lot<LotsMin) lot=LotsMin; else

if(lot>LotsMax) lot=LotsMax; else

{

LS=LotsMin;

while(LS<=lot) LS+=StepLots; lot=LS-StepLots;

}

if (UseMM) {return (lot);} else {return(LotsMin);}

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++