
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
EA version6
Has anyone tried using version 6 of the EA that is present on https://www.mql5.com/en/forum/175560
I have downloaded it and it doesn't seem to trade at all!
USDCHF M15 and all setting is as default but no trading
Could someone respond and clarify this issue

Do I need to do any thing to the settings?
Has anyone tried using version 6 of the EA that is present on https://www.mql5.com/en/forum/175560
I have downloaded it and it doesn't seem to trade at all!
USDCHF M15 and all setting is as default but no trading
Could someone respond and clarify this issue

Do I need to do any thing to the settings?I have the same problem. but I could run it on Omnivest-Omnivest Trading System but when I tried ODL it doesn't trade at all. With the Omnivest broker it was working. And so far I don't know how Phonenix was performing lately.
Phoenix - bugs
Hello Alkhal4, Togu and all,
The Phoenix 6 Released doesn't work to you because originally extern variable "F_ATR" is set up on value 0.6 and it should be around 0.0001. But then when you run it you will find in a Journal a lot of "Ordermodify errors Nr.130". It is because there are bugs in functions "X1_ManageExit" and "X9_ModifySL". I have found two solutions not to display them :
1) Set up variable E_BE_SL=0 . But then you can not trade break even.
2) Replace these two functions "X1_ManageExit" and "X9_ModifySL" with my scripts in a source mq4 file. See below.
If you want and if you are not able to do it alone, I can send you this EA without these bugs but I don't want to upload EA here because it is in violation of Hendrick's wish -
- see first post in https://www.mql5.com/en/forum/175245 .
This problem must have also others and I please a man who cares about source code of Phoenix (it was Hendrick, now daraknor ? - I don't know I have red only a couple of messages ) for debugging and putting correct version in the first post.
repared code of function "X1_ManageExit" :
void X1_ManageExit(int myticket)
{ //Contains all of the exit strategies and trade management routines. Listed in priority.
minStop=MarketInfo(Symbol(),MODE_STOPLEVEL); //updated every tick in case of news SL movement
if(E_GraceHours !=0 ||E_ForceHours !=0)
X1_ForceClose_or_GraceModify(myticket);
if(E_RecrossMax!=0)
{
double price;
if (OrderType() == OP_BUY) price=Bid;
if (OrderType() == OP_SELL) price=Ask;
if(Bars>bcRecross)
{ //Bar hasn't been counted yet
if(OrderOpenPrice()>price-1 && OrderOpenPrice()<price+1)
{
recrosscount++;
bcRecross=Bars;
if (recrosscount>=E_RecrossMax)
if(!OrderClose(myticket,OrderLots(),price,AcceptSlip,Red))
L4_WriteError();
}
}
}
//TODO StealthExit
if(E_BE_SL>0)
{ // BreakEven SL @target
if(E_BE_SL<E_BE_Profit+minStop) E_BE_Profit=E_BE_SL-minStop; //keeps trade safe all of the time
if (OrderType() == OP_BUY && Bid-OrderOpenPrice()>=Point*E_BE_SL && OrderStopLoss()-Point*E_BE_Profit=minStop*Point)
X9_ModifySL(OrderOpenPrice()+E_BE_Profit*Point,myticket);
if (OrderType() == OP_SELL && OrderOpenPrice()-Ask>=Point*E_BE_SL+MarketInfo(Symbol(),MODE_SPREAD)*Point && OrderStopLoss()+Point*E_BE_Profit+MarketInfo(Symbol(),MODE_SPREAD)*Point>OrderOpenPrice() && OrderOpenPrice()+E_BE_Profit*Point+MarketInfo(Symbol(),MODE_SPREAD)*Point-Ask>=minStop*Point)
X9_ModifySL(OrderOpenPrice()-E_BE_Profit*Point-MarketInfo(Symbol(),MODE_SPREAD)*Point,myticket);
}[/CODE]
repared code of function "X9_ModifySL" :
[CODE]bool X9_ModifySL(double sl, int ticket)
{
double MoveTP;
if(E_MoveTPonTS !=0)
{
if (OrderType() == OP_SELL)
{
MoveTP=E_MoveTPonTS*(-1)*Point;
if(Ask-OrderTakeProfit()+MoveTP=minStop*Point)
MoveTP=minStop*Point*(-1)+Ask-OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP() // repared error 4051
}
else
{
MoveTP=E_MoveTPonTS*Point;
if(OrderTakeProfit()-Bid+MoveTP=minStop*Point)
MoveTP=minStop*Point-Bid+OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP()
}
}
if(U_WriteDebug) L3_WriteDebug("MODIFY Ticket:"+ticket+" OpenPrice:"+OrderOpenPrice()+" SL:"+sl+" TP:"+(OrderTakeProfit()+MoveTP*Point));
if(NormalizeDouble(sl/Point,0)==NormalizeDouble(OrderStopLoss()/Point,0)) return(true);
if(OrderModify ( ticket, OrderOpenPrice(), sl,
OrderTakeProfit()+MoveTP,
0, Red) ==(-1))
return(false);
else return(true);
}Hello to all...
Which version of "Phoenix" is better?
"Hendrik's Phoenix" or "daraknor's Phoenix" ?
please tell me one...thanks
Hello globus2008,
Could you send me a private message, with your "Phoenix 6 Released" running version ?
Thanks,
yoyo
Hello Alkhal4, Togu and all,
The Phoenix 6 Released doesn't work to you because originally extern variable "F_ATR" is set up on value 0.6 and it should be around 0.0001. But then when you run it you will find in a Journal a lot of "Ordermodify errors Nr.130". It is because there are bugs in functions "X1_ManageExit" and "X9_ModifySL". I have found two solutions not to display them :
1) Set up variable E_BE_SL=0 . But then you can not trade break even.
2) Replace these two functions "X1_ManageExit" and "X9_ModifySL" with my scripts in a source mq4 file. See below.
If you want and if you are not able to do it alone, I can send you this EA without these bugs but I don't want to upload EA here because it is in violation of Hendrick's wish - - see first post in https://www.mql5.com/en/forum/175245 .
This problem must have also others and I please a man who cares about source code of Phoenix (it was Hendrick, now daraknor ? - I don't know I have red only a couple of messages ) for debugging and putting correct version in the first post.
repared code of function "X1_ManageExit" :
void X1_ManageExit(int myticket)
{ //Contains all of the exit strategies and trade management routines. Listed in priority.
minStop=MarketInfo(Symbol(),MODE_STOPLEVEL); //updated every tick in case of news SL movement
if(E_GraceHours !=0 ||E_ForceHours !=0)
X1_ForceClose_or_GraceModify(myticket);
if(E_RecrossMax!=0)
{
double price;
if (OrderType() == OP_BUY) price=Bid;
if (OrderType() == OP_SELL) price=Ask;
if(Bars>bcRecross)
{ //Bar hasn't been counted yet
if(OrderOpenPrice()>price-1 && OrderOpenPrice()<price+1)
{
recrosscount++;
bcRecross=Bars;
if (recrosscount>=E_RecrossMax)
if(!OrderClose(myticket,OrderLots(),price,AcceptSlip,Red))
L4_WriteError();
}
}
}
//TODO StealthExit
if(E_BE_SL>0)
{ // BreakEven SL @target
if(E_BE_SL<E_BE_Profit+minStop) E_BE_Profit=E_BE_SL-minStop; //keeps trade safe all of the time
if (OrderType() == OP_BUY && Bid-OrderOpenPrice()>=Point*E_BE_SL && OrderStopLoss()-Point*E_BE_Profit=minStop*Point)
X9_ModifySL(OrderOpenPrice()+E_BE_Profit*Point,myticket);
if (OrderType() == OP_SELL && OrderOpenPrice()-Ask>=Point*E_BE_SL+MarketInfo(Symbol(),MODE_SPREAD)*Point && OrderStopLoss()+Point*E_BE_Profit+MarketInfo(Symbol(),MODE_SPREAD)*Point>OrderOpenPrice() && OrderOpenPrice()+E_BE_Profit*Point+MarketInfo(Symbol(),MODE_SPREAD)*Point-Ask>=minStop*Point)
X9_ModifySL(OrderOpenPrice()-E_BE_Profit*Point-MarketInfo(Symbol(),MODE_SPREAD)*Point,myticket);
}[/CODE]
repared code of function "X9_ModifySL" :
[CODE]bool X9_ModifySL(double sl, int ticket)
{
double MoveTP;
if(E_MoveTPonTS !=0)
{
if (OrderType() == OP_SELL)
{
MoveTP=E_MoveTPonTS*(-1)*Point;
if(Ask-OrderTakeProfit()+MoveTP=minStop*Point)
MoveTP=minStop*Point*(-1)+Ask-OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP() // repared error 4051
}
else
{
MoveTP=E_MoveTPonTS*Point;
if(OrderTakeProfit()-Bid+MoveTP=minStop*Point)
MoveTP=minStop*Point-Bid+OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP()
}
}
if(U_WriteDebug) L3_WriteDebug("MODIFY Ticket:"+ticket+" OpenPrice:"+OrderOpenPrice()+" SL:"+sl+" TP:"+(OrderTakeProfit()+MoveTP*Point));
if(NormalizeDouble(sl/Point,0)==NormalizeDouble(OrderStopLoss()/Point,0)) return(true);
if(OrderModify ( ticket, OrderOpenPrice(), sl,
OrderTakeProfit()+MoveTP,
0, Red) ==(-1))
return(false);
else return(true);
}Hello Glogus2008,
Could you send me a "private messade" with your "Phoenix 6 Released" running version ?
Thanks,
yoyo
Hello Alkhal4, Togu and all,
The Phoenix 6 Released doesn't work to you because originally extern variable "F_ATR" is set up on value 0.6 and it should be around 0.0001. But then when you run it you will find in a Journal a lot of "Ordermodify errors Nr.130". It is because there are bugs in functions "X1_ManageExit" and "X9_ModifySL". I have found two solutions not to display them :
1) Set up variable E_BE_SL=0 . But then you can not trade break even.
2) Replace these two functions "X1_ManageExit" and "X9_ModifySL" with my scripts in a source mq4 file. See below.
If you want and if you are not able to do it alone, I can send you this EA without these bugs but I don't want to upload EA here because it is in violation of Hendrick's wish - - see first post in https://www.mql5.com/en/forum/175245 .
This problem must have also others and I please a man who cares about source code of Phoenix (it was Hendrick, now daraknor ? - I don't know I have red only a couple of messages ) for debugging and putting correct version in the first post.
repared code of function "X1_ManageExit" :
void X1_ManageExit(int myticket)
{ //Contains all of the exit strategies and trade management routines. Listed in priority.
minStop=MarketInfo(Symbol(),MODE_STOPLEVEL); //updated every tick in case of news SL movement
if(E_GraceHours !=0 ||E_ForceHours !=0)
X1_ForceClose_or_GraceModify(myticket);
if(E_RecrossMax!=0)
{
double price;
if (OrderType() == OP_BUY) price=Bid;
if (OrderType() == OP_SELL) price=Ask;
if(Bars>bcRecross)
{ //Bar hasn't been counted yet
if(OrderOpenPrice()>price-1 && OrderOpenPrice()<price+1)
{
recrosscount++;
bcRecross=Bars;
if (recrosscount>=E_RecrossMax)
if(!OrderClose(myticket,OrderLots(),price,AcceptSlip,Red))
L4_WriteError();
}
}
}
//TODO StealthExit
if(E_BE_SL>0)
{ // BreakEven SL @target
if(E_BE_SL<E_BE_Profit+minStop) E_BE_Profit=E_BE_SL-minStop; //keeps trade safe all of the time
if (OrderType() == OP_BUY && Bid-OrderOpenPrice()>=Point*E_BE_SL && OrderStopLoss()-Point*E_BE_Profit=minStop*Point)
X9_ModifySL(OrderOpenPrice()+E_BE_Profit*Point,myticket);
if (OrderType() == OP_SELL && OrderOpenPrice()-Ask>=Point*E_BE_SL+MarketInfo(Symbol(),MODE_SPREAD)*Point && OrderStopLoss()+Point*E_BE_Profit+MarketInfo(Symbol(),MODE_SPREAD)*Point>OrderOpenPrice() && OrderOpenPrice()+E_BE_Profit*Point+MarketInfo(Symbol(),MODE_SPREAD)*Point-Ask>=minStop*Point)
X9_ModifySL(OrderOpenPrice()-E_BE_Profit*Point-MarketInfo(Symbol(),MODE_SPREAD)*Point,myticket);
}[/CODE]
repared code of function "X9_ModifySL" :
[CODE]bool X9_ModifySL(double sl, int ticket)
{
double MoveTP;
if(E_MoveTPonTS !=0)
{
if (OrderType() == OP_SELL)
{
MoveTP=E_MoveTPonTS*(-1)*Point;
if(Ask-OrderTakeProfit()+MoveTP=minStop*Point)
MoveTP=minStop*Point*(-1)+Ask-OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP() // repared error 4051
}
else
{
MoveTP=E_MoveTPonTS*Point;
if(OrderTakeProfit()-Bid+MoveTP=minStop*Point)
MoveTP=minStop*Point-Bid+OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP()
}
}
if(U_WriteDebug) L3_WriteDebug("MODIFY Ticket:"+ticket+" OpenPrice:"+OrderOpenPrice()+" SL:"+sl+" TP:"+(OrderTakeProfit()+MoveTP*Point));
if(NormalizeDouble(sl/Point,0)==NormalizeDouble(OrderStopLoss()/Point,0)) return(true);
if(OrderModify ( ticket, OrderOpenPrice(), sl,
OrderTakeProfit()+MoveTP,
0, Red) ==(-1))
return(false);
else return(true);
}How to find - Best Version of Phoenix
Hello to all...
Which version of "Phoenix" is better?
"Hendrik's Phoenix" or "daraknor's Phoenix" ?
please tell me one...thanksHow to find what I consider to be best working copy of Phoenix.
Installation IBFX MT4
Downloaded Phoenix 5.6.3, installed in experts last night, compiled, placed in price chart:
in upper right. No trades placed overnight, this AM there was an x. I tried to compile again, blue icon in experts...removed it from price window, double click, and smiley briefly appears, then switches to x. What is going on? Thanks for help.
Hello
Thanks for your response, I tried to do what you suggested below,
I replaced the codes but when compiling I get an error - probably because I don't know how to do step 1 - could you send the correct code.
Thanks
Hello Alkhal4, Togu and all,
The Phoenix 6 Released doesn't work to you because originally extern variable "F_ATR" is set up on value 0.6 and it should be around 0.0001. But then when you run it you will find in a Journal a lot of "Ordermodify errors Nr.130". It is because there are bugs in functions "X1_ManageExit" and "X9_ModifySL". I have found two solutions not to display them :
1) Set up variable E_BE_SL=0 . But then you can not trade break even.
2) Replace these two functions "X1_ManageExit" and "X9_ModifySL" with my scripts in a source mq4 file. See below.
If you want and if you are not able to do it alone, I can send you this EA without these bugs but I don't want to upload EA here because it is in violation of Hendrick's wish - - see first post in https://www.mql5.com/en/forum/175245 .
This problem must have also others and I please a man who cares about source code of Phoenix (it was Hendrick, now daraknor ? - I don't know I have red only a couple of messages ) for debugging and putting correct version in the first post.
repared code of function "X1_ManageExit" :
void X1_ManageExit(int myticket)
{ //Contains all of the exit strategies and trade management routines. Listed in priority.
minStop=MarketInfo(Symbol(),MODE_STOPLEVEL); //updated every tick in case of news SL movement
if(E_GraceHours !=0 ||E_ForceHours !=0)
X1_ForceClose_or_GraceModify(myticket);
if(E_RecrossMax!=0)
{
double price;
if (OrderType() == OP_BUY) price=Bid;
if (OrderType() == OP_SELL) price=Ask;
if(Bars>bcRecross)
{ //Bar hasn't been counted yet
if(OrderOpenPrice()>price-1 && OrderOpenPrice()<price+1)
{
recrosscount++;
bcRecross=Bars;
if (recrosscount>=E_RecrossMax)
if(!OrderClose(myticket,OrderLots(),price,AcceptSlip,Red))
L4_WriteError();
}
}
}
//TODO StealthExit
if(E_BE_SL>0)
{ // BreakEven SL @target
if(E_BE_SL<E_BE_Profit+minStop) E_BE_Profit=E_BE_SL-minStop; //keeps trade safe all of the time
if (OrderType() == OP_BUY && Bid-OrderOpenPrice()>=Point*E_BE_SL && OrderStopLoss()-Point*E_BE_Profit=minStop*Point)
X9_ModifySL(OrderOpenPrice()+E_BE_Profit*Point,myticket);
if (OrderType() == OP_SELL && OrderOpenPrice()-Ask>=Point*E_BE_SL+MarketInfo(Symbol(),MODE_SPREAD)*Point && OrderStopLoss()+Point*E_BE_Profit+MarketInfo(Symbol(),MODE_SPREAD)*Point>OrderOpenPrice() && OrderOpenPrice()+E_BE_Profit*Point+MarketInfo(Symbol(),MODE_SPREAD)*Point-Ask>=minStop*Point)
X9_ModifySL(OrderOpenPrice()-E_BE_Profit*Point-MarketInfo(Symbol(),MODE_SPREAD)*Point,myticket);
}[/CODE]
repared code of function "X9_ModifySL" :
[CODE]bool X9_ModifySL(double sl, int ticket)
{
double MoveTP;
if(E_MoveTPonTS !=0)
{
if (OrderType() == OP_SELL)
{
MoveTP=E_MoveTPonTS*(-1)*Point;
if(Ask-OrderTakeProfit()+MoveTP=minStop*Point)
MoveTP=minStop*Point*(-1)+Ask-OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP() // repared error 4051
}
else
{
MoveTP=E_MoveTPonTS*Point;
if(OrderTakeProfit()-Bid+MoveTP=minStop*Point)
MoveTP=minStop*Point-Bid+OrderTakeProfit(); //Set the new distance to minimum safe point, -OTP() cancels OTP()
}
}
if(U_WriteDebug) L3_WriteDebug("MODIFY Ticket:"+ticket+" OpenPrice:"+OrderOpenPrice()+" SL:"+sl+" TP:"+(OrderTakeProfit()+MoveTP*Point));
if(NormalizeDouble(sl/Point,0)==NormalizeDouble(OrderStopLoss()/Point,0)) return(true);
if(OrderModify ( ticket, OrderOpenPrice(), sl,
OrderTakeProfit()+MoveTP,
0, Red) ==(-1))
return(false);
else return(true);
}p6
Hi, globus2008,
could you, please, send me lastest working p6 version? Original as well as your notes to modify the code are not working on alpari metatrader testing