그래픽 개체를 만드는 방법을 배우는 방법? MQL4. - 페이지 2 123456789 새 코멘트 forexman77 2015.03.30 16:35 #11 barabashkakvn : 포인트의 시간과 날짜를 알고 있으면 bool TrendCreate() 만 호출하면 됩니다. 조언 해주셔서 감사합니다. 모든 것이 더 쉬워졌습니다. 다음과 같이 했습니다. #property strict #property script_show_inputs //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { long chart_ID= 0 ; // ID графика string name= "TrendLine" ; // имя линии int sub_window= 0 ; // номер подокна //--- сбросим значение ошибки ResetLastError (); //--- создадим трендовую линию по заданным координатам if (! ObjectCreate (chart_ID,name, OBJ_TREND ,sub_window,Time[ 41 ], 1.0656 ,Time[ 65 ], 1.0494 )) { Print ( __FUNCTION__ , ": не удалось создать линию тренда! Код ошибки = " , GetLastError ()); return ; } } //+------------------------------------------------------------------+ 추신: 내가 이해할 수 없는 한 가지는 이 예에서 정확히 이 숫자를 선택한 이유입니다. InpDate1= 35 ; InpPrice1= 60 ; InpDate2= 65 ; InpPrice2= 40 ; 그들로부터 추세선은 범위의 중간 어딘가에 배치됩니다. forexman77 2015.03.30 16:40 #12 이제 다음 작업은 오른쪽으로 선을 계속하고 EA에서 선의 값을 얻는 방법을 해결하는 것입니다. Vladimir Karputov 2015.03.30 16:41 #13 forexman77 : ... 그들로부터 추세선은 범위의 중간 어딘가에 배치됩니다. 따라서 이것은 OBJ_TREND 개체 의 생성 및 작동을 시연하는 것이 주요 작업인 스크립트일 뿐입니다. 그리고 숫자는 명확성을 위해 취해진 것입니다. Vladimir Karputov 2015.03.30 16:47 #14 forexman77 : 이제 다음 작업은 오른쪽으로 선을 계속하고 EA에서 선의 값을 얻는 방법을 해결하는 것입니다. 모든 것이 스크립트 코드에 있습니다. //+------------------------------------------------------------------+ //| Создает линию тренда по заданным координатам | //+------------------------------------------------------------------+ bool TrendCreate( const long chart_ID= 0 , // ID графика . . . //--- включим (true) или отключим (false) режим продолжения отображения линии влево ObjectSetInteger (chart_ID,name, OBJPROP_RAY_LEFT ,ray_left); //--- включим (true) или отключим (false) режим продолжения отображения линии вправо ObjectSetInteger (chart_ID,name, OBJPROP_RAY_RIGHT ,ray_right); . . . forexman77 2015.03.31 09:54 #15 barabashkakvn : 모든 것이 스크립트 코드에 있습니다. 1. 테스터에서 호출되면 거래가 열립니다. 모든 곳에서 최적화를 지출하면 0입니다. 나는 트랜잭션의 최적화에서 실행을 시작합니다. 어떻게 될 것인가? 2. 거래가 발생한 경우(각 거래에 대해) 라인이 저장되고 그렇지 않은 경우 삭제되는지 어떻게 확인할 수 있습니까? long chart_ID= 0 ; // ID графика string name= "TrendLine" ; // имя линии int sub_window= 0 ; // номер подокна ObjectDelete (chart_ID,name); //--- сбросим значение ошибки ResetLastError (); //--- создадим трендовую линию по заданным координатам if (! ObjectCreate (chart_ID,name, OBJ_TREND ,sub_window,Time[minbar],Low[minbar],Time[IPMIN],Low[IPMIN])) { Print ( __FUNCTION__ , ": не удалось создать линию тренда! Код ошибки = " , GetLastError ()); return ( 0 ); } ObjectSet( "TrendLine" ,OBJPROP_TIME1,Time[minbar]); ObjectSet( "TrendLine" ,OBJPROP_PRICE1,Low[minbar]); ObjectSet( "TrendLine" ,OBJPROP_TIME2,Time[IPMIN]); ObjectSet( "TrendLine" ,OBJPROP_PRICE2,Low[IPMIN]); if (IPMIN!= 0 ){ double uroven= ObjectGetValueByTime (chart_ID,name,Time[ 1 ],sub_window);} } Print ( "uroven=" ,uroven); if (Time[ 0 ] > b && Close[ 1 ] < uroven){Opn_B= true ;} Vladimir Karputov 2015.03.31 10:09 #16 거래는 귀하가 통제해야 합니다. 그러나 각 거래에 고유한 라인이 있으려면 생성할 때 각 라인에 고유한 이름을 할당해야 합니다. forexman77 2015.03.31 10:28 #17 barabashkakvn : 거래는 귀하가 통제해야 합니다. 그러나 각 거래에 고유한 라인이 있으려면 생성할 때 각 라인에 고유한 이름을 할당해야 합니다. 어떻게? 예를 들어도 될까요? Vladimir Karputov 2015.03.31 10:50 #18 forexman77 : 어떻게? 예를 들어도 될까요? 사례가 있는 분들의 도움 부탁드립니다. forexman77 2015.03.31 11:30 #19 테스트 중 그래픽 개체 테스트를 시각화할 때 EA는 실제 차트와 상호 작용합니다. 시각화가 없는 일반 테스트 중에 EA는 그려지지 않은 "가상" 차트로 작업하며 이 경우 미묘한 차이가 발생할 수 있습니다. 테스터가 최적화 모드에서 실행 중일 때 그래픽 개체 작업 은 지원되지 않습니다. 연구하는데 이틀이 걸렸지만 최적화를 할 수 없다는 것이 밝혀졌습니다. 지표를 만드는지 궁금합니다. 이를 통해 Expert Advisor의 라인 가치를 얻을 수 있습니까? 누가 무엇을 말할 것입니다. 누군가가 이미 이 문제를 연구했을 수도 있습니다. 눈사태 오류, 버그, 질문 MQL4 및 MQL5에 대한 Dmitry Fedoseev 2015.03.31 12:01 #20 forexman77 : ... 지표를 만드는지 궁금합니다. 이를 통해 Expert Advisor의 라인 가치를 얻을 수 있습니까? ... 표시기 가 그래픽 개체 를 생성한 다음 해당 매개변수를 수신하면 아니오입니다. 그러나 마찬가지로 지표를 사용하여 모든 것을 해결하는 것이 더 쉽습니다. 계산은 표시기에서 수행되고 그 결과는 표시기 버퍼를 통해 표시됩니다. 대안도 있습니다. 라인 대신에 라인 매개변수를 사용하여 전역 변수를 생성합니다. 그러면 GetValueByShift() 함수가 작동하지 않으므로 해당 아날로그를 작성해야 합니다. 123456789 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
포인트의 시간과 날짜를 알고 있으면 bool TrendCreate() 만 호출하면 됩니다.
조언 해주셔서 감사합니다. 모든 것이 더 쉬워졌습니다.
다음과 같이 했습니다.
추신: 내가 이해할 수 없는 한 가지는 이 예에서 정확히 이 숫자를 선택한 이유입니다.
그들로부터 추세선은 범위의 중간 어딘가에 배치됩니다.
...
그들로부터 추세선은 범위의 중간 어딘가에 배치됩니다.
이제 다음 작업은 오른쪽으로 선을 계속하고 EA에서 선의 값을 얻는 방법을 해결하는 것입니다.
모든 것이 스크립트 코드에 있습니다.
모든 것이 스크립트 코드에 있습니다.
1. 테스터에서 호출되면 거래가 열립니다. 모든 곳에서 최적화를 지출하면 0입니다. 나는 트랜잭션의 최적화에서 실행을 시작합니다. 어떻게 될 것인가?
2. 거래가 발생한 경우(각 거래에 대해) 라인이 저장되고 그렇지 않은 경우 삭제되는지 어떻게 확인할 수 있습니까?
거래는 귀하가 통제해야 합니다. 그러나 각 거래에 고유한 라인이 있으려면 생성할 때 각 라인에 고유한 이름을 할당해야 합니다.
어떻게? 예를 들어도 될까요?
테스트 중 그래픽 개체
테스트를 시각화할 때 EA는 실제 차트와 상호 작용합니다. 시각화가 없는 일반 테스트 중에 EA는 그려지지 않은 "가상" 차트로 작업하며 이 경우 미묘한 차이가 발생할 수 있습니다. 테스터가 최적화 모드에서 실행 중일 때 그래픽 개체 작업 은 지원되지 않습니다.
연구하는데 이틀이 걸렸지만 최적화를 할 수 없다는 것이 밝혀졌습니다.
지표를 만드는지 궁금합니다. 이를 통해 Expert Advisor의 라인 가치를 얻을 수 있습니까?
누가 무엇을 말할 것입니다. 누군가가 이미 이 문제를 연구했을 수도 있습니다.
...
지표를 만드는지 궁금합니다. 이를 통해 Expert Advisor의 라인 가치를 얻을 수 있습니까?
...
표시기 가 그래픽 개체 를 생성한 다음 해당 매개변수를 수신하면 아니오입니다.
그러나 마찬가지로 지표를 사용하여 모든 것을 해결하는 것이 더 쉽습니다. 계산은 표시기에서 수행되고 그 결과는 표시기 버퍼를 통해 표시됩니다.
대안도 있습니다. 라인 대신에 라인 매개변수를 사용하여 전역 변수를 생성합니다. 그러면 GetValueByShift() 함수가 작동하지 않으므로 해당 아날로그를 작성해야 합니다.