백테스트에서 훌륭한 EA! - 페이지 108

 

지난주 데모 결과

안녕하세요 세계입니다.

차단된 시간을 계산할 때 잠재적인 버그를 발견한 것은 지난 금요일 즈음이었습니다.

저는 GMT=3으로 설정한 FXDD를 사용하고 있습니다. 다음 코드는 현재 시간(gmt)을 계산해야 합니다.

int hadj=TimeHour(CurTime())-GMT;

그러나 00:00 FXDD 시간에 이 함수는 -3을 반환하고 01:00에 -2를 반환하고 02:00에 -1을 반환합니다. 그러나 올바른 값은 21, 22 및 23이어야 합니다.

이것이 JPY 쌍에 대한 23:00 gmt의 차단 시간이 차단되지 않은 이유입니다.

이 실수를 상쇄하기 위해 다음 코드를 추가했습니다.

if (hadj<0) hadj = hadj + 24;

어쨌든, 여기에 지난 주 결과가 있습니다... 별 거 없습니다.

내 라이브 계정도 그렇게 좋지 않았습니다.

나를 가장 화나게 하는 것은 사실 이후에 백테스트 가 전반적으로 절대적인 승자로 판명된다는 것입니다. 백테스트에서 승리한 거래는 라이브 거래 중에 실행되지 않았으며 라이브 거래 중 손실된 거래는 백테스트 중에 표시되지 않았습니다. 이것은 사악한 세상입니다.

아즈보핀

 

Aragorn, 1.0 R2 버전의 기본 설정을 사용 중입니까, 아니면 변경한 것이 있습니까? 위험, 제비 등은 어쨌든 중요하지 않습니다. 필터, SL 설정 등에 대해 더 궁금합니다.

나는 EUR$에 대한 내 라이브 포트폴리오에 오늘(거래일에 누락된 어제)을 기준으로 귀하의 EA 개정을 추가했습니다. 나는 그것이 "원본"버전이 잃어버린 것을 되찾을 수 있기를 바랍니다.

아즈보핀

BTW: 실제로 프로그래밍을 잘했습니다.

 
Aaragorn:
내가 자는 동안 이 EA가 돈을 벌었다는 것을 보기 위해 아침에 일어나서 여전히 사랑한다고 말해야 합니다.

지금은 alerteuro 버전만 실행 중인 라이브 계정과 alerteuro 및 usdcad 및 usdjpy 버전을 실행할 수 있는 데모 계정을 비교하고 있습니다. 3개의 usdjpy는 단연 가장 활발하고 수익성도 가장 낮습니다. 거의 손익분기점 이상을 하는 것 같으며 때로는 많이 잃습니다. 나는 3개의 쌍이 함께 유로 자체가 만드는 것보다 많거나 적은 수익을 낼 수 있는지 알고 싶었습니다. 이는 내가 지금까지 본 가장 신뢰할 수 있는 결과입니다.

글쎄, 셋이 함께 내 데모 계정 을 내 라이브 계정이 있는 곳으로 되돌릴 뻔했습니다...그들은 함께 형편없었습니다! 나는 euroalert 버전을 데모에서 위험=1, 라이브 계정에서 위험=.25로 계속 실행할 것이라고 생각합니다. 오늘 아침 내 라이브 계정의 잔액은 $315.16이고 데모에서는 $322.63입니다. 이제 거의 동일합니다. 더 높은 위험을 견딜 수 있는지 데모에서 볼 수 있습니까?

그 사이에 ... 개발 경로를 따라 ...

지지 및 저항 데이터로 히스토그램을 생성하는 데 몇 가지 문제가 있습니다. 나는 분명히 루프와 배열을 마스터하지 않았습니다. 배열을 순환하는 루프를 얻으려고하는데 배열에 이미 있는 값과 일치하는 경우 개수를 늘리고 다음 값으로 이동하고 일치하는 항목을 찾지 못하면 끝에 값을 추가합니다. 배열의. 끔찍할 정도로 어렵다는 것이 증명되고 있습니다. 처음에 배열은 정수만 허용하므로 가격 수준 값을 정수로 변환해야 합니다. 그렇게 하려면 두 가지 데이터 유형 변환을 거쳐야 합니다....그렇다면... 루프 내부에서 실행되지 않는 것으로 보입니다. 루핑은 정상이지만 테스트 값을 증가시키지는 않습니다....이봐. 코딩 마법사가 필요할 때 어디에 있습니까?

#define SIZE 50 // must be set to match NumberOfBars

static int Index = 0;

static double Opens[ SIZE ] = { 0 };

static int TotalOMatches[ SIZE ] = { 0 };

static double OpenHistogram[2][ SIZE ] = { 0 };

int ct5=0,i5=NumberOfBars;

int level=0,matches=0;

// This loop cycles TotalOMatches thru the OpenHistogram looking for identical price levels and creates histogram of all unique open levels and their associated matches

for(ct5=NumberOfBars;ct5>0;ct5--)

{

string Openhist=DoubleToStr(Opens,4*10000);

int Ohist=StrToInteger("Openhist");

Print("Ohist: ",Ohist," ",TotalOMatches);

while(OpenHistogram[level][matches] == OpenHistogram[Ohist][TotalOMatches])

{

level++;

matches++;

Print("Ohist: ",Ohist," ",TotalOMatches);

//Print("cycle: ",i5);

if(OpenHistogram[level][matches] != OpenHistogram[Ohist][TotalOMatches])

{

OpenHistogram[level][matches] = OpenHistogram[Ohist][TotalOMatches];

// We print the result

Print("Open Histogram: ",OpenHistogram[level][matches]);

Print ("Open Histogram2: ",OpenHistogram[Ohist][TotalOMatches]);

}

i5--;

}

}

내가 이것을 실행하면 인쇄됩니다

오히스트 0, 0

오히스트 0, 0

오히스트 0, 0

오히스트 0, 0

.....

약 백만 번.

누구든지 내가 이 작업을 수행하는 데 도움을 줄 수 있다면 자유롭게 느끼십시오. 그것은 나를 기둥 주위에 꼬이게했습니다.

 
AZBOfin:
Aragorn, 1.0 R2 버전의 기본 설정을 사용 중입니까, 아니면 변경한 것이 있습니까? 위험, 제비 등은 어쨌든 중요하지 않습니다. 필터, SL 설정 등에 대해 더 궁금합니다.

나는 EUR$에 대한 내 라이브 포트폴리오에 오늘(거래일에 누락된 어제)을 기준으로 귀하의 EA 개정을 추가했습니다. 나는 그것이 "원본"버전이 잃어버린 것을 되찾을 수 있기를 바랍니다.

아즈보핀

BTW: 실제로 프로그래밍을 잘했습니다.

덕분에 코딩 도움말을 계속 사용할 수 있었습니다. 나를 도와줄 수 있는 사람을 알고 있습니까? 사실 나는 판타지아에서 마법사가 등을 돌렸을 때 미키마우스처럼 코딩하는 내 자신을 본다.

이것이 제가 지금 실행하고 있는 것입니다. 나는 다른 모든 것을 닫았습니다. 예, 그것은 사악한 세상이지만 나는 여전히 게임을 하고 있다는 것을 알아차렸습니다. 돈을 벌고 있을 때와 반대로 이익을 볼 때 세상에 대한 나의 태도가 어떻게 변하는지 놀랍습니다. 지금 나의 노력은 결정의 자금 관리 측면을 개선하는 데 집중하고 있습니다. 너무 오래 전에 지원/저항 작업을 수행할 수 있기를 바랍니다.

와우 오늘 아침에 그 움직임은 어떻습니까! 그 파도를 잡지 못한 것이 너무 아쉽습니다... 하지만 다시 이 시스템은 큰 움직임을 잡아서 이기지 못합니다. 적어도 내가 그것을 이기는 방법은 cci가 옳을 때 높은 확률의 역방향에서 7핍을 찾고 있습니다. 내가 기억해야 할 것은 하루에 3번 7핍이 하루에 21핍이라는 것입니다. 매일 그렇게 하거나 어느 정도의 신뢰도로 그 수준에 근접한다면 단시간에 수백만 달러를 버는 데 활용할 수 있는 훌륭한 시스템입니다. 몇달. 목표를 잘 지켜서 시장의 화려함에 정신을 빼앗기지 말아야 합니다. 어느 정도의 신뢰성으로 포착할 수 없다면 그 모든 화려함은 쓸모가 없습니다. 나는 지금까지 내가 연구한 다른 어떤 것보다 이 시스템이 있는 그대로의 신뢰성이 더 높다고 생각합니다. 그래서 나는 여전히 그것에 대해 연구하고 있습니다.

 

패턴을 보고 있는 것 같아요.

마지막으로 오늘 아침에 일어난 것과 같은 큰 움직임이 있었을 때...

프로그램은 뒤따르는 되돌림 반전 사이에서 세 번의 거래를 했습니다. 1개의 숏 포지션과 2개의 롱 포지션을 취했습니다.

그것은 큰 움직임에서 정점에서 내려오고 있던 숏을 이겼습니다. 그리고 첫 번째 롱포지션을 잃고 두 번째 롱포지션을 획득했습니다. 두 번째는 반전 측면에서 실제로 더 좋았습니다(분명히)

그래서...

내 생각은 지금 당장은 이러한 조건을 인식하도록 프로그래밍할 수 있을 때까지 수동으로 롱 포지션을 취하는 것을 방지할 수 있다는 것입니다. 왜냐하면 내가 취할 수 있는 첫 번째 롱 포지션은 내가 취할 수 있는 두 번째 롱 포지션보다 더 낮은 확률을 마지막 사이클에서 볼 수 있기 때문입니다. 따라서 저는 지금 수동으로 롱 포지션을 차단하고 이를 모니터링할 것입니다. 여기서 차이를 만들기 위해 너무 많은 패자를 막을 필요는 없습니다.

나는 또한 이것이 내가 1.2781에 그려진 저항선 바로 아래에서 거래되고 있음을 봅니다. 내 지원 저항 히스토그램을 지금 이 코드에서 사용할 수 있도록 하는 방법을 알고 싶습니다...oy

 

좋아 내가 추가했다

부서지다; 방금 게시한 코드의 이 시점에서...

}

i5--;

break;

}[/PHP]

now it's printing the second variable of the array...that's the matches

[PHP]2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 4

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 4

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 3

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 3

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 2

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 5

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 5

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 5

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 5

2006.10.31 10:50:11 2006.10.27 13:03 Support and Resistance EURUSDm,H1: Ohist: 0 5

이제 데이터 유형 변환 및 삽입을 통해 수준을 얻는 방법을 알아낼 수 있다면 ....흠

 

안녕하세요 아라곤

저도 이 시스템을 가지고 놀고 있지만 결과가 다릅니다.

이렇게 친절하게 마지막 날의 어느 날 스크린샷을 찍을 수 있나요??

또한 내 알람 창은 Cyberia 경고로 보입니다 - eur/usd를 판매하지만 시스템은 gbp/usd를 판매합니까 ?? (저는 2개의 Windows eur/usd, gbp/usd를 실행 중입니다)

도움과 정보 감사합니다

베구

파일:
 
forex2006:
안녕하세요 아라곤

저도 이 시스템을 가지고 놀고 있지만 결과가 다릅니다.

이렇게 친절하게 마지막 날의 어느 날 스크린샷을 찍을 수 있나요??

또한 내 알람 창은 Cyberia 경고로 보입니다 - eur/usd를 판매하지만 시스템은 gbp/usd를 판매합니까 ?? (저는 2개의 Windows eur/usd, gbp/usd를 실행 중입니다)

도움과 정보 감사합니다

베구

내가 알람으로 구축한 것은 특별히 eurusd 쌍 만을 위한 것임을 이해하십시오. 코드에서 gbpusd로 변경할 수 있지만 최적화된 쌍 외에 다른 쌍에서 euroalert 버전을 실행하지 않는 것이 좋습니다.

스크린샷을 게시하여 무엇을 얻고자 하는지 잘 모르겠습니다. 사실 지금은 개발하느라 너무 바빠서 그렇게 하기에는 미안합니다. 아마도 당신이 그것을 통해 배우고자 하는 것이 정확히 무엇인지 더 잘 이해할 수 있을 때.

알겠습니다. 가치가 있다면 무엇이든 가십시오.

파일:
aleerteuro.gif  61 kb
 

좋아, 수동으로 거래를 개선하는 방법에 대한 교훈을 얻은 것 같습니다... 데모는 롱 포지션을 취했고 이겼고 내 라이브 계정은 롱 거래가 차단되었기 때문에 되지 않았습니다...오이 lol 난 갈거야 길고 짧은 것을 모두 허용하기 위해 뒤로 ....내가 거래 천재가 아니라는 증거. 다른 이론은 흠잡을 데 없는 것으로 판명되었습니다...

위쪽에서는 배열과 루프가 더 잘 작동하도록 하고 있습니다.

참고로,

http://www.212movie.com/

 

데이터 변환 문제를 해결했습니다. 코드가 이 루프를 실행하기 전에 이전 루프에서 가격 *10000의 모든 값을 정수 배열로 로드하도록 했습니다. 이제 이 배열에서 단순히 interger 배열을 호출합니다.

int ct5=0,i5=NumberOfBars;

int level=0,matches=0;

// This loop cycles TotalOMatches thru the OpenHistogram looking for identical price levels and creates histogram of all unique open levels and their associated matches

for(ct5=NumberOfBars;ct5>0;ct5--)

{

//Print("bar: ",i5," Ohist: ",OpensInt," ",TotalOMatches);

while(OpenHistogram[level][matches] == OpenHistogram[OpensInt][TotalOMatches])

{

level++;

matches++;

//Print("Ohist: ",Ohist," ",TotalOMatches);

Print("cycle: ",i5," Ohist: ",OpensInt," ",TotalOMatches);

if(OpenHistogram[level][matches] != OpenHistogram[OpensInt][TotalOMatches])

{

OpenHistogram[level][matches] = OpenHistogram[OpensInt][TotalOMatches];

// We print the result

Print("Open Histogram: ",OpenHistogram[level][matches]);

Print ("Open Histogram2: ",OpenHistogram[OpensInt][TotalOMatches]);

}

i5--;

break;

}[/PHP]

this is the output...

[PHP]2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 1 Ohist: 12730 3

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 2 Ohist: 12730 3

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 3 Ohist: 12725 2

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 4 Ohist: 12722 2

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 5 Ohist: 12730 3

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 6 Ohist: 12713 1

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 7 Ohist: 12684 2

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 8 Ohist: 12679 4

2006.10.31 14:38:28 2006.10.27 19:59 Support and Resistance EURUSDm,H1: bar in loop: 9 Ohist: 12666 2

아직 문제가 남아있습니다...

루프 1,2 및 5의 막대가 모두 동일한 것을 볼 수 있습니다. 따라서 이것이 지금 추출된 데이터를 관리하는 동안 여전히 각 가격 수준에 대해 하나의 항목만 있는 통합 히스토그램을 만들지 않습니다....

히스토그램 끝에 고유한 값을 추가해야 하는 부분이 여전히 작동하지 않습니다....흠.. 2차원 배열은 고사하고 배열에 익숙하지 않을 뿐입니다. 이 작업을 수행하는 방법을 아는 사람에게는 내가 무엇을 잘못하고 있는지 매우 분명합니다.