나는 또한 MT5용으로 작성된 많은 코드가 이제 MT4에서도 작동한다는 것을 발견했습니다. 나는 과거에 많은 것을 시도했고 1년 전에는 작동하지 않았던 일을 시도했기 때문에 지금 작동한다는 것을 알고 있습니다. 이는 그들이 여전히 두 언어를 적극적으로 개발하고 있음을 보여줍니다.
// I say Once ' Do not turn... ' for ' if ' operator - this is good. if ( Morning || Midnight ) { // Do not turn on light just for today... }
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '? switch ( Today ) { case Morning : // Do not turn on light just for today... break ; case Midnight : // Do not turn on light just for today... break ; } //---switch Close
나는 이미 기사를 읽고 ' CHARTEVENT_OBJECT_DRAG '에 대한 다른 사람들의 코드를 확인하여 사용 방법을 확인했습니다. 그러나 불행히도 그것은 나에게 의미가 없습니다. 지금은 쓸데없는 일에 시간을 낭비하고 있었던 것 같아요. 그들의 코드 스타일이 나와 정말 다르기 때문입니다. (내 코드 스타일은 mql4 문서 코드 스타일과 같이 단순합니다. 이는 내가 조금 더 이해하고 있다는 것입니다)
내가 그 개체와 함께 이동할 수 있는 개체 ' 손절매, 이익실현, 주문 보류 '를 끌 때 제 목적입니다. (물론 그들 모두는 따로따로 있을 수 있습니다)
또한 주문 수정(sl, tp 등)을 위한 하나의 EA 스크립트를 보았습니다. 그리고 'CHARTEVENT_OBJECT_DRAG' 없이 작동합니다... 제 말의 의미를 알아주셨으면 합니다.
이제 HLine 또는 Trendline Object가 있는 ' CHARTEVENT_OBJECT_DRAG '에 대한 간단한 예를 들어 정말 도움이 필요합니다. 또는 명확하게 설명하거나 그냥 좋은 ( / 더 명확하게 ) 주석. 나는 이미 많은 시간을 보냈고 여전히 그것에 대해 연구하고 있습니다. 나는 곧 답을 얻을 수 있기를 바랍니다.
// I say Once ' Do not turn... ' for ' if ' operator - this is good. if ( Morning || Midnight ) { // Do not turn on light just for today... }
이것은 아침 또는 자정이 될 것입니다.
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '? switch ( Today ) { case Morning : // Do not turn on light just for today... break ; case Midnight : // Do not turn on light just for today... break ; } //---switch Close
이것은 Morning용 별도의 케이스와 Midnight용 별도의 케이스가 있습니다.
그래서 그것은 두 가지 다른 것입니다.
Max Enrik :
나는 이미 기사를 읽고 ' CHARTEVENT_OBJECT_DRAG '에 대한 다른 사람들의 코드를 확인하여 사용 방법을 확인했습니다. 그러나 불행히도 그것은 나에게 의미가 없습니다. 지금은 쓸데없는 일에 시간을 낭비한 것 같아요. 그들의 코드 스타일이 나와 정말 다르기 때문입니다. (내 코드 스타일은 mql4 문서 코드 스타일과 같이 단순합니다. 이는 내가 조금 더 이해하고 있다는 것입니다)
내가 그 개체와 함께 이동할 수 있는 개체 ' 손절매, 이익실현, 주문 보류 '를 끌 때 제 목적입니다. (물론 그들 모두는 따로따로 있을 수 있습니다)
또한 주문 수정(sl, tp 등)을 위한 하나의 EA 스크립트를 보았습니다. 그리고 'CHARTEVENT_OBJECT_DRAG' 없이 작동합니다... 제 말의 의미를 알아주셨으면 합니다.
이제 HLine 또는 Trendline Object가 있는 ' CHARTEVENT_OBJECT_DRAG '에 대한 간단한 예를 들어 정말 도움이 필요합니다. 또는 명확하게 설명하거나 그냥 좋은 ( / 더 명확하게 ) 주석. 나는 이미 많은 시간을 보냈고 여전히 그것에 대해 연구하고 있습니다. 나는 곧 답을 얻을 수 있기를 바랍니다.
예, OnChartEvent()는 두 언어 모두에서 동일합니다.
정말 감사합니다.
나는 또한 MT5용으로 작성된 많은 코드가 이제 MT4에서도 작동한다는 것을 발견했습니다.
나는 과거에 많은 것을 시도했고 1년 전에는 작동하지 않았던 일을 시도했기 때문에 지금 작동한다는 것을 알고 있습니다. 이는 그들이 여전히 두 언어를 적극적으로 개발하고 있음을 보여줍니다.
나는 또한 MT5용으로 작성된 많은 코드가 이제 MT4에서도 작동한다는 것을 발견했습니다.
나는 과거에 많은 것을 시도했고 1년 전에는 작동하지 않았던 일을 시도했기 때문에 지금 작동한다는 것을 알고 있습니다. 이는 그들이 여전히 두 언어를 적극적으로 개발하고 있음을 보여줍니다.
if ( Morning || Midnight )
{
// Do not turn on light just for today...
}
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '?
switch ( Today )
{
case Morning : // Do not turn on light just for today...
break ;
case Midnight : // Do not turn on light just for today...
break ;
} //---switch Close
나는 이미 기사를 읽고 ' CHARTEVENT_OBJECT_DRAG '에 대한 다른 사람들의 코드를 확인하여 사용 방법을 확인했습니다.
내가 그 개체와 함께 이동할 수 있는 개체 ' 손절매, 이익실현, 주문 보류 '를 끌 때 제 목적입니다. (물론 그들 모두는 따로따로 있을 수 있습니다)그러나 불행히도 그것은 나에게 의미가 없습니다. 지금은 쓸데없는 일에 시간을 낭비하고 있었던 것 같아요. 그들의 코드 스타일이 나와 정말 다르기 때문입니다.
(내 코드 스타일은 mql4 문서 코드 스타일과 같이 단순합니다. 이는 내가 조금 더 이해하고 있다는 것입니다)
또한 주문 수정(sl, tp 등)을 위한 하나의 EA 스크립트를 보았습니다. 그리고 'CHARTEVENT_OBJECT_DRAG' 없이 작동합니다... 제 말의 의미를 알아주셨으면 합니다.
이제 HLine 또는 Trendline Object가 있는 ' CHARTEVENT_OBJECT_DRAG '에 대한 간단한 예를 들어 정말 도움이 필요합니다. 또는 명확하게 설명하거나 그냥 좋은 ( / 더 명확하게 ) 주석.
나는 이미 많은 시간을 보냈고 여전히 그것에 대해 연구하고 있습니다. 나는 곧 답을 얻을 수 있기를 바랍니다.
당신에게 최선을 다합니다.
미리 감사드립니다.
if ( Morning || Midnight )
{
// Do not turn on light just for today...
}
이것은 아침 또는 자정이 될 것입니다.
switch ( Today )
{
case Morning : // Do not turn on light just for today...
break ;
case Midnight : // Do not turn on light just for today...
break ;
} //---switch Close
이것은 Morning용 별도의 케이스와 Midnight용 별도의 케이스가 있습니다.
그래서 그것은 두 가지 다른 것입니다.
나는 이미 기사를 읽고 ' CHARTEVENT_OBJECT_DRAG '에 대한 다른 사람들의 코드를 확인하여 사용 방법을 확인했습니다.
내가 그 개체와 함께 이동할 수 있는 개체 ' 손절매, 이익실현, 주문 보류 '를 끌 때 제 목적입니다. (물론 그들 모두는 따로따로 있을 수 있습니다)그러나 불행히도 그것은 나에게 의미가 없습니다. 지금은 쓸데없는 일에 시간을 낭비한 것 같아요. 그들의 코드 스타일이 나와 정말 다르기 때문입니다.
(내 코드 스타일은 mql4 문서 코드 스타일과 같이 단순합니다. 이는 내가 조금 더 이해하고 있다는 것입니다)
또한 주문 수정(sl, tp 등)을 위한 하나의 EA 스크립트를 보았습니다. 그리고 'CHARTEVENT_OBJECT_DRAG' 없이 작동합니다... 제 말의 의미를 알아주셨으면 합니다.
이제 HLine 또는 Trendline Object가 있는 ' CHARTEVENT_OBJECT_DRAG '에 대한 간단한 예를 들어 정말 도움이 필요합니다. 또는 명확하게 설명하거나 그냥 좋은 ( / 더 명확하게 ) 주석.
나는 이미 많은 시간을 보냈고 여전히 그것에 대해 연구하고 있습니다. 나는 곧 답을 얻을 수 있기를 바랍니다.
당신에게 최선을 다합니다.
미리 감사드립니다.
다음과 같은 경우 선을 끌 수 있습니다.
OBJPROP_SELECTED == 1
둘 다 사실이며 \를 사용하여 값을 간단히 읽을 수 있습니다.
대신에
시작했을 때 손절매 와 이익실현 을 위한 코드를 어떻게 작성할 수 있는지 거의 몰랐습니다. 감사합니다.
이제 나는 훌륭한 댓글을 보고 내가 원하는 것을 할 수 있다고 느낍니다.
시장 폐쇄
그래서 이미 시도했고 이제 내가 원하는 ' OBJPROP_PRICE '를 얻을 수 있습니다.
' HLine ' 객체를 드래그하면 Print()가 1초에 한 번씩 업데이트됩니다. EventSetTimer( 1 )를 사용하기 때문입니다.
그러나 Print()가 1초에 한 번 업데이트되지 않을 필요가 있습니다. 끌기를 멈춘 후 Print()를 업데이트하고 싶습니다.
저를 이해하신다면 저를 도와주시거나 조언을 부탁드립니다.
당신에게 최선을 다합니다.
따라서 OBJPROP_PRICE 값을 double에 저장한 다음 비교할 수 있습니다.
그들이 다르면 끌기가 시작된 것을 알 수 있고 다시 같으면 끌기가 중지되었음을 알 수 있습니다.
//| Drag Hline.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double price; // price variable;
bool drag; // drag flag
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//--- create timer
EventSetTimer ( 1 );
//--- create Hline
ObjectCreate ( 0 , "line" , OBJ_HLINE , 0 , 0 , Ask );
//--- store value
price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 );
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//--- destroy timer
EventKillTimer ();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer ()
{
//--- compare values
if (price!= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ))
{
drag= 1 ; // set drag flag
price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ); //store new value
}
if (drag== 1 )
{
if (price== ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ))
{
drag= 0 ; //reset drag flag
Alert ( " New value set: " , DoubleToString (price));
}
}
}
//+------------------------------------------------------------------+
또는 드래그가 감지되면 카운터를 시작할 수 있습니다. 여러 가지 방법이 있습니다.,