EA N7S_AO_772012 - 페이지 22

 
capellini писал(а) >>

다음으로 묻고 싶은 것은...

EA가 최적화되지 않은 쌍이 있으며 첫 번째 결과가 나타나지도 않습니다. 예를 들어 USDCHF.

무엇으로 연결할 수 있습니까?

그저 그래! 다시 스물 다섯.

스물여섯 번째에 다시 한 번 반복하겠습니다.
가격 이동을 위한 동일한 도구는 없으며 유사한 도구가 있습니다.
테스트를 통해 우리는 작업을 더 쉽게 만들고 차트를 통해 어디에서 언제 입력할지 추측하지 않습니다.
따라서 결과가 없거나 나쁘거나 적은 경우 최적화 범위와 기간을 변경해야하며 여전히 SL 및 트롤 수준으로 재생할 수 있습니다. 일부 페어의 경우 기간을 3주 또는 2주로 줄이고 엔 크로스의 경우 SL을 높이려고 했습니다. 일반적으로 실증적으로 최적화 과정에서 좋은 결과를 얻을 수 있는 최상의 값을 찾고 있습니다. 결과적으로 나는 매개 변수가 상대적으로 정확하다고 생각하는데, 이는 유전학으로 최적화할 때 10,000번 실행에 6-8,000개의 수익성 있는 조합을 제공합니다. 그런 다음 큰 수의 법칙에 따라 이익 확률은 손실 확률의 두 배입니다. 즉, 최적화는 형식에 불과하며 상당한 주 수를 사용하면 이익이 손실을 최소 두 배 이상 초과합니다. 정말 더.
따라서 누가 어떻게 테스트하고 누가 어떤 결과를 얻었는지 공유하십시오. 싱글에서는 쉽지 않다.
이제 나는 주간 잔고가 +$690이고 자기자본이 있습니다. 자기자본은 +$750보다 약간 높으며 낮에는 $1000 미만이었습니다. 거의 모든 위치가 닫혔습니다.

 

오류 정보. 여기 startM1() 함수에 있습니다. 이 때문에 테스터와 데모의 첫 거래에 차이가 있었다.

//+----------------------------------------------- --------------------+
무효 startM1() { 티켓 = -1, RefreshRates();
if (총 < HM_ALL) { BuSll(0,1,772012000); cmnt();
if( !(DayOfWeek( ) == 1 && Hour( ) <2) && !(DayOfWeek( ) == 5 && Hour( ) >=18))
{if (Trd_Up_X && VSR() > 0 && bu<HM_Up_X&&Flq) {
if (MOS( 0, lot, sl, tp, WindowExpertName(), mn) == 1) {Flq=false;}} // >=로 대체

if (Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y&&Flq) {
if (MOS( 1, lot, sl, tp, WindowExpertName(), mn) == 1) {Flq=false;}} // >=로 대체
}}}
//+----------------------------------------------- --------------------+

오류는 중요하지 않습니다. 한 막대에서 다른 거래를 여는 것에 대한 금지가 해결되지 않았기 때문입니다.

새 버전에서는 수정할 것이지만 지금은 펜으로 가능합니다.

 

SHooter777ру:  Советник понравился. После сегодняшнего слива демки оптимизацию делаю под 200$ (MiniForex). В принципе почти не отличается от 2000$. в оптимизационных сетах стоплоссы ставлю 50 с шагом 10, но все равно лучшие профиты со стоплоссами от 500 получаются. Уже в конечных сетах подбираю приемлемые в пределах 50-200 вручную. Влияет ли шаг и стоп в сетах на торговлю? (По наблюдениям не заметил). Еще вопрос: Можно ли оптимизировать под MicroForex (мин. лот 0,01)? Торгую на Pro Finance Group Inc платформа PFG FX Trader 4 (поддерживает MQL4). К сожалению на МикроФорексе нет демки.

일반적으로 실생활에서 어드바이저를 사용해 본 사람이 있습니까? 데모와 많이 다른가요?


사진은 이번 주 데모에서 SHooter777ra 세트를 사용한 거래를 보여줍니다. +800 거래 잔고가 있는 상태에서 3쌍에 대한 고문을 더 시작하기로 결정했습니다. 그리고 ... 프레이어의 탐욕이 무너졌습니다 - 100개 미만의 무료 자금이 있었고 물론 반대 위치가 열리지 않고 계정이 거의 병합되었습니다.


모두 즐거운 거래하세요!

파일:
 

나는 Expert Advisor를 다운로드했고 다른 사람의 연도를 빨리 읽으려면 mql 언어에서 더 전문적이어야 하고 자신의 코드를 작성하려면 최소한의 지식과 경험이 필요하다고 다시 확신했습니다. 작성자 여러분, 코드를 게시하면 그 안에 주석을 작성하고 모든 코드를 블록으로 나눕니다.

Expert Advisor는 흥미로울 수 있습니다. 아마도 그는 자신의 경험에서 그를 위해 무언가를 추천할 것입니다. 그러나 원시 코드를 파헤치고 미래를 위해 그것을 받아들이기를 꺼립니다. 시간은 소중합니다.

 
.
 

최신 버전이 작동하지 않습니다.

옵티마이저는 첫 번째 단계에서도 단일 거래를 열지 않습니다.

이전 Expert Advisor에 최적화된 매개변수가 있는 테스터도 유사하게 작동합니다.

 

실례합니다! 나는 30분 동안 지침을 썼고 이 버그가 많은 포럼은 글자를 삼킬 뿐만 아니라 모든 텍스트가 사라졌습니다.

이제 Word로 작성하여 여기에 붙여넣겠습니다. 조금만 기다려

 

L 9의 새 버전에는 여러 마이너가 포함되어 있지만 필요한 추가 및 변경 사항이 있다고 생각합니다.

첫 번째: FLG () 함수가 추가되었습니다. 두 가지를 담당합니다.

//+----------------------------------------------- --------------------+

부울 FLG(int cs)

{ intAE = AccountEquity( ) ;

스위치(cs)

{케이스 0: if((DayOfWeek( ) == 5 && Hour( ) >=22) || (TrBlnc && (AE > UBlnc)))

반환(참), 그렇지 않으면 반환(거짓),

사례 1: 문자열 dttm = StringConcatenate (Year(),".",Month(),".",Day());

날짜 시간 smtm=StrToTime(dttm);

부울Gp;

int shft = iBarShift(NULL,0,smtm);

이중 iOpn = iOpen(NULL,0,shft); 이중 iCls = iClose(NULL,0,shft+1);

이중 dOC = MathAbs((iOpn - iCls)/(Point*10)) ;

if (dOC>20) Gp = true ; 인쇄(GP);

문자열 var1=TimeToStr(smtm,TIME_DATE|TIME_SECONDS);

if((TrBlnc && ((AE > UBlnc)||(AE < DBlnc))) || (!Flq)

|| ((DayOfWeek( ) == 1 && Hour( ) <2) || (DayOfWeek( ) == 5 && Hour( ) >=18))

|| ((DayOfWeek( ) == 1 && Hour( ) <14) && Gp))

반환(거짓), 그렇지 않으면 반환(참),

}

}

//+----------------------------------------------- --------------------+

a) FLG ( 0 ) – 특정 조건 에서 열린 포지션의 강제 청산.

b) FLG ( 1 ) - 특정 조건에서 포지션을 여는 것을 금지합니다.

추가 조건 및 void startM1() 함수 및 기타 장소를 "어수선하게"하지 않습니다.

(( DayOfWeek ( ) == 5 && Hour ( ) >=22) 인 경우 한 주의 끝을 강제 종료하고 자산을 특정 크기로 늘리기로 선택했습니다.

일정 금액 이상의 간격으로 개봉 금지 if ( dOC >20) Gp = ; 자본이 다음으로 증가하면 if (( TrBlnc && (( AE > UBlnc )

또는 ||( AE < DBlnc ))로 감소)

 

따라서 테스트하거나 최적화하는 경우 Equity가 매개변수에 지정된 범위에 있는지 확인하십시오.

부울 TrBlnc = true; 정수 StrtBlnc = 3000; 정수 DBLnc = 1500; 정수 UBlnc = 4000;

또는 추가하다 ~에 int 초기화() 함수 라인 if ( IsOptimization () ) TrBlnc = 거짓;//if ( IsTesting() ) TrBlnc = 거짓;

 

다음은 변경 사항이 아닐 가능성이 더 높지만 더 중요한 추가 사항이며 Delta_G12를 나타냅니다. 이제 델타 AO 가 아닙니다. 및 G12() 함수,

그 매개변수에 따라 외부 정수 항목; 다음과 같은 경우 이전 AO가 사용됩니다. 증가 = 1,

또는 만약 Indctr = 2 다른 기능 또는 표시기(나는 내 것을 사용, TSM 첨부된), 정수라면 인덱스=0 그런 다음 신호는 두 표시기 &&에서 합산됩니다.

//+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+

더블 G12() {스위치(Indctr)

{케이스 0:

iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2);

iCusTSM_1 = iCusTSM(24, 1); iCusTSM_2 = iCusTSM(24, 2);

Dlt_AO12 = iCusAO_1 -iCusAO_2;Dlt_TSM12 = iCusTSM_1-iCusTSM_2;

if ( Dlt_AO12>=0 && Dlt_TSM12 <=0) return (0);

if ( Dlt_AO12<=0 && Dlt_TSM12 >=0) return (0);

반환(Dlt_AO12);

사례 1:

iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2);

Dlt_AO12 = iCusAO_1 -iCusAO_2; 반환(Dlt_AO12);

사례 2:

iCusTSM_1 = iCusTSM(24, 1); iCusTSM_2 = iCusTSM(24, 2);

Dlt_AO12 = iCusTSM_1-iCusTSM_2; 반환(Dlt_AO12);}}

//+----------------------------------------------- ------------------------------------+

이중 iCusTSM(int pr, int shft)

{ return (iCustom(NULL, 240, "iCus_N7S_TSM_forExp",pr,1,shft)); }

//+----------------------------------------------- ------------------------------------+

사유: