고게터 EA - 페이지 3

 

이 EA를 앞으로 테스트 했습니까?

 

여기요,

작업할 것을 서둘러 주려고 하다가 분명한 것을 놓쳤습니다. 다음과 같은 코드 줄을 수정하십시오.

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

에게

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

죄송합니다. 실수였습니다. 동일한 EA와 동일한 Magicnumber로 여러 통화를 거래하기 시작했다면 엉망이 되었을 것입니다.

아무튼 잘 지내고 계시다니 다행입니다. 수고하셨습니다. 모든 크레딧을 받을 자격이 있습니다.

 
Maji:
여기요,

작업할 것을 서둘러 주려고 하다가 분명한 것을 놓쳤습니다. 다음과 같은 코드 줄을 수정하십시오.

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

에게

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

죄송합니다. 실수였습니다. 동일한 EA와 동일한 Magicnumber로 여러 통화를 거래하기 시작했다면 엉망이 되었을 것입니다.

아무튼 잘 지내고 계시다니 다행입니다. 수고하셨습니다. 모든 크레딧을 받을 자격이 있습니다.

그것이 나를 궁금하게 만들었지만 나는 그것을 갔다. 이제 GG를 업그레이드할 수 있는지 확인합니다.

 

GGlongs 빌드 1.05

거기가 더 좋습니다.

여러 주문의 계산 방법과 여러 주문 처리/수정 등의 문제를 개선하도록 안내해 주신 Maji에게 다시 한 번 감사드립니다.

이것은 새로운 후행 정지 기능 과 새로운 카운팅 기능 thruout을 사용합니다.

나는 또한 아래에 첨부된 그래프 썸네일인 Signal_2에 대해 작업했습니다. 이것이 주요 Trend 신호입니다. 나는 아직 역추세 signal_1에 대해 작업하지 않았습니다. 그러나 signal_2는 GBP/USD 5m 차트에서 재배포를 위해 이러한 설정으로 허용됩니다.

앞으로 테스트에서 GGlongs의 이전 버전은 오늘 아침에 명확한 매수 신호를 입력하지 못했습니다. v1.01의 신호 로직을 살펴보니 생각했던 것보다 훨씬 더 엉망이었습니다. 어쨌든 문제가 해결되었습니다...v1.05는 v1.01보다 훨씬 더 나은 테스트를 전달해야 합니다. 아직 이러한 새로운 기능을 받지 못한 v2.11 GG 옆에 v1.05를 포워드 테스터에 추가하겠습니다.

파일:
 

나는 변경되지 않은 차트에서 전혀 수정되지 않는 것을 알았습니다... 그것은 항상 전에 그랬던 것처럼 마지막 시리즈의 뒤를 이어 새로운 시리즈에 들어가지 않습니다...왜 그런지 궁금해요??? 내가 변경한 사항이 어떻게 그렇게 할 수 있습니까?

나는 이것이 내가 신호 논리를 엉망으로 만들었기 때문이라는 것을 발견했습니다. 수수께끼가 풀렸습니다.

파일:
 

혼란스러워....

이것은 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에 초점을 맞춥니다. 30m 차트의 모든 145개 막대에서 알 수 있습니다. 가장 높은 고점에 이어 3개의 역추세 매도 신호가 있습니다. 나는 역추세 매도 신호를 5ema가 위에서 150ema 위에서 발생하는 18ema 위에서 아래로 교차할 때마다 정의합니다. 따라서 내가 보는 패턴은 새로운 고점에 이어 매도 신호가 있다는 것입니다.

나는 또한 새로운 고점 이후의 첫 번째 매도 신호가 그다지 생산적이지 않다는 것을 관찰했습니다. 두 번째는 일반적으로 더 보람 있고 세 번째 등은 더 큰 움직임이 발생하는 곳입니다.

그래서...

이제 각 상황에 맞게 맞춤형 신호를 생성할 수 있으므로 현재 145bar 기간의 새로운 최고 또는 최고 최고와 관련하여 이러한 다양한 발생에서 실행되도록 신호를 사용자 정의하고 싶습니다.

커스터마이징 처리할 수 있는 신호...

문제는 현재 145bar 기간의 최고점과 관련하여 역추세 매도 신호를 찾고 해당 기간의 최고점 이후 이 신호가 이미 발생한 횟수를 계산하는 것입니다.

신호 발생 횟수를 계산하는 방법을 잘 모르겠습니다. 차트에서 계산할 수 있지만 코드에서 계산을 수행하려면 어떻게 해야 합니까?

 

가장 높은 고점이 발생한 이동 평균 교차 신호를 얻은 시점부터 어레이에 몇 개의 막대가 있는지 어떻게 확인합니까?

 

좋아, 나는 arraymaximum과 array minimum을 얻는 방법을 알고 있습니다 ... 이것은 값이 발생하는 막대 번호를 제공하지만 차트의 막대 번호 측면에서 나에게 제공합니다 ...

이동 평균 교차가 발생하는 막대의 막대 번호를 얻을 수 있다면 2개를 빼서 신호 발생에서 지지 또는 저항을 뒤로 몇 막대가 있는지 확인할 수 있습니다...

이동 평균 교차 신호가 발생할 때 차트 막대 번호를 얻으려면 어떻게 해야 합니까?

 
/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??? 차트에서 볼 가치가 있는 것은 첫 번째 저항 막대가 실제로 100이 아닌 20개 값의 배열에서 첫 번째입니다. 예를 들어 1=100??

따라서 실제로 처음 두 개의 주문은 주문 전에 15개의 막대를 지원하기 위한 막대 번호에 해당했으며 100이 1을 의미하는 경우 저항은 20bar 어레이의 첫 번째 막대에서 발생했습니다.