Gogetter EA - page 4

 

forward test results of almost one week

some reports...

this is from running GGL 1.05 and GGS 2.21 since last friday....

I actually find it encouraging considering the lack of any trending moves for more than a day. If it can slog it's way thru these conditions and be break even then all it need is a breakout of any degree and it's profitable...

I am currently investigating adding support and resistance to the logics to increase the profitability and reduce the risk/reward ratio.

I see a lot of room for imporvement as I've watched this work. It's been hard to keep my 'discretionary hands' off of it when it had profits it didn't take after a move and instead followed back down to a s/l. It's leaving money on the table still....

that's ok it gives me the chance to think thru how to get it at very least it's painting some kind of context that I can understand on the market and eventually I think I will worm my way deeper into the peaks and valleys of the price action.

I like the ability to tailor each signals settings to what is most likely the specific conditions of what generates the signal rather than expecting one size to fit all.

I welcome ideas of how to include support and resistance in the logic of entering and exiting.

the .gif of the signal placements is me just drawing some lines from a 145 bar highest high to where sell signals are occuring on the GGShorts. It's me looking at what signal anatomy seems to be most likely to be rewarding...

I notice that without exception the first sell signal following a new highest high never goes very far. After that the second signal moves more and thereafter the odds of a big sell off increase.

All I have to do is eliminate or tailor the signals to which place they are occuring to minimize the losses and increase the gains by some degree and it will improve the overall profitability. That's my plan... there should be a sign somewhere that says, warning nerd wanna be at work.

 

my goal is to differentiate the first sell signal after a new highest high and customize a set of signal settings for it which will be executed only on the first sell signal after a new highest high which is higher than the previoius highest high.

That means that it's just uptrended and now it's giving the first sell signal. Which is typically pretty pathetic as far as any significant retracement goes.

 

here is the code..

//support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

//

//

//----locates the relationship of the sell signal to the highest high and in relationship to other sell signals within specified period-----

int h, j=-1;

for(h=1;h<=ResistanceBarsBack;h++)

{

if(HIGH == High) j=h;// j=# of bars back from signal that the Highest high occurred

}

int l, k=-1;

for(l=1;l<=SupportBarsBack;l++)

{

if(LOW == Low[l]) k=l;// k=# of bars back from signal that the Lowest low occurred

}

//+----------end signal placement locator-------------------------+

//

//

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance:",HIGH," @ bar",j," & ",SupportBarsBack," bars back support:",LOW," @ bar",k);

this is successfully printing the variables "HIGH" and "LOW" which represent the highest high and lowest low of each trade series.

I need to populate an array with these values of HIGH and LOW for each executed trade series.

 

GGS 2.21x

I'm happy to report today that the system as reached break even after one week and is now making a small profit. That is based on it running just as is.

While it's been forward testing I've continued working on it. My focus has been to add support and resistence in some productive way to it's logics. In doing so I think I have stumbled upon something even more useful.

I have another friend who does programming named Robert C. and together we have started developing a trade profile feedback method that prints the values or profile of a trade when it opens. This in theory could prove very useful. If I can generate a distinguishable profile of what winners and losers look like I should be able to target them and avoid the downside and maximize the upside at least to some significant degree.

This I am calling the x-ray effort. Because it's like a doctor's taking an image before doing a surgery. Hence the "x" on the updated version of the EA. It's not x-ray because this is not fully developed it's just starting to be developed. The idea is that if I can track and print out support and resistance values in the tester journal then I should be able to in similar fashion return in the tester journal every other indicator and aspect of the trade creating a profile image of it which I can then use for filtering orders before they place.

I had to turn off the 'comment' line in the tester window to get these other print lines to work, otherwise the only thing that the tester journal reported was the comment like repeatedly.

Attached is the current forward test and the x-version of GGs that I'm working on.

I am encouraged by what has transpired this week and continue to be grateful for all the encouragement I receive from this forum and elsewhere.

 

I don't get it...

Why doesn't the tester close the trade?

Files:
 

another instance of tester not executing

Files:
 

Ok... you are using GBPUSD and say the spread is 3 pips.

Now your TP for a short trade is 1.9165.

The low went to 1.9163 as evident from the chart. As the chart data is usually the bid prices, the Ask for that price is 1.9166. The Ask never touched 1.9165, so your TP was not executed.

Hope this makes sense.

 

oh ok, that makes sense...I forgot about the spread...

here's another problem I've got...

this is supposed to make an array of the "HIGH" and "LOW" of each order....

then it's supposed to see if the current HIGH and/or LOW matches any of the previous orders....

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

IsTrade = False;//---allows multiple orders to open

if(!IsTrade) {

//Check free margin

/*if (AccountFreeMargin() < (1000 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}*/

//+-----------------support and resistance arrays------thanks to Robert C for assistance on this-------+

//+-------creates array of each trade series support and resistance for comparisions-------------------+

if ( SLIndex >= SLSIZE )

{

SLIndex = 0;

}

sLocatorLows[ SLIndex ] = LOW;

sLocatorHighs[ SLIndex ] = HIGH;

SLIndex++;

//+-----------------------end of support resistance array creation------------------------------------+

//+-------------------signal matching-------------thanks to Robert C for assistance on this-------------+

//checks for matches with the current signal's sup/res and previous trades sup/res

int lowMatches = 0;

int highMatches = 0;

for(int p = 0; p <= SLSIZE; p++ )

{ Print("index value:",sLocatorLows[p]," Low is:",LOW);

if ( sLocatorLows[p] == LOW )

{

lowMatches++;

//Print("index value:",sLocatorLows[p]," Low is:",LOW);

}

// Print("index value:",sLocatorHighs[p]," High is:",HIGH);

if ( sLocatorHighs[p] == HIGH )

{

highMatches++;

}

}

//+----------------end of signal matching--------------------------------------------------------------+

if(highMatches == 0){

TradeSignal = 99;

}

if(highMatches == 1 && lowMatches ==1){

TradeSignal = 5;

}

//SRfilter();

TradeSettings();

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

for (int o = 0; o <= MaxOpenTrade; o ++)

if(CountTrades() < MaxOpenTrade)

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

//Print("SELL order opened ticket number: ",OrderTicket()," for ", OrderOpenPrice());

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance:",HIGH," @ bar",j," with ",highMatches," prev.matches");

Print("Order Number: ",OrderTicket() ," ",SupportBarsBack," bars back support:",LOW," @ bar",k," with ",lowMatches," prev.matches");

[/PHP]

This is what I get from the print output in the journal...

[PHP]2006.07.22 09:08:14 2005.03.04 07:11 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:14 2005.03.04 07:11 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:14 2005.03.04 07:11 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:0 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:05 GoGetShorts-2.21x GBPUSD,M30: loaded successfully

 

This is from when it places orders:

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 12 145 bars back support:1.9163 @ bar40 with 100 prev.matches

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 12 145 bars back resistance:1.9318 @ bar137 with 1 prev.matches

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: open #12 sell 0.05 GBPUSD at 1.9222 sl: 1.9269 tp: 1.9117 ok

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: open #11 sell 0.05 GBPUSD at 1.9222 sl: 1.9269 tp: 1.9117 ok

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 10 145 bars back support:1.9126 @ bar125 with 2 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 10 145 bars back resistance:1.9324 @ bar107 with 2 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: open #10 sell 0.05 GBPUSD at 1.9220 sl: 1.9267 tp: 1.9115 ok

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 9 145 bars back support:1.9126 @ bar125 with 1 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 9 145 bars back resistance:1.9324 @ bar107 with 1 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: open #9 sell 0.01 GBPUSD at 1.9219 sl: 1.9269 tp: 1.9169 ok

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 8 145 bars back support:1.9053 @ bar60 with 100 prev.matches

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 8 145 bars back resistance:1.9271 @ bar44 with 100 prev.matches

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: open #8 sell 0.05 GBPUSD at 1.9152 sl: 1.9199 tp: 1.9047 ok

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: open #7 sell 0.05 GBPUSD at 1.9152 sl: 1.9199 tp: 1.9047 ok

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 145 bars back support:1.9053 @ bar58 with 100 prev.matches

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 145 bars back resistance:1.9271 @ bar42 with 1 prev.matches

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9125 sl: 1.9172 tp: 1.9020 ok

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9125 sl: 1.9172 tp: 1.9020 ok

2006.07.22 09:00:19 2005.03.03 14:36 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back support:1.9057 @ bar1 with 26 prev.matches

2006.07.22 09:00:19 2005.03.03 14:36 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back resistance:1.9259 @ bar144 with 100 prev.matches

2006.07.22 09:00:19 2005.03.03 14:36 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9096 sl: 1.9143 tp: 1.8991 ok

2006.07.22 09:00:19 2005.03.03 14:28 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back support:1.9062 @ bar2 with 100 prev.matches

2006.07.22 09:00:19 2005.03.03 14:28 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back resistance:1.9259 @ bar143 with 100 prev.matches

2006.07.22 09:00:19 2005.03.03 14:28 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9057 sl: 1.9104 tp: 1.8952 ok

2006.07.22 09:00:19 2005.03.03 14:28 Tester: take profit #1 at 1.9067 (1.9057 / 1.9065)

2006.07.22 09:00:19 2005.03.02 16:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 145 bars back support:1.908 @ bar15 with 2 prev.matches

2006.07.22 09:00:19 2005.03.02 16:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 145 bars back resistance:1.9259 @ bar100 with 2 prev.matches

2006.07.22 09:00:19 2005.03.02 16:50 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9116 sl: 1.9163 tp: 1.9011 ok

2006.07.22 09:00:19 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 1 145 bars back support:1.908 @ bar15 with 1 prev.matches

2006.07.22 09:00:19 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 1 145 bars back resistance:1.9259 @ bar100 with 1 prev.matches

2006.07.22 09:00:19 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.01 GBPUSD at 1.9117 sl: 1.9167 tp: 1.9067 ok

2006.07.22 09:00:19 GoGetShorts-2.21x inputs: ShortemaS=4; ShortemaL=18; Mtrendema=150; TrailingStop=17; Slippage=3; MaxOpenTrade_1=2; Lots1=0.05; TakeProfit1=105; StopLoss1=47; MinsMultiplier1=75; MaxOpenTrade_2=2; Lots2=0.3; TakeProfit2=52; StopLoss2=120; MinsMultiplier2=75; OffAve2=160; MaxOpenTrade_3=1; Lots3=0.2; TakeProfit3=30; StopLoss3=30; MinsMultiplier3=75; OffAve3=320; MaxOpenTrade_4=1; Lots4=0.1; TakeProfit4=30; StopLoss4=30; MinsMultiplier4=75; OffAve4=320; Shift=2; MaxOpenTrade_5=1; Lots5=0.01; TakeProfit5=50; S

2006.07.22 09:00:15 GoGetShorts-2.21x GBPUSD,M30: loaded successfully

 

congratulations Aaragorn. Most people who say they want to learn C++ fizzle out and you never hear about them again. That is great that you have learned something like this. I think it's a valuable thing to learn. It's a religion in some ways.