Gogetter EA - 页 3

 

你有没有测试过这个EA?

 

嘿。

在我急于给你工作的过程中,我错过了一些明显的东西。请修改你的这行代码,它看起来像这样

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

如果(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

对不起,这是个疏忽。当你开始用相同的EA和相同的MagicNumber交易多种货币时,它就会乱套了。

无论如何,我很高兴你做得很好。干得好,你应该得到所有的荣誉。

 
Maji:
嘿。

在我急于给你一些工作的时候,我错过了一些明显的东西。请修改你的这行代码,它看起来像这样

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

如果(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

对不起,这是个疏忽。当你开始用相同的EA和相同的MagicNumber交易多种货币时,它就会乱套了。

无论如何,我很高兴你做得很好。干得好,你应该得到所有的荣誉。

这确实让我感到好奇,但我还是照做了......一切都很好......修正完毕。现在我得看看我是否能升级GG。

 

GGlongs Build 1.05

这样就好了。

再次感谢Maji指导我加强多单的计算方法和多单的处理/修改等问题。

这使用了一个新的尾随止损功能 以及新的计数功能。

我还对Signal_2进行了处理,这就是下面所附的图表缩略图的内容。那是主要的趋势信号。我还没有对逆势信号1进行处理。但在GBP/USD 5m图表上,signal_2的这些设置是可以接受的,可以重新部署。

在向前测试中,前一版本的GGlongs今天早上未能输入明确的买入信号。我在查看v1.01版本的信号逻辑时发现,我真的把它弄得比我想象的还要糟糕。总之问题解决了......v1.05版本现在的正向测试应该比v1.01版本好得多。我现在要把v1.05版放在v2.11版GG的旁边,因为v2.11版还没有收到这些新功能。

附加的文件:
 

我注意到在未修改的图表上,它根本没有修改......它没有像以前那样在上一个系列的后面进入一个新系列......我想知道为什么?我所做的修改怎么会这样?

我发现这是因为我弄乱了信号逻辑......谜团解开了。

附加的文件:
 

我很困惑....

这就是在GGl..... 中工作得很好的东西。

int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop || OrderOpenPrice() - Bid >= 0) {

if(OrderStopLoss() < Bid - Point * TrailingStop || OrderStopLoss() == 0) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

} [/PHP]

so....

why doesn't this work in the GGs???

[PHP]int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop || Ask - OrderOpenPrice() >= 0)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

}

正如你在所附报告中看到的,没有任何 "修改 "发生............仔细想想......我从来没有在任何GG版本的报告中看到任何跟踪止损的修改活动!这到底是怎么回事?

附加的文件:
ggs2.21.htm  149 kb
ggs2.21.gif  7 kb
 

我的下一个编码挑战...

我想在我的EA.... 的逻辑中添加支撑和阻力。

这对返回一个指定条数 的最高值来说是很好的......。

//support and resistance

double HIGH = High;

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

在关注GG的过程中。我注意到,在30米图表上每145个柱子中,有一个最高点,然后是三个逆势卖出信号。我把逆势卖出信号定义为每次5ema从18ema上方穿越到150ema下方的时候。因此,我看到的模式是,有一个新的高点,然后是卖出信号。

我进一步观察到,新高之后的第一个卖出信号不是很有成效。第二个信号通常更有价值,第三个信号等是更大的移动发生的地方。

所以...

由于我现在可以针对每种情况产生量身定做的信号,我想定制信号,在这些不同的情况下执行,都与新高点或当前145条时期的最高点有关。

我可以处理定制的信号...

挑战在于如何将逆势卖出信号定位在当前145巴时期的最高点,并计算该信号在该时期的最高点之后已经发生过多少次。

我不确定如何计算信号发生的次数。我的意思是我可以在图表上计算,但我如何让代码进行计数?

 

我如何确定从我得到移动 平均线交叉信号到最高点发生在数组中的多少条?

 

好的,我知道如何获得数组最大值和数组最小值......这给了我数值发生的条数,但它给我的是图表中的条数......。

如果我可以得到移动 平均线交叉的那一栏的栏数,我就可以把这两个栏数减去,看看从信号的发生到支撑或阻力是多少栏......

我怎样才能得到移动平均线交叉信号发生时的图表条数?

 
/support and resistance

double HIGH = High;

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

//support and resistance location

int Hloc = ArrayMaximum(High);

int Lloc = ArrayMinimum(Low);

.

.

.

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

[/PHP]

this is what this code is giving me...

[PHP]2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 20 bars back resistance : 1.9284 @bar109 & 20 bars back support : 1.9204 @bar205

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9223

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 20 bars back resistance : 1.9224 @bar44 & 20 bars back support : 1.9114 @bar49

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9146

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 20 bars back resistance : 1.9186 @bar100 & 20 bars back support : 1.908 @bar15

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9121

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

我如何理解这些条形数字呢?

至少支撑柱似乎有点顺序,15,49,205

阻力柱是怎么回事?100,44,109? 在图表上看,第一个阻力条实际上是20个数值阵列中的第一个,而不是100。比如1=100?

所以事实上,前两个订单确实对应于订单前15个条形的支持条数,如果100意味着1,那么阻力确实发生在20个条形阵列的第一个条形。

原因: