글럭?! 마우스 클릭 이벤트 처리!!! - 페이지 13 1...67891011121314 새 코멘트 Vladislav Andruschenko 2012.09.14 10:14 #121 sergeev : 서둘러요! 방금!! 이 독특한 제품을 다운로드하십시오! 그리고 당신은 특별히 디자인된 버그가 있는 버전을 얻게 될 것입니다. :)) 이 문제에 대한 해결책이 있습니까? 나는 모든 것을 뒤졌다 - 나는 아직 다른 것을 생각할 수 없다. 그리고 이것은 버그가 아니다. 줄의 변화는 의식적이지만 불타오르고 있다 - 나는 이전에 문제를 썼다. 나는 이것이 흐릿한 것이 아니라 X 축을 따라 선의 이동이라고 말할 것입니다. surava 2016.02.10 10:22 #122 친애하는 거래처 여러분! 방금 OrderSendAsync 함수에 대한 설명의 .chm 매뉴얼에서 간단한 클릭 가능한 버튼으로 예제를 복사했습니다. 제 경우에는 다음과 같습니다. void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { //--- обработка события CHARTEVENT_CLICK ("Нажатие кнопки мышки на графике") if ( id == CHARTEVENT_OBJECT_CLICK ) { Print ( "=> " , __FUNCTION__ , ": sparam = " , sparam ); if ( sparam== "Finalize" ) { PrintFormat ( "Closing position %s" , _Symbol ); while ( !ClosePosition() ); //--- отожмем нажатую кнопку обратно ObjectSetInteger ( 0 , "Finalize" , OBJPROP_STATE , false ); } ChartRedraw (); } } void CreateFinalizeButton() { //--- проверим наличие объекта с именем "Finalize" if(ObjectFind(0,"Finalize")>=0) { //--- если найденный объект не является кнопкой, удалим его if(ObjectGetInteger(0,"Finalize",OBJPROP_TYPE)!=OBJ_BUTTON) ObjectDelete(0,"Finalize"); } else ObjectCreate(0,"Finalize",OBJ_BUTTON,0,0,0); // создадим кнопку "Finalize" //--- настроим кнопку "Finalize" ObjectSetInteger( 0, "Finalize", OBJPROP_CORNER, CORNER_LEFT_LOWER ); ObjectSetInteger( 0, "Finalize", OBJPROP_XDISTANCE, 100 ); ObjectSetInteger( 0, "Finalize", OBJPROP_YDISTANCE, 50 ); ObjectSetInteger( 0, "Finalize", OBJPROP_XSIZE, 150 ); ObjectSetInteger( 0, "Finalize", OBJPROP_YSIZE, 30 ); ObjectSetString( 0, "Finalize", OBJPROP_TEXT, "Finalize" ); ObjectSetInteger( 0, "Finalize", OBJPROP_COLOR, clrBlue ); //--- принудительно обновим график, чтобы кнопки отрисовались немедленно ChartRedraw(); } 결과적으로 기간이 변경되면 작동합니다. 이 문제를 해결하는 방법을 알려주시겠습니까? Vladimir Karputov 2016.02.10 10:36 #123 surava : 친애하는 거래처 여러분! 방금 OrderSendAsync 함수에 대한 설명의 .chm 매뉴얼에서 간단한 클릭 가능한 버튼으로 예제를 복사했습니다. 제 경우에는 다음과 같습니다. 결과적으로 기간이 변경되면 작동합니다. 이 문제를 해결하는 방법을 알려주시겠습니까? OrderSendAsync의 표준 예는 차트 기간 변경에 대해 어떤 식으로든 반응하지 않습니다. 당신이 뭔가를 했다는 뜻입니다. 터미널 유형, 터미널 빌드 및 모든 코드와 같은 추가 정보가 필요합니다. surava 2016.02.10 10:51 #124 Karputov Vladimir : OrderSendAsync의 표준 예는 차트 기간 변경에 대해 어떤 식으로든 반응하지 않습니다. 당신이 뭔가를 했다는 뜻입니다. 터미널 유형, 터미널 빌드 및 모든 코드에 대한 추가 정보가 필요합니다. Vladimir, 신속한 응답에 감사드립니다! 다음은 터미널 정보입니다. 다음은 코드입니다(거래 기능 이 어떻게 작동하는지 배우기 시작했습니다): #property copyright "surava" #property link "https://www.mql5.com" #property version "1.00" ulong MagicNumber = 1649353089 ; int OnInit () { CreateFinalizeButton(); return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { while ( !ClosePosition() ); if ( ObjectFind ( 0 , "Finalize" ) >= 0 ) ObjectDelete ( 0 , "Finalize" ); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { //--- } //+------------------------------------------------------------------+ //| Trade function | //+------------------------------------------------------------------+ void OnTrade () { } //+------------------------------------------------------------------+ //| TradeTransaction function | //+------------------------------------------------------------------+ void OnTradeTransaction ( const MqlTradeTransaction & trans, const MqlTradeRequest & request, const MqlTradeResult & result) { if ( trans.type != TRADE_TRANSACTION_REQUEST ) return ; Print ( "============= New transaction =============" ); Print ( __FUNCTION__ , " Trans action: " , EnumToString ( trans.type ) ); Print ( __FUNCTION__ , " Trans order state: " , EnumToString ( trans.order_state ) ); Print ( __FUNCTION__ , " Result order type: " , EnumToString ( request.action ) ); Print ( __FUNCTION__ , " Request action: " , EnumToString ( request.type ) ); Print ( __FUNCTION__ , " Deal price: " , result.price ); Print ( __FUNCTION__ , " Result comment: " , result.comment ); } void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { //--- обработка события CHARTEVENT_CLICK ("Нажатие кнопки мышки на графике") if ( id == CHARTEVENT_OBJECT_CLICK ) { Print ( "=> " , __FUNCTION__ , ": sparam = " , sparam ); if ( sparam== "Finalize" ) { PrintFormat ( "Closing position %s" , _Symbol ); while ( !ClosePosition() ); //--- отожмем нажатую кнопку обратно ObjectSetInteger ( 0 , "Finalize" , OBJPROP_STATE , false ); } ChartRedraw (); } } void CreateFinalizeButton() { //--- проверим наличие объекта с именем "Finalize" if ( ObjectFind ( 0 , "Finalize" )>= 0 ) { //--- если найденный объект не является кнопкой, удалим его if ( ObjectGetInteger ( 0 , "Finalize" , OBJPROP_TYPE )!= OBJ_BUTTON ) ObjectDelete ( 0 , "Finalize" ); } else ObjectCreate ( 0 , "Finalize" , OBJ_BUTTON , 0 , 0 , 0 ); // создадим кнопку "Finalize" //--- настроим кнопку "Finalize" ObjectSetInteger ( 0 , "Finalize" , OBJPROP_CORNER , CORNER_LEFT_LOWER ); ObjectSetInteger ( 0 , "Finalize" , OBJPROP_XDISTANCE , 100 ); ObjectSetInteger ( 0 , "Finalize" , OBJPROP_YDISTANCE , 50 ); ObjectSetInteger ( 0 , "Finalize" , OBJPROP_XSIZE , 150 ); ObjectSetInteger ( 0 , "Finalize" , OBJPROP_YSIZE , 30 ); ObjectSetString ( 0 , "Finalize" , OBJPROP_TEXT , "Finalize" ); ObjectSetInteger ( 0 , "Finalize" , OBJPROP_COLOR , clrBlue ); //--- принудительно обновим график, чтобы кнопки отрисовались немедленно ChartRedraw (); } bool ClosePosition( bool async = true ) { int numPos = PositionsTotal (); PrintFormat ( "Positions number: %d" , numPos ); if ( PositionSelect ( _Symbol ) ) Print ( "PositionSelect returned true" ); else Print ( "PositionSelect returned false" ); if ( numPos == 0 ) return true ; double volume = PositionGetDouble ( POSITION_VOLUME ); uint posType = PositionGetInteger ( POSITION_TYPE ); MqlTradeRequest req={ 0 }; req.action = TRADE_ACTION_DEAL ; req.symbol = _Symbol ; req.magic = MagicNumber; req.volume = volume; switch ( posType ) { case POSITION_TYPE_BUY : req.type = ORDER_TYPE_SELL ; req.price = SymbolInfoDouble ( req.symbol, SYMBOL_BID ); break ; case POSITION_TYPE_SELL : req.type = ORDER_TYPE_BUY ; req.price = SymbolInfoDouble ( req.symbol, SYMBOL_ASK ); break ; default : Print ( "Wrong position type" ); return true ; } req.deviation = 3 ; req.comment = "Closing opened position" ; MqlTradeResult res={ 0 }; if ( ! OrderSend ( req, res ) ) { Print ( __FUNCTION__ , ": ошибка " , GetLastError (), ", retcode = " ,res.retcode); return false ; } return true ; } Vladimir Karputov 2016.02.10 11:00 #125 surava : Vladimir, 신속한 응답에 감사드립니다! 다음은 터미널 정보입니다. 다음은 코드입니다( 거래 기능 이 어떻게 작동하는지 배우기 시작했습니다): Offhand - 동안 제거합니다. surava 2016.02.10 11:14 #126 Karputov Vladimir : Offhand - 동안 제거합니다. 제거하는 데 비용이 들지 않지만 분명히 문제가 다른 곳에 있다는 것은 중요하지 않습니다. 그래서 저 같은 경우는 적시에 청산되지 않은 포지션 문제가 손실보다 끝없는 순환을 일으키게 되어 당장 눈에 띄지 않을 수 있습니다) surava 2016.02.10 19:19 #127 문제가 무엇인지 이해했습니다. 이 논리를 설명해주세요. 왜 라인의 존재/부재가 버튼 핸들러에 영향을 미치는지 설명해주세요 input bool DescriptionModeFull= true ; ??? surava 2016.02.17 22:06 #128 이 라인뿐만이 아닌 것 같습니다. 비뚤어진 메타 트레이더가 정상적으로 작동하려면 탬버린과 함께 계속 춤을 추어야합니다 ... 저것들. 내 예에서는 모든 것이 잘 작동했지만 실제 프로그램에서는 - 아니요(( Igor Volodin 2016.02.18 06:15 #129 surava : 저것들. 내 예에서는 모든 것이 잘 작동했지만 실제 프로그램에서는 - 아니요(( 곡률이 다른 곳에 있는 것은 아닐까? 이 접근 방식으로는 멀리 가지 못할 것입니다. Artyom Trishkin 2016.02.18 06:43 #130 surava : 이 라인뿐만이 아닌 것 같습니다. 비뚤어진 메타 트레이더가 정상적으로 작동하려면 탬버린과 함께 계속 춤을 추어야합니다 ... 저것들. 내 예에서는 모든 것이 잘 작동했지만 실제 프로그램에서는 - 아니요(( 어쩌면 탬버린이 너무 작습니까? 1...67891011121314 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
서둘러요! 방금!! 이 독특한 제품을 다운로드하십시오!
그리고 당신은 특별히 디자인된 버그가 있는 버전을 얻게 될 것입니다.
:))이 문제에 대한 해결책이 있습니까? 나는 모든 것을 뒤졌다 - 나는 아직 다른 것을 생각할 수 없다. 그리고 이것은 버그가 아니다. 줄의 변화는 의식적이지만 불타오르고 있다 - 나는 이전에 문제를 썼다.
나는 이것이 흐릿한 것이 아니라 X 축을 따라 선의 이동이라고 말할 것입니다.
친애하는 거래처 여러분!
방금 OrderSendAsync 함수에 대한 설명의 .chm 매뉴얼에서 간단한 클릭 가능한 버튼으로 예제를 복사했습니다. 제 경우에는 다음과 같습니다.
결과적으로 기간이 변경되면 작동합니다. 이 문제를 해결하는 방법을 알려주시겠습니까?
친애하는 거래처 여러분!
방금 OrderSendAsync 함수에 대한 설명의 .chm 매뉴얼에서 간단한 클릭 가능한 버튼으로 예제를 복사했습니다. 제 경우에는 다음과 같습니다.
결과적으로 기간이 변경되면 작동합니다. 이 문제를 해결하는 방법을 알려주시겠습니까?
OrderSendAsync의 표준 예는 차트 기간 변경에 대해 어떤 식으로든 반응하지 않습니다. 당신이 뭔가를 했다는 뜻입니다. 터미널 유형, 터미널 빌드 및 모든 코드에 대한 추가 정보가 필요합니다.
Vladimir, 신속한 응답에 감사드립니다!
다음은 터미널 정보입니다.
다음은 코드입니다(거래 기능 이 어떻게 작동하는지 배우기 시작했습니다):
Vladimir, 신속한 응답에 감사드립니다!
다음은 터미널 정보입니다.
다음은 코드입니다( 거래 기능 이 어떻게 작동하는지 배우기 시작했습니다):
Offhand - 동안 제거합니다.
문제가 무엇인지 이해했습니다. 이 논리를 설명해주세요. 왜 라인의 존재/부재가 버튼 핸들러에 영향을 미치는지 설명해주세요
???
이 라인뿐만이 아닌 것 같습니다. 비뚤어진 메타 트레이더가 정상적으로 작동하려면 탬버린과 함께 계속 춤을 추어야합니다 ...
저것들. 내 예에서는 모든 것이 잘 작동했지만 실제 프로그램에서는 - 아니요((
저것들. 내 예에서는 모든 것이 잘 작동했지만 실제 프로그램에서는 - 아니요((
곡률이 다른 곳에 있는 것은 아닐까? 이 접근 방식으로는 멀리 가지 못할 것입니다.
이 라인뿐만이 아닌 것 같습니다. 비뚤어진 메타 트레이더가 정상적으로 작동하려면 탬버린과 함께 계속 춤을 추어야합니다 ...
저것들. 내 예에서는 모든 것이 잘 작동했지만 실제 프로그램에서는 - 아니요((