EA N7S_AO_772012 - 페이지 23

 

이제 FLG 기능에 포함되지 않은 플래그에 대해 조금 그래서 그들이 어떻게 독립적인지.

가) 플래그 - 초기화 플래그, 처음부터가 아니라 실패 또는 작업 시작 후 입력 신호가 있는 경우(이 신호는 긴 특성을 가짐) 포즈를 열지 않도록 해야 합니다. 왜냐하면 이미 너무 늦었을 수도 있습니다. 논리는 VSR !=0 즉, 다음과 같습니다. 신호가 있으면 금지를 설정하십시오. Flg=false; 신호가 사라지자 마자 플래그가 재설정됩니다.

if (!Flg){if (VSR() ==0) {Flg=true; 반환(0);}}

나) Flq – 흥미로운 플래그, 한 막대에서 두 번째 위치를 여는 것을 금지합니다. 처음에는 한 바 손실로 이전 포지션을 청산할 때 오픈 포지션 을 금지하고 싶었지만, BuSll 기능을 추가할 때 이것을 구현하면 쉽게 될 것입니다. 한편, 그러한 옵션이 있습니다.

포지션을 열 때 설정됩니다.

{if (Trd_Up_X && VSR() > 0 && 부<HM_Up_X ) {

if (MOS( 0, lot, sl, tp, WindowExpertName(), mn)>=1) {Flq=false;}}

if (Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y ) {

if (MOS( 1, lot, sl, tp, WindowExpertName(), mn)>=1) {Flq=false;}}

그건 그렇고, 이전에 이 함수의 수정 사항에 대해 썼습니다.

4시간마다 초기화됩니다. 일부 쌍의 경우 이것이 많다고 생각되면 함수에 추가할 수 있습니다. H1() 일부 커플을 제외한 모든 사람에 대해 매시간 플래그 재설정 if (Symbol()!="GBPJPY" || Symbol()!="USDCHF"){ Flq = true ; }

 
WitoHOH писал(а) >>

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

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

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

최적화되지 않은 이유를 아셨나요?

 
SHOOTER777 писал(а) >>

최적화되지 않은 이유를 아셨나요?

아니요.

특별한 시간은 없었습니다.

지난 번은 역사의 부족으로 인해 그런 잼이었습니다.

지금 이야기를 다운로드 중입니다.

아침까지 알려드리겠습니다.

 
SHOOTER777 писал(а) >>

최적화가 되지 않은 이유를 아셨나요?

최적화를 원하지 않습니다.

동일한 기록 데이터에서 일곱 번째 버전이 최적화되었습니다.

마지막은 그렇지 않습니다.

모든 곳에서 결과 0

 

전문가가 재업로드했습니다. 깨진 버전일 수 있습니다. 포럼이 다운되었습니다.

또한 전문가의이 라인에주의하십시오.

EA가 거래할 때 초기 잔액, 최소 및 최대.

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

금지는 bool FLG(int cs) 함수에서 구현됩니다.

파일:
 

고문의 논리에 대해 조금 더.

문제가 있습니다-빈번한 간격. 격차가 있는 경우 시장 진입을 위한 최적화된 매개변수와 조건이 일치하지 않습니다. 지표 값과 가격이 깨집니다. 복구에는 시간이 걸립니다. AO의 경우 12시간으로 결정했으며, 상당한 차이는 가격이 평소보다 20포인트 이상 변동하는 것으로 간주합니다(일부 페어의 경우 다른 값이 있을 수 있고 또 그래야 함).

그래서 무엇을 완료:

먼저, 우리는 hepa가 있었는지 여부를 결정합니다.

문자열 dttm = StringConcatenate (연도(),".",월(),".",일());
날짜 시간 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 = true인 경우 금지 조건은 다음과 같습니다.

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

그러나 함수의 올바른 실행에 대해 의문점이 있습니다.

iBarShift(NULL,0,smtm);

이렇게 쓰는게 나을지도.

iBarShift(NULL,60,smtm,true); 존재하지 않지만 기본적으로 마지막은 모두 같은 false???

생각과 제안을 기다립니다.

 
SHOOTER777 >> :

또한 전문가의이 라인에주의하십시오.

EA가 거래할 때 초기 잔액, 최소 및 최대.

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

금지는 bool FLG(int cs) 함수에서 구현됩니다.

그러한 제한이 필요한 이유는 무엇입니까?

 
capellini писал(а) >>

그러한 제한이 필요한 이유는 무엇입니까?

필요하지 않다면 사용하지 마세요! 실물과 다중통화로 어드바이저를 준비하고 있습니다. 미래에는 고문이 아래에서 모두 거래가 금지되는 포크가 될 것이므로 불가항력의 경우 모든 것을 병합하지 않고 위에서는 손에 쥔 젖꼭지가 크레인보다 낫습니다) )) MM 그러나

 

그리고 이제 들판이나 정면에서 리드))

지난 주말에 L9 버전을 위한 파일 세트를 준비할 시간이 없었고, 휴일을 포함하여 늦게 작업을 완료했습니다)))

그래서 실험을 하기로 했습니다. 나는 지난 주와 다른 버전의 세트와 함께 L9 버전을 넣었습니다.

이틀 만에 얻은 것: 잔액 -$70 자기자본 +$420 가자!

 
SHOOTER777 писал(а) >>

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

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

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

도움이 되었습니다.

최적화가 사라졌습니다.

외부 변수에서 그러한 변수를 제거하는 것이 합리적일 수 있습니까?

최적화할 때와 실제 작업에서도 더 쉬울 것입니다.

잔액을 변경할 때마다 EA를 다시 컴파일할 필요가 없습니다.