[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 359

 
sergeev :
모두가 가지고있다
나는 정상에 대해 이야기하고있다
 
drm1 :
나는 정상에 대해 이야기하고있다

정상이란 무엇입니까?
 
Zhunko :
어쩐지 헷갈리네요... 틱, 시작 기능 없이 위치 열기/닫기 작업이 가능한 코드를 보여주세요. strat 기능이 없는 본격적인 Expert Advisor의 코드는?

글쎄요, 사실 포트폴리오로 봐서는 제가 설명드릴 부분이 없습니다! ..-) 먼저 start() 함수에 대한 제 이해와 정리라는 개념이 마음에 들지 않는 이유를 말씀드리자면 그 안에 순환. 시작 기능은 터미널 프로그램의 내부 인터럽트 시스템에서 사용자(또는 오히려 그의 프로그램 - Expert에게)에게 할당된 절차라고 생각합니다. 글쎄, 이 인터럽트 내부에서 주기로 이동하거나 거기에 자신의 인터럽트 시스템을 구성하려면 - 글쎄, 내 손은 아마도 올라가지 않을 것입니다. MQ-학자들이 문서에 작성했지만, 제발 - while() 루프는 당신의 손에 달려 있습니다. 시작()에서 건강에 매달리십시오. 그리고 누가 우리가 init() ?에서 같은 악순환을 반복하는 것을 방지하고 아무도 외부에서 끌어내지 않을 것입니다!. 모든 변수와 상수를 사용할 수 있으며 모든 기능은 동일한 방식으로 작동합니다. 견적을 받고 싶습니까?, 얼마나 자주? 음, 다음은 코드의 예입니다. 빈도가 5초인 경우 마지막 틱에서 수신된 FRESH 견적을 수신하고 Close [0] 배열에 저장합니다.

//------------------------------------------------------------
정수 초기화()
{
부울 끝;
동안(!종료)
{
수면(5000);
인쇄("인용 = ", 닫기[0]);
}
반환(0);
}
//------------------------------------------------ ------
int 시작() {반환(0);}
//------------------------------------------------ ------
int deinit() {반환(0);}
//------------------------------------------------ ------

그건 그렇고, MT5에서 개발자는 이미 사용자에게 몇 가지 중단을 제공했으며 이에 대해 매우 감사합니다! 나는 인용을 거부할 수 없다:

MQL5의 전문가는 여러 유형의 이벤트에 대해 사전 정의된 핸들러 기능을 포함할 수 있습니다.

OnTick - 새 틱의 도착;

OnTimer – 타이머 이벤트

OnTrade - 거래 이벤트;

OnChartEvent – 키보드 및 마우스 입력 이벤트, 그래픽 개체 이동 이벤트, LabelEdit 개체의 입력 필드에서 텍스트 편집 종료 이벤트;

OnBookEvent – Depth of Market(Depth of Market)의 상태를 변경하는 이벤트입니다.


 
Vinin :

정상이란 무엇입니까?
작동하려면 일반 변환기가 전혀 작동하지 않습니다
 
drm1 :
작동하려면 일반 변환기가 전혀 작동하지 않습니다

모두가 작동합니다.
 
sergeev :

모두가 작동합니다.
모두에게 효과가 있는 것이 좋으므로 속도를 늦추고 있습니다.
 
Grein :

글쎄요, 사실 포트폴리오로 봐서는 제가 설명드릴 부분이 없습니다! ..-) 먼저 start() 함수에 대한 제 이해와 정리라는 개념이 마음에 들지 않는 이유를 말씀드리자면 그 안에 루프. 시작 기능은 터미널 프로그램의 내부 인터럽트 시스템에서 사용자(또는 오히려 그의 프로그램 - Expert에게)에게 할당된 절차라고 생각합니다. 글쎄, 이 인터럽트 내부에서 주기로 이동하거나 거기에 자신의 인터럽트 시스템을 구성하려면 - 글쎄, 내 손은 아마도 올라가지 않을 것입니다. MQ-학자들이 문서에 작성했지만, 제발 - while() 루프는 당신의 손에 달려 있습니다. 시작()에서 건강에 매달리십시오. 그리고 누가 우리가 init() ?에서 같은 악순환을 반복하는 것을 방지하고 아무도 외부에서 끌어내지 않을 것입니다!. 모든 변수와 상수를 사용할 수 있으며 모든 기능은 동일한 방식으로 작동합니다. 견적을 받고 싶습니까?, 얼마나 자주? 음, 다음은 코드의 예입니다. 빈도가 5초인 경우 마지막 틱에서 수신된 FRESH 견적을 수신하고 Close [0] 배열에 저장합니다.

 //-------------------------------------------
int init()
{
bool end;
while (!end)
{
Sleep ( 5000 );
Print ( "Котировка = " , Close[ 0 ]);
}
return ( 0 );
}
//--------------------------------------------
int start() { return ( 0 );}
//--------------------------------------------
int deinit() { return ( 0 );}
//--------------------------------------------

드디어! 여기에서 읽어보십시오. Expert Advisor 및 스크립트 시작 시에만 예상 작동으로 작동합니다. 다른 모든 곳에서는 엄격하게 억제됩니다.

코드가 MQL4 언어 표준에 맞지 않습니다. 또한 시스템 호출 중 init 및 deinit 기능의 대기 시간이 2.5초로 제한된다고 어딘가에 기록되어 있습니다. 그런 다음 기능이 강제로 종료됩니다.

 

감정가, 말해! 어떻게 실천할 것인가? 나는 " 볼린저 밴드 " 표시기로 작업하는데 중간 선을 넘은 후 활성화 임계값이 활성화되어야 합니다.

1. 모든 것은 기준에 따라 가격이 <하한선이면 Bay

2. > 상단이면 매도

3. 가격이 중간에 선을 깨면 TrailingStop을 켜십시오.

주의 질문! 후행 정지 임계값을 중간 라인에 어떻게 묶나요?

 
Top2n :

감정가, 말해! 어떻게 실천할 것인가? 저는 "볼린저 밴드" 표시기로 작업하기 때문에 중간 선을 넘은 후 활성화 임계값이 활성화되어야 합니다.

1. 모든 것은 기준에 따라 가격이 <하한선이면 Bay

2. > 상단이면 매도

3. 가격이 중간에 선을 깨면 TrailingStop을 켜십시오.

주의 질문! 후행 정지 임계값을 중간 라인에 어떻게 묶나요?


가장 먼저 떠오른 것:
하단 라인 이 레벨 20이고 상단 라인이 레벨 40이라면 정확히 그 사이의 중간에 위치한 라인은 어떤 레벨에 위치할까요?

나는 당신이 레벨 30에서 빨리 대답할 것이라고 확신합니다. 그리고 이제, 당신이 그것을 모두 계산하는 방법을 찾을 수 있기를 바랍니다. 비록 ... 아마도 당신은 다른 방법을 찾을 것입니다 ... :)

 
Top2n :

감정가, 말해! 어떻게 실천할 것인가? 저는 "볼린저 밴드" 표시기로 작업하기 때문에 중간 선을 넘은 후 활성화 임계값이 활성화되어야 합니다.

1. 모든 것은 기준에 따라 가격이 <하한선이면 Bay

2. > 상단이면 매도

3. 가격이 중간에 선을 깨면 TrailingStop을 켜십시오.

주의 질문! 후행 정지 임계값을 중간 라인에 어떻게 묶나요?



1. "모든 것이 표준에 따릅니다. 가격이 < 최종선 이면 베이" - 예, 더 높으면 보증금을 구매 하세요... :-))) 읽고 쓰는 법 배우기 시작 - 일단 베이 는 영어 에서 ... 어쩐지 오타가 아닌게 확실해...

2. Bolenger에 따르면 상단 및 하단 경계에 직접 액세스할 수 있습니다. 또는 오히려 해당 값에 대해... 이러한 값을 얻습니다.

"최하선이 20레벨이고 상선이 40레벨이라면 정확히 그 중간에 위치한 선은 어느 수준에 위치할까요?" -

사람들이 이미 제안했듯이 ...

얻은 값을 더한 다음이 값에서 2로 나눕니다. 결과적으로이 표시기의 중간 선이 있습니다. 이 값에서 트롤을 켜기위한 임계 값을 짜십시오.

추신 Artem, 귀하의 답변의 스타터의 "개선"에 대해 유감스럽게 생각합니다. - Bay 는 정말 그것을 좋아했습니다... 그리고 이 문제에 대한 제 의견 이후에 - 이 "후행 정지를 라인 으로 전환하기 위한 임계값"을 완료해야 했습니다. 중간에."