Gogetter EA - page 5

 

I don't know that I've 'learned' it yet, I'm still vexed by some things .....for instance.....

this is not working right...

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++ )

{ if(CountTrades() < MaxOpenTrade)

Print("index value:",sLocatorLows[p]," P is:",p," low matches:",lowMatches," 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");

//print line

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");

return(0);

} else {

Print("Error opening SELL order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}[/PHP]

what I am trying to do is make this array count once and only once each order that actually opens. Then compare the HIGH and LOW 's of each order with previous orders....

what it's doing now is stuffing the array constantly rather than only once per trade....at least I think that's what it's doing.

[PHP]

2006.07.24 08:00:59 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 7 145 bars back resistance:1.9271 @ bar42 with 1 prev.matches

2006.07.24 08:00:59 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: open #7 sell 0.05 GBPUSD at 1.9125 sl: 1.9172 tp: 1.9020 ok

2006.07.24 08:00:59 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.24 08:00:59 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: index value:0 P is:3 low matches:3 Low is:1.9053

2006.07.24 08:00:59 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:2 low matches:2 Low is:1.9053

2006.07.24 08:00:59 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:1 low matches:1 Low is:1.9053

2006.07.24 08:00:59 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:0 low matches:0 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: Order Number: 5 145 bars back support:1.9053 @ bar11 with 3 prev.matches

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: Order Number: 5 145 bars back resistance:1.9222 @ bar141 with 3 prev.matches

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9053 sl: 1.9100 tp: 1.8948 ok

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: index value:0 P is:3 low matches:3 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:2 low matches:2 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:1 low matches:1 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:53 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:0 low matches:0 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back support:1.9053 @ bar11 with 3 prev.matches

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back resistance:1.9222 @ bar141 with 3 prev.matches

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9061 sl: 1.9108 tp: 1.8956 ok

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: index value:0 P is:3 low matches:3 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:2 low matches:2 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:1 low matches:1 Low is:1.9053

2006.07.24 08:00:59 2005.03.04 12:37 GoGetShorts-2.21x GBPUSD,M30: index value:1.9053 P is:0 low matches:0 Low is:1.9053

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back support:1.908 @ bar56 with 3 prev.matches

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back resistance:1.9259 @ bar141 with 3 prev.matches

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9062 sl: 1.9109 tp: 1.8957 ok

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: index value:0 P is:3 low matches:3 Low is:1.908

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 P is:2 low matches:2 Low is:1.908

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 P is:1 low matches:1 Low is:1.908

2006.07.24 08:00:59 2005.03.03 13:00 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 P is:0 low matches:0 Low is:1.908

2006.07.24 08:00:59 2005.03.03 13:00 Tester: take profit #1 at 1.9067 (1.9062 / 1.9064)

2006.07.24 08:00:59 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.24 08:00:59 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.24 08:00:59 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.24 08:00:59 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.24 08:00:59 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.24 08:00:59 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.24 08:00:59 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.24 08:00:53 GoGetShorts-2.21x GBPUSD,M30: loaded successfully

Files:
 

I need coding direction

the sLocatorLows and sLocatorHighs ARE global but what isn't global are the matches that we are counting and keeping track of with lowMatches and highMatches....those are just local variables and when I initialize them globally that doesn't work....I'm wondering if the lowMatches and highMatches doesn't need to be arrays as well as globally initialized???

see the trick is to make the trade signals aware of what kind of situation the order is opening into. It has to see that an order has the same matching support or resistance to a previous order or the previous two or three orders OR is in a situation with new support or resistance..

So far the code is detecting support and resistance, it's counting matches to previous array indexes. But then it's just printing the number of support or resistance matches, not really using this as a basis for altering the pending/new orders.

what if the lowMatches and highMatches were changed to arrays also? would that do it? The real issue is what is the support and resistance situation of the next order about to open and can we determine that BEFORE the point that we actually open the order? If we can, then we can tailor the order to suit it's situation.

The problem I see is that the information about the current order and how it matches or doesn't match previous orders' support and resistance isn't obtained until AFTER the order itself is opened. When it is then we have a situation where we have the arrays that detect the matches getting stuffed with persistent signals. I moved the detection of matches to a place after the order is opened and yes that does filter the persistent signals out but it also defeats the goal of making the comparisions BEFORE the order is opened so that they can be modified.

I don't know the solution.

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);

}*/

//I used to have the matching arrays generate here but had trouble with a persistent signal stuffing the arrays.

/*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());

//+-----------------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------------------------------------+

//+-------------matching to previous trade high and lows--------------------+

int lowMatches = 0;

int highMatches = 0;

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

{

if ( sLocatorLows[p] == LOW )

{

lowMatches++;

}

if ( sLocatorHighs[p] == HIGH )

{

highMatches++;

Print(" index value high:",sLocatorHighs[p]," P is:",p," high matches:",highMatches," High is:",HIGH," index value low:",sLocatorLows[p]," P is:",p," low matches:",lowMatches," Low is:",LOW);

}

}

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

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

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

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");

return(0);

} else {

Print("Error opening SELL order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

if (!EachTickMode) BarCount = Bars;

return(0);

}
 

this is what the printout looks like as it is right now..

SELL order opened ticket number: 11 for 1.8987

2006.07.24 21:58:36 2005.03.21 12:52 GoGetShorts-2.21x GBPUSD,M30: open #11 sell 0.05 GBPUSD at 1.8987 sl: 1.9034 tp: 1.8882 ok

2006.07.24 21:58:36 2005.03.21 12:52 Tester: take profit #10 at 1.8989 (1.8987 / 1.8989)

2006.07.24 21:58:36 2005.03.21 06:54 GoGetShorts-2.21x GBPUSD,M30: Order Number: 10 145 bars back support:1.9123 @ bar29 with 1 Match(es)

2006.07.24 21:58:36 2005.03.21 06:54 GoGetShorts-2.21x GBPUSD,M30: Order Number: 10 145 bars back resistance:1.9291 @ bar123 with 2 Match(es)

2006.07.24 21:58:36 2005.03.21 06:54 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9291 P is:9 high matches:2 High is:1.9291 index value low:1.9123 P is:9 low matches:1 Low is:1.9123

2006.07.24 21:58:36 2005.03.21 06:54 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9291 P is:8 high matches:1 High is:1.9291 index value low:1.911 P is:8 low matches:0 Low is:1.9123

2006.07.24 21:58:36 2005.03.21 06:54 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 10 for 1.9094

2006.07.24 21:58:36 2005.03.21 06:54 GoGetShorts-2.21x GBPUSD,M30: open #10 sell 0.05 GBPUSD at 1.9094 sl: 1.9141 tp: 1.8989 ok

2006.07.24 21:58:36 2005.03.21 06:54 Tester: take profit #9 at 1.9097 (1.9094 / 1.9096)

2006.07.24 21:58:36 2005.03.18 07:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 9 145 bars back support:1.911 @ bar109 with 1 Match(es)

2006.07.24 21:58:36 2005.03.18 07:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 9 145 bars back resistance:1.9291 @ bar81 with 1 Match(es)

2006.07.24 21:58:36 2005.03.18 07:00 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9291 P is:8 high matches:1 High is:1.9291 index value low:1.911 P is:8 low matches:1 Low is:1.911

2006.07.24 21:58:36 2005.03.18 07:00 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 9 for 1.9202

2006.07.24 21:58:36 2005.03.18 07:00 GoGetShorts-2.21x GBPUSD,M30: open #9 sell 0.05 GBPUSD at 1.9202 sl: 1.9249 tp: 1.9097 ok

2006.07.24 21:58:34 2005.03.15 14:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 8 145 bars back support:1.9099 @ bar45 with 2 Match(es)

2006.07.24 21:58:34 2005.03.15 14:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 8 145 bars back resistance:1.9289 @ bar94 with 1 Match(es)

2006.07.24 21:58:34 2005.03.15 14:00 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9289 P is:7 high matches:1 High is:1.9289 index value low:1.9099 P is:7 low matches:2 Low is:1.9099

2006.07.24 21:58:34 2005.03.15 14:00 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 8 for 1.9155

2006.07.24 21:58:34 2005.03.15 14:00 GoGetShorts-2.21x GBPUSD,M30: open #8 sell 0.05 GBPUSD at 1.9155 sl: 1.9202 tp: 1.9050 ok

2006.07.24 21:58:34 2005.03.15 05:14 GoGetShorts-2.21x GBPUSD,M30: Order Number: 7 145 bars back support:1.9099 @ bar27 with 1 Match(es)

2006.07.24 21:58:34 2005.03.15 05:14 GoGetShorts-2.21x GBPUSD,M30: Order Number: 7 145 bars back resistance:1.9304 @ bar135 with 2 Match(es)

2006.07.24 21:58:34 2005.03.15 05:14 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9304 P is:6 high matches:2 High is:1.9304 index value low:1.9099 P is:6 low matches:1 Low is:1.9099

2006.07.24 21:58:34 2005.03.15 05:14 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9304 P is:5 high matches:1 High is:1.9304 index value low:1.9124 P is:5 low matches:0 Low is:1.9099

2006.07.24 21:58:34 2005.03.15 05:14 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 7 for 1.9137

2006.07.24 21:58:34 2005.03.15 05:14 GoGetShorts-2.21x GBPUSD,M30: open #7 sell 0.05 GBPUSD at 1.9137 sl: 1.9184 tp: 1.9032 ok

2006.07.24 21:58:34 2005.03.14 14:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 145 bars back support:1.9124 @ bar1 with 1 Match(es)

2006.07.24 21:58:34 2005.03.14 14:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 145 bars back resistance:1.9304 @ bar106 with 1 Match(es)

2006.07.24 21:58:34 2005.03.14 14:49 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9304 P is:5 high matches:1 High is:1.9304 index value low:1.9124 P is:5 low matches:1 Low is:1.9124

2006.07.24 21:58:34 2005.03.14 14:49 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 6 for 1.9114

2006.07.24 21:58:34 2005.03.14 14:49 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9114 sl: 1.9161 tp: 1.9009 ok

2006.07.24 21:58:34 2005.03.14 14:49 Tester: take profit #5 at 1.9117 (1.9114 / 1.9116)

2006.07.24 21:58:34 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 5 145 bars back support:1.9163 @ bar40 with 1 Match(es)

2006.07.24 21:58:34 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 5 145 bars back resistance:1.9318 @ bar137 with 1 Match(es)

2006.07.24 21:58:34 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9318 P is:4 high matches:1 High is:1.9318 index value low:1.9163 P is:4 low matches:1 Low is:1.9163

2006.07.24 21:58:34 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 5 for 1.9222

2006.07.24 21:58:34 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9222 sl: 1.9269 tp: 1.9117 ok

2006.07.24 21:58:33 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back support:1.9126 @ bar125 with 1 Match(es)

2006.07.24 21:58:33 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back resistance:1.9324 @ bar107 with 1 Match(es)

2006.07.24 21:58:33 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9324 P is:3 high matches:1 High is:1.9324 index value low:1.9126 P is:3 low matches:1 Low is:1.9126

2006.07.24 21:58:33 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 4 for 1.9219

2006.07.24 21:58:33 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9219 sl: 1.9266 tp: 1.9114 ok

2006.07.24 21:58:32 2005.03.07 18:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back support:1.9053 @ bar65 with 2 Match(es)

2006.07.24 21:58:32 2005.03.07 18:00 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back resistance:1.9271 @ bar49 with 2 Match(es)

2006.07.24 21:58:32 2005.03.07 18:00 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9271 P is:2 high matches:2 High is:1.9271 index value low:1.9053 P is:2 low matches:2 Low is:1.9053

2006.07.24 21:58:32 2005.03.07 18:00 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9271 P is:1 high matches:1 High is:1.9271 index value low:1.9053 P is:1 low matches:1 Low is:1.9053

2006.07.24 21:58:32 2005.03.07 18:00 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 3 for 1.914

2006.07.24 21:58:32 2005.03.07 18:00 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9140 sl: 1.9187 tp: 1.9035 ok

2006.07.24 21:58:32 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 145 bars back support:1.9053 @ bar58 with 1 Match(es)

2006.07.24 21:58:32 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 145 bars back resistance:1.9271 @ bar42 with 1 Match(es)

2006.07.24 21:58:32 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9271 P is:1 high matches:1 High is:1.9271 index value low:1.9053 P is:1 low matches:1 Low is:1.9053

2006.07.24 21:58:32 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 2 for 1.9125

2006.07.24 21:58:32 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9125 sl: 1.9172 tp: 1.9020 ok

2006.07.24 21:58:31 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 1 145 bars back support:1.908 @ bar15 with 1 Match(es)

2006.07.24 21:58:31 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 1 145 bars back resistance:1.9259 @ bar100 with 1 Match(es)

2006.07.24 21:58:31 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: index value high:1.9259 P is:0 high matches:1 High is:1.9259 index value low:1.908 P is:0 low matches:1 Low is:1.908

2006.07.24 21:58:31 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: SELL order opened ticket number: 1 for 1.9117

2006.07.24 21:58:31 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.05 GBPUSD at 1.9117 sl: 1.9164 tp: 1.9012 ok

2006.07.24 21:58:31 GoGetShorts-2.21x inputs: ShortemaS=4; ShortemaL=18; Mtrendema=150; TrailingStop=17; Slippage=3; MaxOpenTrade_1=1; 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.24 21:58:26 GoGetShorts-2.21x GBPUSD,M30: loaded successfully

 

Has anyone else encounter printer line limitations?

I have a couple print lines....

Print(" index value high:",sLocatorHighs[p]," P is:",p," high matches:",highMatches," High is:",HIGH," index value low:",sLocatorLows[p]," P is:",p," low matches:",lowMatches," Low is:",LOW);

and it will print ok unless I ask it to print the same line in two places in the code....

OR

if I ask it to print

Print("one");

Print("two");

Print(three");

in place of the first line then it prints these three lines and nothing else...

it's not printing all the print lines in the code...any ideas why?

but when I turn these earlier print lines off with // then it prints the later print lines just fine???

 

This Is Absurd!!!

https://www.mql5.com/en/forum

 

Build 2000 GGS2.21xray

I've learned and applied quite alot in the last couple weeks.

I think I've proved that I can profile certain signals and impact the bottom line by tailoring the trades to suit them.

This represents a step forward in both validation of my working theory and the ironing out of some learning with code. My learning curve is improving with coding thanks to consulting with a friend off the board. Many thanks to Robert C. for the time he's spent bouncing debugging issues around with me in instant messenger.

There is a lot for me to do with this. I has yet to really reach it's full potential. I've managed to bring half a dozen of the most active signal profiles into something of a unified curve. There are many more signals which can be profiled and this is all just with the short side of the market.

I havn't begun to transfer this strategy to the long side of the market yet.

I don't have time to write up a .doc for this yet. So you can use it with the presets as is and tinker with it at your own risk as always. I assume no risk for your trading demo or otherwise.

The brief explaination is that there are 4 originating signals called Main, C1, C2, and C3.

The other 9 signals are accepting these 4 and screening them against the matching profile into 9 variations and then tailoring a set of ordering parameters based on those profiles. In actuality the Main is the only generating signal that I can tell that is active. The three c's (countertrend) signals don't appear to be active. Neither do all of the 9 screening signals appear to be active. It comes down to the main generating a signal and three to five of the profilers picking up a percentage of them and modifying the entry parameters. That's what is doing all this right now.

Like I said it's not at it's full potential...It's just better than it's been before. So be it.

Enjoy!

 

Some better settings...

extern string Main_Signal="Main Trade Signal Settings";

extern bool UseMain_Signal=True;

extern int MaxOpenTrade_1 = 1;

extern double Lots1 = 0.12; //0.9=29700k

extern int TakeProfit1 = 101; //105 100=22904k,104=23360, 105=29700k, 106=23984,110=21664k

extern int StopLoss1 = 40; //47 41=21584k,45=21720k,46=21952k 47=29700k, 48=21856k,49=21672k,50=21200k,51=21200k,

extern int MinsMultiplier1=75; //I believe 75 hours is optimized for GPB/USD on 30mTF

extern string Countertrend_1="Countertrend Signal 1 Settings";

extern bool UseCTrend_1=false;

extern int MaxOpenTrade_2 = 1;

extern double Lots2 = 0.04;

extern int TakeProfit2 = 52; //result53=1285,52=1560//66 sould work but one order (1 May 2006 18:00)didn't close when it should have so I backed off

extern int StopLoss2 = 120;

extern int MinsMultiplier2=75;

extern int OffAve2 = 160;

extern string Countertrend_2="Countertrend Signal 2 Settings";

extern bool UseCTrend_2=False;

extern int MaxOpenTrade_3 = 1;

extern double Lots3 = 0.05; // be aware of margin requirements

extern int TakeProfit3 = 30; // very few occurrances and very few pips but it happens occasionally

extern int StopLoss3 = 30; // risk reward is 1:1

extern int MinsMultiplier3=75;

extern int OffAve3 = 320;

//extern int Shift = 2;

extern string Countertrend_3="Countertrend Signal 3 Settings";

extern bool UseCTrend_3=false;

extern int MaxOpenTrade_4 = 1;

extern double Lots4 = 0.06;

extern int TakeProfit4 = 30; //

extern int StopLoss4 = 30;

extern int MinsMultiplier4=75;

extern int OffAve4 = 320;

extern int Shift = 2; //number of previous candles to look back when comparing with current bar

extern string MatchingSignal_1="Matching Signal 1 Settings";

extern bool UseMS1=True;// highMatches == 0 && lowMatches == 0

extern int MaxOpenTrade_5 = 1;

extern double Lots5 = 0.01;

extern int TakeProfit5 = 37;//for some reason this really impacts signal #5 when #5= H=2,L=0

extern int StopLoss5 = 7;

extern int MinsMultiplier5 = 18;

extern string MatchingSignal_2="Matching Signal 2 Settings";

extern bool UseMS2=True;// highMatches == 1 && lowMatches == 1

extern int MaxOpenTrade_6 = 1;

extern double Lots6 = 0.5;

extern int TakeProfit6 = 80;

extern int StopLoss6 = 22;

extern int MinsMultiplier6 = 18;

extern string MatchingSignal_3="Matching Signal 3 Settings";

extern bool UseMS3=True;// highMatches == 1 && lowMatches == 0

extern int MaxOpenTrade_7 = 1;

extern double Lots7 = 0.3;

extern int TakeProfit7 = 53;

extern int StopLoss7 = 7;

extern int MinsMultiplier7 = 18;

extern string MatchingSignal_4="Matching Signal 4 Settings";

extern bool UseMS4=True;// highMatches == 0 && lowMatches == 1

extern int MaxOpenTrade_8 = 1;

extern double Lots8 = 0.03;

extern int TakeProfit8 = 10;

extern int StopLoss8 = 7;

extern int MinsMultiplier8 = 18;

extern string MatchingSignal_5="Matching Signal 5 Settings";

extern bool UseMS5=True;// highMatches == 2 && lowMatches == 0

extern int MaxOpenTrade_9 = 1;

extern double Lots9 = 0.4;

extern int TakeProfit9 = 75;

extern int StopLoss9 = 25;

extern int MinsMultiplier9 = 18;

extern string MatchingSignal_6="Matching Signal 6 Settings";

extern bool UseMS6=True;// highMatches == 3 && lowMatches == 0

extern int MaxOpenTrade_10 = 1;

extern double Lots10 = 0.02;

extern int TakeProfit10 = 40;

extern int StopLoss10 = 7;

extern int MinsMultiplier10 = 18;

extern string MatchingSignal_7="Matching Signal 7 Settings";

extern bool UseMS7=True;// highMatches == 0 && lowMatches == 2

extern int MaxOpenTrade_11 = 1;

extern double Lots11 = 0.07;

extern int TakeProfit11 = 37;

extern int StopLoss11 = 7;

extern int MinsMultiplier11 = 18;

extern string MatchingSignal_8="Matching Signal 8 Settings";

extern bool UseMS8=True;// highMatches == 3 && lowMatches == 3

extern int MaxOpenTrade_12 = 1;

extern double Lots12 = 0.08;

extern int TakeProfit12 = 37;

extern int StopLoss12 = 7;

extern int MinsMultiplier12 = 18;

extern string MatchingSignal_9="Matching Signal 9 Settings";

extern bool UseMS9=True;// highMatches == 4 && lowMatches == 0

extern int MaxOpenTrade_13 = 1;

extern double Lots13 = 0.09;

extern int TakeProfit13 = 37;

extern int StopLoss13 = 7;

extern int MinsMultiplier13 = 18;
Files:
 

I've got another little coding dilemma...

#define EquitySIZE 5 //variable on global scope

static int EquityIndex = 0; //variable on global scope

static double EQUITY[ EquitySIZE ] = { 0 }; //variable on global scope

//at the appropriate place in the code I call this function...

double equity = 0; //is not a global but a local variable

equity=AccountEquity();

StoreAccountEquity(equity);

//blah

//blah

Print("Order NUMBER: ",OrderTicket()+1 ,"previous2x Equity $",EQUITY[ EquityIndex-3 ]," 'Previous Equity $", EQUITY[ EquityIndex-2 ]," Trade Result = $",equity-EQUITY[ EquityIndex-2 ]," Equity After Trade = $",equity,);

//blah

//Blah

void StoreAccountEquity(double equity)

{

if ( EquityIndex >= EquitySIZE )

{

EquityIndex = 0;

}

EQUITY[ EquityIndex ] = equity;

EquityIndex++;

}[/PHP]

this is what I get from the tester journal...

[PHP]

2006.07.31 20:00:38 2005.04.11 20:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 15 previous2x Equity $4400 'Previous Equity $4660 Trade Result = $-440 Equity After Trade = $4220

2006.07.31 20:00:38 2005.04.08 17:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 14 previous2x Equity $4140 'Previous Equity $4400 Trade Result = $260 Equity After Trade = $4660

2006.07.31 20:00:37 2005.04.06 16:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 13 previous2x Equity $3880 'Previous Equity $4140 Trade Result = $260 Equity After Trade = $4400

2006.07.31 20:00:37 2005.04.05 20:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 12 previous2x Equity $0 'Previous Equity $3880 Trade Result = $260 Equity After Trade = $4140

2006.07.31 20:00:36 2005.04.01 14:27 GoGetLongs2x GBPUSD,M30: Order NUMBER: 11 previous2x Equity $0 'Previous Equity $0 Trade Result = $3880 Equity After Trade = $3880

2006.07.31 20:00:36 2005.04.01 14:27 GoGetLongs2x GBPUSD,M30: Order NUMBER: 10 previous2x Equity $3960 'Previous Equity $3360 Trade Result = $260 Equity After Trade = $3620

2006.07.31 20:00:35 2005.03.31 12:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 9 previous2x Equity $3700 'Previous Equity $3960 Trade Result = $-600 Equity After Trade = $3360

2006.07.31 20:00:34 2005.03.29 08:56 GoGetLongs2x GBPUSD,M30: Order NUMBER: 8 previous2x Equity $3440 'Previous Equity $3700 Trade Result = $260 Equity After Trade = $3960

2006.07.31 20:00:31 2005.03.16 09:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 7 previous2x Equity $0 'Previous Equity $3440 Trade Result = $260 Equity After Trade = $3700

2006.07.31 20:00:30 2005.03.11 15:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 6 previous2x Equity $0 'Previous Equity $0 Trade Result = $3440 Equity After Trade = $3440

2006.07.31 20:00:29 2005.03.09 16:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 5 previous2x Equity $3520 'Previous Equity $2920 Trade Result = $260 Equity After Trade = $3180

2006.07.31 20:00:29 2005.03.08 13:51 GoGetLongs2x GBPUSD,M30: Order NUMBER: 4 previous2x Equity $3260 'Previous Equity $3520 Trade Result = $-600 Equity After Trade = $2920

2006.07.31 20:00:28 2005.03.07 16:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 3 previous2x Equity $3000 'Previous Equity $3260 Trade Result = $260 Equity After Trade = $3520

2006.07.31 20:00:28 2005.03.07 06:12 GoGetLongs2x GBPUSD,M30: Order NUMBER: 2 previous2x Equity $0 'Previous Equity $3000 Trade Result = $260 Equity After Trade = $3260

2006.07.31 20:00:28 2005.03.04 14:57 GoGetLongs2x GBPUSD,M30: Order NUMBER: 14 previous2x Equity $0 'Previous Equity $0 Trade Result = $3000 Equity After Trade = $3000

2006.07.31 20:00:24 GoGetLongs2x GBPUSD,M30: loaded successfully

here's the dilemma, and I've already tried to access two index values back to try to get around when it resets the array to "0" every 5 index places. I only made the array 5 big because I'm only trying to compare the equity of each trade with the equity value when the previous trade closed. so like doing a running balance in a checkbook. But not only does it start the index over it resets ALL the values back to zero. This defeats my purpose in comparing the equity for/with the previous trade. I don't really want to store a large array and I don't care if the data falls into the data bucket after I've made the comparisions. So this is a sliding array that just keeps the last 5 values.

How do I get it to compare the trade that occurs when the array resets?

and if you really want to make this smooth help me get the first trade to show the NUMBER 1 to correspond with the first trade that is opened too

I guess I could just do something like this...

#define EquitySIZE 1499 //variable on global scope

and then consider that if it messes up once every 1500 trades it's not that significant?

 

a friend of mine walked me thru making the array point to the correct index location thusly...

//+--------------- Get past equity function--------------------+

// This returns past equity from the global equity array. The howFarBack parameter is a positive integer that indicates how far back into the array to go

// 1 would be the previous equity, 2 would be the equity before that, etc.

// the HowFarBack should not be greater than the arraysize

double GetPastEquity(int HowFarBack)

{

if ( HowFarBack > EquitySIZE )

{

Print("Error getting past equity, Looking back farther than the array size : ", GetLastError());

}

else

{

int PastIndex = EquityIndex - HowFarBack;

if ( PastIndex < 0 )

{

PastIndex += EquitySIZE;

}

return (EQUITY[PastIndex]);

}

}[/PHP]

this works great!

so new problem....

here's the function...

//+-----------------Trade Wave function--------------+

//+-------adapts trade settings according to progression/regression with previous orders-----------------+

void TradeWaveManager()

{

if( GetPastEquity(2) < GetPastEquity(3) )

{

Lots = 0.11;

}

}[/PHP]

this is where it's called....

[PHP]TradeSettings();//gets customized order settings

TradeWaveManager();//Adapts order settings according to trade wave progressions/regressions

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;//if used sets levels for order stop loss

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;//if used sets levels for order take profit

equity=AccountEquity();

bool FirstOrderInSeries = True;

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

if(CountTrades() < MaxOpenTrade)//allows multiple trades on signal

if(PlaceOrder)//allows or disallows orders to open based on signal matching

{

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

if(FirstOrderInSeries == True) //stores HIGH and LOW and equity values only once if trade or trade series is opened

{

StoreHighsAndLows(HIGH,LOW);

StoreAccountEquity(equity);

if( GetPastEquity(2) < GetPastEquity(3) )

{

Print("last trade was a loser, lots reduced to : ",Lots);

}

FirstOrderInSeries = False;

Print("Order NUMBER: ",OrderTicket()+1 ," Lots = ",Lots," Previous Equity $",GetPastEquity(2)," Trade Result = $",equity-GetPastEquity(2)," Equity After Trade = $",equity,);

//Print(ResistanceBarsBack," bars back resistance:",HIGH," @ bar",j," with HIGH ",highMatches," Match(es)");

//Print(SupportBarsBack," bars back support:",LOW," @ bar",k," with LOW ",lowMatches," Match(es)");

}

}

else

{

and here is the journal printout....

[PHP]2005.08.11 19:39 GoGetLongs2x GBPUSD,M30: Order NUMBER: 58 Lots = 0.5 Previous Equity $3707.9 Trade Result = $-132 Equity After Trade = $3575.9

2005.08.11 19:39 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.08.11 00:40 GoGetLongs2x GBPUSD,M30: Order NUMBER: 57 Lots = 0.11 Previous Equity $3839.9 Trade Result = $-132 Equity After Trade = $3707.9

2005.08.09 08:25 GoGetLongs2x GBPUSD,M30: Order NUMBER: 56 Lots = 0.11 Previous Equity $3579.9 Trade Result = $260 Equity After Trade = $3839.9

2005.08.09 08:25 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.11

2005.08.08 09:58 GoGetLongs2x GBPUSD,M30: Order NUMBER: 55 Lots = 0.5 Previous Equity $3711.9 Trade Result = $-132 Equity After Trade = $3579.9

2005.08.08 09:58 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.08.07 23:01 GoGetLongs2x GBPUSD,M30: Order NUMBER: 54 Lots = 0.11 Previous Equity $3724 Trade Result = $-12.1 Equity After Trade = $3711.9

2005.08.03 09:20 GoGetLongs2x GBPUSD,M30: Order NUMBER: 53 Lots = 0.11 Previous Equity $3666.8 Trade Result = $57.2 Equity After Trade = $3724

2005.08.03 09:20 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.11

2005.08.03 09:03 GoGetLongs2x GBPUSD,M30: Order NUMBER: 52 Lots = 0.11 Previous Equity $3798.8 Trade Result = $-132 Equity After Trade = $3666.8

2005.08.03 09:03 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.11

2005.08.01 12:27 GoGetLongs2x GBPUSD,M30: Order NUMBER: 51 Lots = 0.11 Previous Equity $4398.8 Trade Result = $-600 Equity After Trade = $3798.8

2005.08.01 12:27 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.11

2005.08.01 01:17 GoGetLongs2x GBPUSD,M30: Order NUMBER: 50 Lots = 0.5 Previous Equity $4418.8 Trade Result = $-20 Equity After Trade = $4398.8

2005.08.01 01:17 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.07.28 16:02 GoGetLongs2x GBPUSD,M30: Order NUMBER: 49 Lots = 0.5 Previous Equity $5018.8 Trade Result = $-600 Equity After Trade = $4418.8

2005.07.27 16:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 48 Lots = 0.5 Previous Equity $4961.6 Trade Result = $57.2 Equity After Trade = $5018.8

2005.07.25 19:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 47 Lots = 0.11 Previous Equity $4701.6 Trade Result = $260 Equity After Trade = $4961.6

2005.07.21 18:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 46 Lots = 0.5 Previous Equity $4441.6 Trade Result = $260 Equity After Trade = $4701.6

2005.07.21 18:30 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.07.21 17:50 GoGetLongs2x GBPUSD,M30: Order NUMBER: 45 Lots = 0.5 Previous Equity $4573.6 Trade Result = $-132 Equity After Trade = $4441.6

2005.07.21 12:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 44 Lots = 0.11 Previous Equity $4313.6 Trade Result = $260 Equity After Trade = $4573.6

2005.07.21 11:11 GoGetLongs2x GBPUSD,M30: Order NUMBER: 43 Lots = 0.5 Previous Equity $4053.6 Trade Result = $260 Equity After Trade = $4313.6

2005.07.21 11:11 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.07.21 11:08 GoGetLongs2x GBPUSD,M30: Order NUMBER: 42 Lots = 0.5 Previous Equity $4653.6 Trade Result = $-600 Equity After Trade = $4053.6

2005.07.21 07:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 41 Lots = 0.5 Previous Equity $4596.4 Trade Result = $57.2 Equity After Trade = $4653.6

2005.07.15 08:01 GoGetLongs2x GBPUSD,M30: Order NUMBER: 40 Lots = 0.11 Previous Equity $4539.2 Trade Result = $57.2 Equity After Trade = $4596.4

2005.07.13 21:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 39 Lots = 0.11 Previous Equity $4279.2 Trade Result = $260 Equity After Trade = $4539.2

2005.07.13 21:00 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.11

2005.07.12 20:51 GoGetLongs2x GBPUSD,M30: Order NUMBER: 38 Lots = 0.5 Previous Equity $4411.2 Trade Result = $-132 Equity After Trade = $4279.2

2005.07.12 20:51 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.07.12 07:09 GoGetLongs2x GBPUSD,M30: Order NUMBER: 37 Lots = 0.11 Previous Equity $5011.2 Trade Result = $-600 Equity After Trade = $4411.2

2005.07.11 15:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 36 Lots = 0.5 Previous Equity $4751.2 Trade Result = $260 Equity After Trade = $5011.2

2005.07.11 15:00 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.06.27 17:45 GoGetLongs2x GBPUSD,M30: Order NUMBER: 35 Lots = 0.5 Previous Equity $4971.2 Trade Result = $-220 Equity After Trade = $4751.2

2005.06.24 14:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 34 Lots = 0.5 Previous Equity $4914 Trade Result = $57.2 Equity After Trade = $4971.2

2005.06.21 15:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 33 Lots = 0.11 Previous Equity $4654 Trade Result = $260 Equity After Trade = $4914

2005.06.20 20:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 32 Lots = 0.5 Previous Equity $4596.8 Trade Result = $57.2 Equity After Trade = $4654

2005.06.20 20:30 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.06.17 18:08 GoGetLongs2x GBPUSD,M30: Order NUMBER: 31 Lots = 0.11 Previous Equity $5196.8 Trade Result = $-600 Equity After Trade = $4596.8

2005.06.15 14:00 GoGetLongs2x GBPUSD,M30: last trade was a loser, lots reduced to : 0.5

2005.06.07 08:31 GoGetLongs2x GBPUSD,M30: Order NUMBER: 29 Lots = 0.5 Previous Equity $5536.8 Trade Result = $-600 Equity After Trade = $4936.8

2005.06.06 07:30 GoGetLongs2x GBPUSD,M30: Order NUMBER: 28 Lots = 0.5 Previous Equity $5276.8 Trade Result = $260 Equity After Trade = $5536.8

2005.06.03 02:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 27 Lots = 0.5 Previous Equity $5016.8 Trade Result = $260 Equity After Trade = $5276.8

2005.05.25 18:00 GoGetLongs2x GBPUSD,M30: Order NUMBER: 26 Lots = 0.5 Previous Equity $4756.8 Trade Result = $260 Equity After Trade = $5016.8

as you can see in the printout there is a delay of one order between the time the previous loser is detected and the lot sizes is changed...

 

GGLv2x Build 2000

Ok I'm not really impressed with this result after seeing the GGS go up 60%/month...I want more from the GGL but it's not giving it up as easily.

Still this is an improvement over the GGL v1.05 so I'll put it on the thread.

I'm playing with some lot increase/decrease in this version that looks at the previous trade being a winner or loser. It's perhaps the only thing that has taken the GGL profitable. Like I said winning longs is more grueling for some reason. Not exactly sure how to account for that but that's how it is.

I'm open for feedback if anyone has ideas on improvements they would like to see on these.

I'm going to replace the GGL v1.05 that is running in my demo account with this now. GGL v1.05 really hasn't done much beyond break even since I've been forward testing it the past couple weeks.

One thing I do like about this v2x is that it's maximal drawdown is pretty small. I might actually consider letting it run in my mini account if it proves ok in the demo forward test.

enjoy

Files:
ggl2x.gif  7 kb
ggl2x.htm  356 kb
Reason: