모든 것이 매우 간단합니다! x1, y1 및 x2, y2 - 첫 번째 세그먼트의 정점 좌표. x3, y3 및 x4, y4 - 두 번째 세그먼트의 정점 좌표.
교차점을 찾기 위해 선의 방정식을 작성합니다. 첫 번째 방정식: (x-x1)/(x2-x1)=(y-y1)/(y2-y1); 두 번째 방정식 (x-x3)/(x4-x3)=(y-y3)/(y4-y3); 이 방정식은 우리가 필요로 하는 두 점을 통과하는 직선을 정의합니다. 이 방정식에서 다음 공식을 사용하여 x와 y를 찾습니다. x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)- (y3-y4)*(x2-x1)); y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3); 우리 선들이 교차하기 때문에 우리가 찾아야 할 좌표 (x, y)와의 공통 교차점이 있습니다. 교차점이 우리 세그먼트에 속하도록 하려면 제한해야 합니다. 즉, 조건을 확인합니다. 만약 (((x1<=x)and(x2>=x)and(x3<=x)and(x4 >=x))or((y1<=y)and(y2>=y)and(y3<= y) 및(y4>=y))) 이 세그먼트의 교차점이 있고 그렇지 않은 경우 교차점이 없습니다. 또한 기울기 계수를 사용하여 이러한 세그먼트의 평행도를 확인해야 합니다. k1:=(x2-x1)/(y2-y1); k2:=(x4-x3)/(y4-y3); 여기서 k1과 k2는 ОХ 축의 양의 방향에 대한 세그먼트 경사각의 접선입니다. k1=k2인 경우 세그먼트는 평행하므로 교차점이 없습니다.
모든 것이 매우 간단합니다! x1, y1 및 x2, y2 - 첫 번째 세그먼트의 정점 좌표. x3, y3 및 x4, y4 - 두 번째 세그먼트의 정점 좌표.
교차점을 찾기 위해 선의 방정식을 구성합니다. 첫 번째 방정식: (x-x1)/(x2-x1)=(y-y1)/(y2-y1); 두 번째 방정식 (x-x3)/(x4-x3)=(y-y3)/(y4-y3); 이 방정식은 우리가 필요로 하는 두 점을 통과하는 직선을 정의합니다. 이 방정식에서 다음 공식을 사용하여 x와 y를 찾습니다. x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)- (y3-y4)*(x2-x1)); y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3); 우리 선들이 교차하기 때문에 우리가 찾아야 할 좌표 (x, y)와의 공통 교차점이 있습니다. 교차점이 우리 세그먼트에 속하도록 하려면 제한해야 합니다. 즉, 조건을 확인합니다. 만약 (((x1<=x)and(x2>=x)and(x3<=x)and(x4 >=x))or((y1<=y)and(y2>=y)and(y3<= y) 및(y4>=y))) 이 세그먼트의 교차점이 있고 그렇지 않은 경우 교차점이 없습니다. 또한 기울기 계수를 사용하여 이러한 세그먼트의 평행도를 확인해야 합니다. k1:=(x2-x1)/(y2-y1); k2:=(x4-x3)/(y4-y3); 여기서 k1 및 k2는 ОХ 축의 양의 방향에 대한 세그먼트 경사각의 접선입니다. k1=k2인 경우 세그먼트는 평행하므로 교차점이 없습니다.
아니면 아카이브의 누군가가 이미 준비가 되어 있습니까?
뭔가 고통스럽게 복잡합니다... 나는 선의 교차점에 대한 정의를 썼습니다. 하나는 최고 2개, 다른 하나는 최저 2개, 다음 막대보다 더 멀리 있는지 여부에 관계없이. 나는 접선, 즉 선이 그려지는 고점 사이 의 막대 수에 대한 가격 차이의 비율을 사용하여 썼습니다. 따라서, 두 번째 선의 각도의 접선은 낮습니다. 그런 다음 접선을 사용하여 다음 막대의 점 수를 찾았습니다. 한 레그(막대 수)의 값이 변경된 역 공식. 이 라인의 체크 포인트에서 가격 값을 얻습니다. 따라서 최고점의 직선 가격 값이 더 작 으면 교차점이 있습니다.
Leo59 : 제 질문에 관심을 가져주신 Alexey와 Artyom께 진심으로 감사드립니다!
나는 여기에 ...와 같이 썼습니다. 무언가가 고려되고 그려지지만 모든 교차점에서 그런 것은 아닙니다. 뭔가 제대로 작성되지 않았습니다. 그리고 문제가 무엇인지, 나는 이해하지 못합니다.
현재 나는 프로그래밍을 하나도 이해하지 못하고 사랑하는 아내가 오늘 잼데이를 보내고 있다. 그녀는 18세 384개월입니다.
하지만!!! 선은 OUTSIDE 또는 BETWEEN 막대를 교차할 수 있으며 가격(Y 좌표)은 막대에서만 얻을 수 있습니다. 또는 이전 또는 이후에 있지만 교차점이 항상 결정될 수는 없습니다. 나는 이것이 드물다고 말하고 싶다. 위의 사항을 고려하여 이를 염두에 두고 코드를 검토하면 작동할 수 있습니다.
Генератор торговых стратегий Мастера MQL5 значительно упрощает проверку торговых идей. В статье рассказывается о том, как написать и подключить в Мастер MQL5 свой собственный модуль управления открытыми позициями, устанавливающий уровень Stop Loss в безубыток при движении цены в благоприятном направлении, что позволяет защитить прибыль и уменьшить потери. Рассматривается структура и формат описания созданного класса для Мастера MQL5.
ps: CiCustom을 사용하면 모델의 가중치를 변경할 수 있지만 표준 클래스가 있는 표준 표시기(예: CSignalEnvelopes 등)를 사용하면 각 모델의 중요성을 설정하는 방법이 있지만 마법사 에서 아직 사용할 수 없습니다. ? 아니면 이것에 대한 답이 이미 어딘가에서 제안되었을 수도 있습니다.
MT4(Alpari-Demo)에서 기본값(2048 양초)보다 긴 따옴표 아카이브를 파일에 저장하고 싶습니다. 나는 무엇을 삭제하고 "다운로드"를 클릭합니다. MetaQuotes 웹 사이트에서 무언가를 로드하고 있습니다. 다음 그림이 표시됩니다. 상단: 데이터베이스 2049/12358 항목. 양초: 2014년 10월 17일부터 끝에서 두 번째, 마지막 - 1993년 7월 14일. 놓친 사람들은 어디에 있습니까?
두 세그먼트의 교차점 좌표를 찾는 알고리즘을 번역하는 데 도움을 주세요.
기사에서:
모든 것이 매우 간단합니다!
아니면 아카이브의 누군가가 이미 준비가 되어 있습니까?x1, y1 및 x2, y2 - 첫 번째 세그먼트의 정점 좌표.
x3, y3 및 x4, y4 - 두 번째 세그먼트의 정점 좌표.
교차점을 찾기 위해 선의 방정식을 작성합니다.
첫 번째 방정식:
(x-x1)/(x2-x1)=(y-y1)/(y2-y1);
두 번째 방정식
(x-x3)/(x4-x3)=(y-y3)/(y4-y3);
이 방정식은 우리가 필요로 하는 두 점을 통과하는 직선을 정의합니다.
이 방정식에서 다음 공식을 사용하여 x와 y를 찾습니다.
x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)- (y3-y4)*(x2-x1));
y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3);
우리 선들이 교차하기 때문에 우리가 찾아야 할 좌표 (x, y)와의 공통 교차점이 있습니다.
교차점이 우리 세그먼트에 속하도록 하려면 제한해야 합니다. 즉, 조건을 확인합니다.
만약
(((x1<=x)and(x2>=x)and(x3<=x)and(x4 >=x))or((y1<=y)and(y2>=y)and(y3<= y) 및(y4>=y)))
이 세그먼트의 교차점이 있고 그렇지 않은 경우 교차점이 없습니다.
또한 기울기 계수를 사용하여 이러한 세그먼트의 평행도를 확인해야 합니다.
k1:=(x2-x1)/(y2-y1);
k2:=(x4-x3)/(y4-y3);
여기서 k1과 k2는 ОХ 축의 양의 방향에 대한 세그먼트 경사각의 접선입니다. k1=k2인 경우 세그먼트는 평행하므로 교차점이 없습니다.
안녕!
두 세그먼트의 교차점 좌표를 찾는 알고리즘을 번역하는 데 도움을 주세요.
기사에서:
모든 것이 매우 간단합니다!
아니면 아카이브의 누군가가 이미 준비가 되어 있습니까?x1, y1 및 x2, y2 - 첫 번째 세그먼트의 정점 좌표.
x3, y3 및 x4, y4 - 두 번째 세그먼트의 정점 좌표.
교차점을 찾기 위해 선의 방정식을 구성합니다.
첫 번째 방정식:
(x-x1)/(x2-x1)=(y-y1)/(y2-y1);
두 번째 방정식
(x-x3)/(x4-x3)=(y-y3)/(y4-y3);
이 방정식은 우리가 필요로 하는 두 점을 통과하는 직선을 정의합니다.
이 방정식에서 다음 공식을 사용하여 x와 y를 찾습니다.
x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)- (y3-y4)*(x2-x1));
y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3);
우리 선들이 교차하기 때문에 우리가 찾아야 할 좌표 (x, y)와의 공통 교차점이 있습니다.
교차점이 우리 세그먼트에 속하도록 하려면 제한해야 합니다. 즉, 조건을 확인합니다.
만약
(((x1<=x)and(x2>=x)and(x3<=x)and(x4 >=x))or((y1<=y)and(y2>=y)and(y3<= y) 및(y4>=y)))
이 세그먼트의 교차점이 있고 그렇지 않은 경우 교차점이 없습니다.
또한 기울기 계수를 사용하여 이러한 세그먼트의 평행도를 확인해야 합니다.
k1:=(x2-x1)/(y2-y1);
k2:=(x4-x3)/(y4-y3);
여기서 k1 및 k2는 ОХ 축의 양의 방향에 대한 세그먼트 경사각의 접선입니다. k1=k2인 경우 세그먼트는 평행하므로 교차점이 없습니다.
뭔가 고통스럽게 복잡합니다... 나는 선의 교차점에 대한 정의를 썼습니다. 하나는 최고 2개, 다른 하나는 최저 2개, 다음 막대보다 더 멀리 있는지 여부에 관계없이. 나는 접선, 즉 선이 그려지는 고점 사이 의 막대 수에 대한 가격 차이의 비율을 사용하여 썼습니다. 따라서, 두 번째 선의 각도의 접선은 낮습니다. 그런 다음 접선을 사용하여 다음 막대의 점 수를 찾았습니다. 한 레그(막대 수)의 값이 변경된 역 공식. 이 라인의 체크 포인트에서 가격 값을 얻습니다. 따라서 최고점의 직선 가격 값이 더 작 으면 교차점이 있습니다.
그러나 지금까지 이 지표를 찾을 수 없습니다.
...
아니면 아카이브의 누군가가 이미 준비가 되어 있습니까?
Kim님이 기능을 게시했습니다. 이 함수는 선에서 오른쪽으로 그려진 광선 점의 가격을 반환합니다.
x1 - 라인의 첫 번째 좌표의 막대, y1 - 라인의 첫 번째 좌표의 가격. x2 - 라인의 두 번째 좌표의 막대, y2 - 라인의 두 번째 좌표의 가격, x - 가격이 반환될 막대.
두 선 각각에 대한 가격을 찾고 교차하는지 확인할 수 있습니다.
나는 여기에 ...와 같이 썼습니다. 무언가가 고려되고 그려지지만 모든 교차점에서 그런 것은 아닙니다. 뭔가 제대로 작성되지 않았습니다. 그리고 문제가 무엇인지, 나는 이해하지 못합니다.
제 질문에 관심을 가져주신 Alexey와 Artyom께 진심으로 감사드립니다!
나는 여기에 ...와 같이 썼습니다. 무언가가 고려되고 그려지지만 모든 교차점에서 그런 것은 아닙니다. 뭔가 제대로 작성되지 않았습니다. 그리고 문제가 무엇인지, 나는 이해하지 못합니다.
현재 나는 프로그래밍을 하나도 이해하지 못하고 사랑하는 아내가 오늘 잼데이를 보내고 있다. 그녀는 18세 384개월입니다.
하지만!!! 선은 OUTSIDE 또는 BETWEEN 막대를 교차할 수 있으며 가격(Y 좌표)은 막대에서만 얻을 수 있습니다. 또는 이전 또는 이후에 있지만 교차점이 항상 결정될 수는 없습니다. 나는 이것이 드물다고 말하고 싶다. 위의 사항을 고려하여 이를 염두에 두고 코드를 검토하면 작동할 수 있습니다.
Alexey Viktorov 2015.12.12 17:33 # RU
그녀는 18살이 되었다
재계산할 때 자동으로 이미 설정된 이익을 미해결 위치 에서 수정하도록 어드바이저에 삽입해야 하는 항목(명령 세트)을 알려주십시오. 아니면 마지막에 지정된 정류장에 따라 모든 정류장을 수정하는 스크립트가 있습니까?
전략 테스터 에서 변경할 수 있도록 코드를 추가하는 방법을 알려주십시오. 모델 패턴의 가중치를 선택하십시오. m_pattern_0(90) 입력을 변수로 바꿉니다.
나는 OOP를 잘 사용하지 못합니다. 오류는 " 멤버 함수 가 정의 되지 않음"이거나 코드가 단순히 작동하지 않습니다.
답변이 없는 비슷한 질문은 여기 https://www.mql5.com/ru/forum/13484입니다.
ps: CiCustom을 사용하면 모델의 가중치를 변경할 수 있지만 표준 클래스가 있는 표준 표시기(예: CSignalEnvelopes 등)를 사용하면 각 모델의 중요성을 설정하는 방법이 있지만 마법사 에서 아직 사용할 수 없습니다. ?
아니면 이것에 대한 답이 이미 어딘가에서 제안되었을 수도 있습니다.
MetaQuotes 웹 사이트에서 무언가를 로드하고 있습니다. 다음 그림이 표시됩니다.
상단: 데이터베이스 2049/12358 항목.
양초: 2014년 10월 17일부터 끝에서 두 번째, 마지막 - 1993년 7월 14일.
놓친 사람들은 어디에 있습니까?