Chimera - Trending EA - based on Phoenix. - page 6

 
autumnleaves:
Thanks very much for your very detailed response on Signal 6 in Chimera. I hope to be able to finalize the system with only one more signal.

At the moment I am focusing on 5.7.2 because it is what I am familiar with and because I believe it should not be left unfinished. If we have a version which is completely stable (right down to the TS!!) then we can release it for testing for profitability. I would prefer to wait until this is done before shifting my attention to P6Chimera.

You will find a question on TS in another thread, but in the meanwhile I am working up Signal 7, as follows (I don't think it executes properly). If it is possible for you to make it shipshape I would very much appreciate the effort. The idea again is to issue a false signal when the curve is flat so we don't engage trades that don't go anywhere, or else go where we don't want them to go. This is based on Daraknor's model for Signal 6. I suspect that both of them are misbehaving: they seem to reverse good buys and sells (making them bad) in addition to excluding them when the curve is flat.

Thanks.

#

//=====================SIGNAL7=======================

bool BuySignal7=false, SellSignal7=false;

double UpperEnvelope = iEnvelopes(NULL,0,P_EnvPeriod,P_EnvMethod,P_EnvShift,P_EnvPrice,P_EnvPercent,MODE_UPPER,0);

double LowerEnvelope = iEnvelopes(NULL,0,P_EnvPeriod,P_EnvMethod,P_EnvShift,P_EnvPrice,P_EnvPercent,MODE_LOWER,0);

double EnvPriceAv = (Low[0] + High[0] + Close[0])/3;

if(U_UseSig7)

{

if( EnvPriceAv < UpperEnvelope)

{BuySignal7 = true;}

else BuySignal7=false;

if(EnvPriceAv > LowerEnvelope)

{SellSignal7 = true;}

else SellSignal7=false; }

else

{

SellSignal7 =true;

BuySignal7 =true;

}

A few Generic Points

1. You will find a question on TS in another thread, - Answered it almost 4 hours ago.

2. Use the # key to enter your code in the original format. Go back to post 51 highlight your code and hit the # button, that is what I did to it above.

When entering new code.

  1. Copy the code from elsewhere.
  2. Press the # pound button.
  3. Do v
  4. 3. Post your code current code to your post #51 - you will need to click Advanced (Edit)

    4. I am not up to date on everything everyone says. I admit some of it goes over my head. I just work with the latest code.

    Signal 7 - more questions

    What is it supposed to do.

  5. If the price is below, high envelope buy
  6. If the price is above low envelope sell
  • It follows that if the price is between the two envelopes buy and sell are both allowed.

Did I understand correctly?

Priorities

If we have a version which is completely stable (right down to the TS!!) then we can release it for testing for profitability.

This sounds like a good idea, but I will wait for P6. Would that be Chimera or both? I think Phoenix 6 is going to be much more solid and safe for live trading. For myself, I feel inclined like Daraknor did a couple of months ago, to move on to P6 and C6. My personal intention is to trade with P6 or C6 in the future, never with P5.7. Work on P5 and C5 that help with the 6 version is fine with me.

 

Broken code - do not use

This is a version of Chimera for adjustment by PContour. It does not compile and will not run until it has been fixed. The inputs are not optimized yet either.

PContour, I hope you'll have a chance to look at the filters at the end, as mentioned in my private message to you. You might also want to check the TS section to see whether I copied it correctly from your updated 5.7.2W. Thanks a million.

 
autumnleaves:
Here is a bit of code I am trying to work up into a signal for Chimera. It is intended to prevent trades when the difference between the upper and lower Bollinger Bands is less than a certain number of pips. Since I do not have the programming skills to write exquisite code, I wonder if PContour or Daraknor would be kind enough to correct my errors. Perhaps this is even the wrong way to go about it. Thanks in advance.

double UpperBand = iBands(NULL,0,BandPeriod,BandStDev,0,BandPrice,MODE_UPPER,BandShift);

double LowerBand = iBands(NULL,0,BandPeriod,BandStDev,0,BandPrice,MODE_LOWER,BandShift);

if(U_UseSig6)

{

if(UpperBand - LowerBand > BandSpread) {BuySignal6 = true;}

if(UpperBand - LowerBand > BandSpread) {SellSignal6 = true;}

}

else

{

SellSignal6 =true;

BuySignal6 =true;

First a little known Daraknor secret. It's not a secret at all, but I didnt know it could be done until I saw that Daraknor had done it. Use the # sign when writing a note to include code in the original format. It is great for including any note where formatting is critical.

AutumnLeaves, Since you are working on 5 and 6, we need to know which one you are asking about. Or perhaps you always need the code for both.

Daraknor has indicated to me that it is important that the code execute as quickly as possible, so I would improve the code like this.

Version 5 code

//=====================SIGNAL6=======================

bool SellSignal6 =true;

bool BuySignal6 =true;

if(U_UseSig6)

{

double UpperBand = iBands(NULL,0,BandPeriod,BandStDev,0,BandPrice,MOD E_UPPER,BandShift);

double LowerBand = iBands(NULL,0,BandPeriod,BandStDev,0,BandPrice,MOD E_LOWER,BandShift);

if(UpperBand - LowerBand < BandSpread)

{

BuySignal6 = false;

SellSignal6 = false;

}

}

[/CODE]

Version 6 code

bool Z_F5_BlockTradingFilter5() // Stop Trade if Bollinger Bands too narrow

{

bool BlockTrade=false;

double UpperBand = iBands(NULL,0,BandPeriod,BandStDev,0,BandPrice,MOD E_UPPER,BandShift);

double LowerBand = iBands(NULL,0,BandPeriod,BandStDev,0,BandPrice,MOD E_LOWER,BandShift);

if(UpperBand - LowerBand < BandSpread)

{

BlockTrade=true;

L3_WriteDebug("EntryFilter5 BollBand: Upper="+UpperBand+" Lower="+LowerBand+" Spread="+BandSpread+" Trade DisAllowed");

}

else

{

L3_WriteDebug("EntryFilter5 BollBand: Upper="+UpperBand+" Lower="+LowerBand+" Spread="+BandSpread+" Trade Allowed");

}

return(BlockTrade);

}[/CODE]

Also add the following code in V6 to void A1_OpenTrade_If_Signal()

[CODE]

if (P_EntryFilter5On)

if (Z_F5_BlockTradingFilter5()) return;

Final Note

I'm not sure which signals you are taking out of 5.7.2 Chimera and which ones you are leaving in. You are the guy with the latest code for Chimera. This piece of code was note working as expected so I haven't posted it yet. I wanted to add is a piece of code that if the trade errors out because of the U_MinLot it will increase by .01 until the trade succeeds, or .1 lots has been reached. The code could also work on the U_MaxLot to reduce it by a factor ... same idea.

[CODE]if(U_MinLot==0) U_MinLot = MarketInfo(Symbol(),MODE_MINLOT); //Pcontour 5.7.3

if(U_MaxLot==0) U_MaxLot = MarketInfo(Symbol(),MODE_MAXLOT); //Pcontour 5.7.3

and

if(lot<U_MinLot) { lot=U_MinLot; Print("lots switched to min ",lot); } //Dmitry_CH Add 5.7.1

if(lot>U_MaxLot) { lot=U_MaxLot; Print("lots switched to max ",lot); } //Dmitry_CH Add 5.7.1

Why don't you add the code I posted for the signal 6, to Chimera 5.7.2 and post it so we can be on the same page.

 

Repaired Code - Do Not Use

autumnleaves:
This is a version of Chimera for adjustment by PContour. It does not compile and will not run until it has been fixed. The inputs are not optimized yet either. PContour, I hope you'll have a chance to look at the filters at the end, as mentioned in my private message to you. You might also want to check the TS section to see whether I copied it correctly from your updated 5.7.2W. Thanks a million.

Code for autumnleaves - he may release after testing. Updated April 1, 4:30 EST

 
autumnleaves:
Great Job PContour. I'll put it on the test bench tonight, if not before. I think 5.7.2 has some life in it still.

Is there any chance of porting the remaining EASY signals over to Chimera5.7.2? I took a stab at it yesterday and only managed to bite my own tail. If you wish I could send you the signals section for reconstruction.

No action happening with the P6Chimera on demo USDCHF.

Suggest that we renumber Chimera version, for example, Chimera X. The current numbering may be misleading for some. What say?

Since Phoenix 5.7.3w has the same code as Chimera 5.7.3w except the signals they should stay the same.

 

Chimera development

Since I'll be away over Easter I won't be able to post a workable version of Chimera until sometime next week, assuming all goes well. Will keep you posted on developments. Not a walk in the park, but an interesting challenge. I'm encouraged by the work so far, and learning as I go along.

Good trading to one and all.

 

I respect RSI and Stochastics, so I'm thinking this might be a good system to put into Chimera.

http://www.babypips.com/blogs/pip-my-system/so_youve_finished_the_school_o.html

There is already an MT4 indicator that is all-in-one for the system. http://www.babypips.com/forums/free-forex-trading-systems/727-cowabunga-system.html#post3565

The system has a track record:

http://www.babypips.com/blogs/pip-my-system/cowabunga_trade_record.html

If we make it into an EA, we can probably adapt it slightly to other currencies as well.

 

EA Parabolic Sar and Martingale

Hi! I am looking for an EA that work on the basis of the indicator Parabolic Sar, but it has a Martingale system. That is, whenever there is a lost order, multiplies it for two. I leave here an EA based on Parabolic Sar and ask someone who understands programming, to change it to Martingale, but with the functionality of using the Parabolic indicator. Thank you and sorry for my bad English

Files:
iwe_ea.mq4  10 kb
Reason: