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

 
r772ra , artmedia70

감사합니다. 모든 것이 작동했습니다!
 
artmedia70 :

힌트를 드리겠습니다.

NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point --- 인접 막대 간의 차이. 조건이 충족되지 않으면 -> Return(False); (거짓말을 돌려줘)

전체 루프를 거친 후 true를 반환합니다.

다르게 할 수 있습니다.

NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point 조건이 true인 경우 인접한 막대의 카운터(처음에는 0임)를 1만큼 증가시키고,

이 조건이 거짓이면 인접한 막대의 카운터 값을 반환합니다.

함수에서 반환하는 숫자가 클수록 설정에 더 많은 권한이 부여됩니다. 0이 반환되면 설정이 없습니다.



제 생각에는 모든 것을 정수로 비교해야 하기 때문에 가격을 정규화할 필요가 없습니다. 여기 에서 MathAbs(이중 값) 함수를 사용하는 것이 더 좋습니다. 그러면 가격 중 하나가 다른 가격보다 높으면 출력의 부호가 항상 양수입니다.

또 다른 그런 순간. 우리는 사이클이 전혀 필요하지 않다는 것이 밝혀졌습니다!

기능을 수행하고 거기에서 카운터를 시작하는 것이 더 쉽습니다. 우리는 극값에 대해 2개의 인접 막대를 지속적으로 확인합니다. 동일하면 카운터가 1 증가합니다(초기에는 당연히 0이 됨). 또한 다음 새 막대 에서 유사한 검사를 수행합니다. 극값이 같으면 카운터에 1을 추가하는 식입니다. 코스에는 사이클이 필요없겠죠?

결국 우리는 같은 극한값으로 얼마나 많은 막대를 갖게 될지 모르기 때문에 히스토리에서 shift 매개변수를 설정하는 것은 의미가 없습니다.

 
Notter :

고주파 거래에 대해 많은 이야기가 있습니다. 그들은 HFT가 모든 사람을 이긴다고 말합니다. 우리에 대한 주요 이점은 무엇입니까? 짧은 핑 자체가 좋다는 사실은 이해가 되지만, 트랜잭션은 밀리초 이상 걸립니다 :) HFT는 어떤 새로운 품질로 나타나며 알고리즘은 근본적으로 어떻게 다른가요?

고맙습니다.


당신은 "Zaporozhets"와 "이것들"에 있습니다 - "Ferrari". 추월 할 수 있습니까? (알고리즘에 관한 것이 아닙니다)
 
YOUNGA :

당신은 "Zaporozhets"와 "이것들"에 있습니다 - "Ferrari". 추월 할 수 있습니까? (알고리즘에 관한 것이 아닙니다)
Zaporozhets는 조금 마무리해야합니다. 그러면 페라리만 "만들 수" 있는 것이 아닙니다.
 
YOUNGA :

당신은 "Zaporozhets"와 "이것들"에 있습니다 - "Ferrari". 추월 할 수 있습니까? (알고리즘에 관한 것이 아닙니다)

그러나 근본적인 차이가 있습니다.

최소한 위험을 감수/반환하세요. HFT가 포인트로 이익을 얻는다면 그는 분명히 정지를 하지 않으며 다른 기준에 따라 포지션을 청산해야 합니다. 그것이 내가 이해하고 싶은 것입니다. 포즈에 반하는 틱은 하고 빠져나갈 수 있습니다. :) 그런데 그 수익은 어디서 나오는 걸까요?

 
다시 도움을 요청합니다.


SMA가 가격을 교차하는 쪽을 결정하는 방법은 무엇입니까?
 
hoz :


제 생각에는 모든 것을 정수로 비교해야 하기 때문에 가격을 정규화할 필요가 없습니다. 여기 에서 MathAbs(이중 값) 함수를 사용하는 것이 더 좋습니다. 그러면 가격 중 하나가 다른 가격보다 높으면 출력의 부호가 항상 양수입니다.

또 다른 그런 순간. 우리는 사이클이 전혀 필요하지 않다는 것이 밝혀졌습니다!

기능을 수행하고 거기에서 카운터를 시작하는 것이 더 쉽습니다. 우리는 극값에 대해 2개의 인접 막대를 지속적으로 확인합니다. 동일하면 카운터가 1 증가합니다(초기에는 당연히 0이 됨). 또한 다음 새 막대에서 유사한 검사를 수행합니다. 극값이 같으면 카운터에 1을 추가하는 식입니다. 코스에는 사이클이 필요없겠죠?

결국 같은 극한값을 가진 막대가 몇 개인지 알 수 없으므로 히스토리에서 shift 매개변수를 설정하는 것은 의미가 없습니다.

MathAbs()는 자연스럽게 거기에 필요합니다. 저는 뒷자리에 앉아서 직접 작성했습니다. 특히 힌트를 주기 때문에 많이 쓰지 않을 것입니다. 실수를 비교하려면 정규화가 필요하고 정수와 비교하지 않기 때문에 가격을 정규화합니다(결국 3* Point 는 int* double - int를 double 로 변환). 나는 여전히 각 눈금의 막대를 비교하도록 함수를 만들 것입니다. 나는 즉시 실제로 생각하는 데 익숙합니다. 어떤 이유로 Expert Advisor가 실생활에서 연결이 끊어지면 Expert Advisor를 다시 시작할 때 카운터 값을 저장하는 변수가 0으로 재설정됩니다. 이것은 내장이 아닙니다. 이것은 데이터 손실입니다. 틱별 검색(또는 더 나은 속도 최적화를 위한 바별 검색)의 경우 이 경우 EA를 다시 시작하는 것이 그렇게 끔찍하지 않습니다. 모든 것을 다시 계산합니다. 따라서 각각의 새 막대에서 지정된 수의 인접 막대가 동일한지(잘 지내고 있는지)를 비교하고 지정된 기준에 따라 동일한 연속 막대의 수를 반환하는 별도의 함수를 만드는 것이 좋습니다. 함수로 전달된 막대의 수에 따라 처음부터 역사 속으로 깊이 들어가게 됩니다(10개 - 눈을 위해 ...).

일반적으로 ... 이와 같은 ...

 
md4RM :
다시 도움을 요청합니다.


SMA가 가격을 교차하는 쪽을 결정하는 방법은 무엇입니까?

만약 (

iMA(Symbol(), Period() , 1 , 0, MODE_SMA, PRICE_CLOSE, 2 ) <= SMA(blah, blah, blah, 2 )

그리고

iMA(Symbol(), Period(), 1 , 0, MODE_SMA, PRICE_CLOSE, 1 ) > SMA(ㅋ, ㅋ, ㅋ, 1 )

) 그 다음에

{가격이 첫 번째 막대에서 SMA 상향식을 넘어}

 

덕분에 오류를 찾았습니다.

 

안녕하세요! 도와주세요, 제발. VininI_HMA 표시기를 다운로드하여 EA 템플릿에 삽입하려고 했지만 거래 EA가 열리지 않습니다. 컴파일이 잘 되었습니다.

판매 조건(sigg1==EMPTY_VALUE)&&(sigg2!=EMPTY_VALUE)&&(sigg1!=EMPTY_VALUE)&&(sigg2!=EMPTY_VALUE)

구매 조건(sigj1==EMPTY_VALUE)&&(sigj2!=EMPTY_VALUE)&&(sigz1!=EMPTY_VALUE)&&(sigz2!=EMPTY_VALUE)

이중 sigj1 = iCustom(NULL,0,"VininI_HMA_sound&Alert", 기간 , 방법, 가격, sdvig,0,1);
이중 sigj2 = iCustom(NULL,0,"VininI_HMA_sound&Alert",기간,방법,가격,sdvig,0,2);
이중 sigs1 = iCustom(NULL,0,"VininI_HMA_sound&Alert",기간,방법,가격,sdvig,1,1);
이중 sigs2 = iCustom(NULL,0,"VininI_HMA_sound&Alert",기간,방법,가격,sdvig,1,2);
이중 sig1 = iCustom(NULL,0,"VininI_HMA_sound&Alert",기간,방법,가격,sdvig,2,1);
이중 sigc2 = iCustom(NULL,0,"VininI_HMA_sound&Alert",기간,방법,가격,sdvig,2,2);

제발 말해줘, 내가 뭘 잘못했지?

사유: