MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1785 1...177817791780178117821783178417851786178717881789179017911792...1953 새 코멘트 Mihail Matkovskij 2021.12.03 21:39 #17841 Nerd Trader # : 내가 볼 수 없어 하지만 다른 사람들은 ( CHARTEVENT_OBJECT_CLICK ) Tretyakov Rostyslav 2021.12.03 22:07 #17842 Nerd Trader # : 모든 독창적인 것은 간단합니다. 나는 그렇게 할 것이다 void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { if ( ObjectGetInteger ( 0 , "button_bs" , OBJPROP_STATE )) { int x =( int )lparam; int y =( int )dparam; datetime dt = 0 ; double price = 0 ; int window= 0 ; if (id == CHARTEVENT_MOUSE_MOVE ) { if ( ChartXYToTimePrice ( 0 ,x,y,window,dt,price)) { if ( ObjectFind ( 0 , "H Line" )!=window) { ObjectCreate ( 0 , "H Line" , OBJ_HLINE ,window,dt,price); } else if ( ObjectMove ( 0 , "H Line" ,window,dt,price)) { ChartRedraw ( 0 ); } } } } else { ObjectDelete ( 0 , "H Line" ); } } Nerd Trader 2021.12.04 00:07 #17843 MakarFX # : 나는 그렇게 할 것이다 또한 솔루션입니다. 그러나 이 옵션은 더 이상 나에게 적합하지 않습니다. 왜냐하면 이 줄을 클릭한 후 첫 번째 줄을 삭제하고 다른 줄을 만들어야 커서도 커서를 따라가고 클릭한 후에도 떠나기 때문입니다. 나는 이것을 좋아했다: void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { datetime static dt = 0 ; double static price = 0 ; int static window = 0 ; string static line_name; if (id== CHARTEVENT_OBJECT_CLICK ){ } //Нажатие кнопки создаёт line 1 if (sparam== "button" ){ line_name = "line 1" ; CreateLine(line_name, clrGreen ); } //Нажатие на line 1 удаляет line 1 и создаёт line 2 if (sparam== "line 1" ){ ObjectDelete ( 0 ,line_name); line_name = "line 2" ; CreateLine(line_name, clrRed ); } //Нажатие на line 2 удаляет line 2 if (sparam== "line 2" ){ ObjectDelete ( 0 ,line_name); } } if ( ObjectGetInteger ( 0 , "button" , OBJPROP_STATE )){ int x = ( int )lparam; int y = ( int )dparam; if ( ChartXYToTimePrice ( 0 ,x,y,window,dt,price)){ if (id == CHARTEVENT_MOUSE_MOVE ){ if ( ObjectMove (line_name, 0 , 0 ,price)) ChartRedraw ( ChartID ()); } } } } Mihail Matkovskij 2021.12.04 05:03 #17844 버튼을 누르면 선이 생성됩니다. 버튼을 눌렀 습니다 - 삭제. 추측하기 너무 어렵습니까? 또한 지속적으로 생성 및 삭제되지 않도록 표시 및 숨길 수 있습니다. Tretyakov Rostyslav 2021.12.04 08:11 #17845 Nerd Trader # : 또한 솔루션입니다. 그러나 이 옵션은 더 이상 나에게 적합하지 않습니다. 왜냐하면 이 줄을 클릭한 후 첫 번째 줄을 삭제하고 다른 줄을 만들어야 커서도 커서를 따라가고 클릭한 후에도 떠나기 때문입니다. 나는 이것을 좋아했다: void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { datetime static dt = 0 ; double static price = 0 ; int static window = 0 ; string static line_name; if (id== CHARTEVENT_OBJECT_CLICK ){ } //Нажатие кнопки создаёт line 1 if (sparam== "button" ){ line_name = "line 1" ; CreateLine(line_name, clrGreen ); } //Нажатие на line 1 удаляет line 1 и создаёт line 2 if (sparam== "line 1" ){ line_name = "line 2" ; ObjectSetString ( 0 , "line 1" , OBJPROP_NAME ,line_name); ObjectSetInteger ( 0 ,line_name, OBJPROP_COLOR , clrRed ); } //Нажатие на line 2 удаляет line 2 if (sparam== "line 2" ){ ObjectDelete ( 0 ,line_name); } } if ( ObjectGetInteger ( 0 , "button" , OBJPROP_STATE )){ int x = ( int )lparam; int y = ( int )dparam; if ( ChartXYToTimePrice ( 0 ,x,y,window,dt,price)){ if (id == CHARTEVENT_MOUSE_MOVE ){ if ( ObjectMove (line_name, 0 , 0 ,price)) ChartRedraw ( ChartID ()); } } } } 그리고 나는 생성하고 삭제하기 전에 객체의 존재에 대한 확인을 남길 것입니다. законопослушный гражданин 2021.12.04 15:59 #17846 MakarFX # : 뭔가 잘못되었습니다) 신호가 전혀 가지 않습니다. 0 거래. 왜 더블을 통해? 내 변수는 다음과 같습니다. // Параметры советника input string sParametersEA = "" ; // Параметры советника input double Lot = 0.01 ; // Количество лотов input double LotControl = 0.01 ; // Контрольная лотность input int StopLoss = 30 ; // Уровень убытка input int TakeProfit = 30 ; // Уровень прибыли input int Deviation = 20 ; // Отступ цены входа input int Slippage = 3 ; // Проскальзование (в пунктах) input int Magic = 1 ; // Индентификатор советника input double K_Martin1 = 2.0 ; // Множитель мартин 1 input double K_Martin2 = 2.0 ; // Множитель мартин 2 input double K_Martin3 = 2.0 ; // Множитель мартин 3 input int OrdersClose = 5 ; // Ограничение лотности мартин1 input int OrdersClose2 = 5 ; // Ограничение лотности мартин2 input int DigitsLot = 2 ; // Точность лотности // Параметры индикатора input string ParametersMA = "" ; // Параметры индикатора input int PeriodMA = 14 ; // Период мувинга input int MovingShift = 1 ; // Сдвиг мувинга // Глобальные переменные string AC; datetime Start; double dMA; double MaxMartinLot; double MaxMartinLot2; double openPrice; // цена открытия позиции //+----------------------------------------------- 이것이 문제가 될 수 있습니까? Tretyakov Rostyslav 2021.12.04 16:08 #17847 законопослушный гражданин # : 뭔가 잘못되었습니다) 신호가 전혀 가지 않습니다. 0 거래. 왜 더블을 통해? 내 변수는 다음과 같습니다. 이것이 문제가 될 수 있습니까? 대담해 double openPrice; // цена открытия позиции 그리고 당신의 코드에서 openPrice(); Tretyakov Rostyslav 2021.12.04 16:13 #17848 законопослушный гражданин # : 왜 더블을 통해? 이중 - 십진수 정수 - 정수 законопослушный гражданин 2021.12.04 16:47 #17849 MakarFX # : 대담해 그리고 당신의 코드에서 감사하다! 신호가 갔다! законопослушный гражданин 2021.12.04 16:48 #17850 MakarFX # : 이중 - 십진수 정수 - 정수 분명한 1...177817791780178117821783178417851786178717881789179017911792...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
내가 볼 수 없어
하지만 다른 사람들은 ( CHARTEVENT_OBJECT_CLICK )
모든 독창적인 것은 간단합니다.
나는 그렇게 할 것이다
나는 그렇게 할 것이다
또한 솔루션입니다. 그러나 이 옵션은 더 이상 나에게 적합하지 않습니다. 왜냐하면 이 줄을 클릭한 후 첫 번째 줄을 삭제하고 다른 줄을 만들어야 커서도 커서를 따라가고 클릭한 후에도 떠나기 때문입니다. 나는 이것을 좋아했다:
버튼을 누르면 선이 생성됩니다. 버튼을 눌렀 습니다 - 삭제. 추측하기 너무 어렵습니까?
또한 지속적으로 생성 및 삭제되지 않도록 표시 및 숨길 수 있습니다.
또한 솔루션입니다. 그러나 이 옵션은 더 이상 나에게 적합하지 않습니다. 왜냐하면 이 줄을 클릭한 후 첫 번째 줄을 삭제하고 다른 줄을 만들어야 커서도 커서를 따라가고 클릭한 후에도 떠나기 때문입니다. 나는 이것을 좋아했다:
그리고 나는 생성하고 삭제하기 전에 객체의 존재에 대한 확인을 남길 것입니다.
뭔가 잘못되었습니다) 신호가 전혀 가지 않습니다. 0 거래.
왜 더블을 통해?
내 변수는 다음과 같습니다.
이것이 문제가 될 수 있습니까?
뭔가 잘못되었습니다) 신호가 전혀 가지 않습니다. 0 거래.
왜 더블을 통해?
내 변수는 다음과 같습니다.
이것이 문제가 될 수 있습니까?
대담해
그리고 당신의 코드에서왜 더블을 통해?
이중 - 십진수
정수 - 정수
대담해
그리고 당신의 코드에서감사하다! 신호가 갔다!
이중 - 십진수
정수 - 정수
분명한