오류, 버그, 질문 - 페이지 73

 
Swan :

또는 무차별 대입이 필요하지 않거나 포즈 기호로 입찰하십시오.

PositionGetSymbol 함수 는 추가 작업을 위해 위치를 자동으로 선택합니다.

실제로 PositionGetSymbol은 순차 선택을 제공하는 반면 PositionSelect는 직접 선택을 제공합니다.

Документация по MQL5: Торговые функции / PositionGetSymbol
Документация по MQL5: Торговые функции / PositionGetSymbol
  • www.mql5.com
Торговые функции / PositionGetSymbol - Документация по MQL5
 
Swan :

또는 무차별 대입이 필요하지 않거나 포즈 기호로 입찰하십시오.

처음에는 PositionSelect에 의해 선택되지 않고 PositionGetInteger (POSITION_TYPE)가 사용됩니다 . 사실 이것은 좋지 않습니다(Slava가 저에게 상기시켰듯이)... :)

스트링고 :

PositionGetSymbol 함수 는 추가 작업을 위해 위치를 자동으로 선택합니다.

실제로 PositionGetSymbol은 순차 선택을 제공하는 반면 PositionSelect는 직접 선택을 제공합니다.

이를 바탕으로 Loop에 PositionGetSymbol 을 정확히 적용하고 나머지는 모두 관심을 가져야 했습니다...
 

글쎄, 텔레파시를 사용하는 경우 if(PositionSelect(Symbol())) 루프 대신 넣어야합니다 :)

또한 LevelProfit-LevelWLoss가 SymbolInfoInteger (Symbol,SYMBOL_TRADE_STOPS_LEVEL)보다 작지 않은지 확인하는 것이 좋습니다.

그리고 복식은 올바르게 비교되지 않습니다.

그렇지 않으면 작동해야 함)


ps: 확실하지 않지만 sl/tp 수정의 경우 편차>0은 좋은 것을 추가하지 않습니다.

 

식별자가 OBJPROP_TIME인 함수 ObjectGetInteger()올바르게 작동하지 않습니다.

오류를 재현하려면 "1"이라는 이름의 "사각형" 개체를 만듭니다.

"1"이라는 이름으로 새로 생성된 사각형의 앵커 좌표 4개를 표시하는 아래 스크립트를 실행합니다.

 void OnStart ()
{ 
   Comment ( ObjectGetDouble ( 0 , "1" , OBJPROP_PRICE , 0 ), "   " ,
           StringToTime    ( IntegerToString ( ObjectGetInteger ( 0 , "1" , OBJPROP_TIME , 0 ))), "\n" ,
          
           ObjectGetDouble ( 0 , "1" , OBJPROP_PRICE , 1 ), "   " ,
           StringToTime    ( IntegerToString ( ObjectGetInteger ( 0 , "1" , OBJPROP_TIME , 1 ))));

}

가격 좌표는 올바르게 결정되지만 시간 좌표는 다음과 같이 결정되지 않습니다.


Документация по MQL5: Графические объекты / ObjectGetInteger
Документация по MQL5: Графические объекты / ObjectGetInteger
  • www.mql5.com
Графические объекты / ObjectGetInteger - Документация по MQL5
 
joo :

식별자가 OBJPROP_TIME인 함수 ObjectGetInteger()올바르게 작동하지 않습니다.

오류를 재현하려면 "1"이라는 이름의 "사각형" 개체를 만듭니다.

"1"이라는 이름으로 새로 생성된 사각형의 앵커 좌표 4개를 표시하는 아래 스크립트를 실행합니다.

가격 좌표는 올바르게 결정되지만 시간 좌표는 다음과 같이 결정되지 않습니다.



차이를 느껴봐

   Comment ( ObjectGetDouble ( 0 , "1" , OBJPROP_PRICE , 0 ), "   " ,
           datetime ( ObjectGetInteger ( 0 , "1" , OBJPROP_TIME , 0 )), "\n" ,
          
           ObjectGetDouble ( 0 , "1" , OBJPROP_PRICE , 1 ), "   " ,
           datetime ( ObjectGetInteger ( 0 , "1" , OBJPROP_TIME , 1 )));
 
joo :

식별자가 OBJPROP_TIME인 함수 ObjectGetInteger()올바르게 작동하지 않습니다.

오류를 재현하려면 "1"이라는 이름의 "사각형" 개체를 만듭니다.

"1"이라는 이름으로 새로 생성된 사각형의 앵커 좌표 4개를 표시하는 아래 스크립트를 실행합니다.

가격 좌표는 올바르게 결정되지만 시간 좌표는 다음과 같이 결정되지 않습니다.



여기 스크립트가 있습니다.

 //+------------------------------------------------------------------+
//|                                                       123123.mq5 |
//|                                  2009, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   string msg= "" ;
//---
   msg+= DoubleToString ( ObjectGetDouble ( ChartID (), "123456" , OBJPROP_PRICE , 0 ), _Digits )+ " " +
        TimeToString ( ObjectGetInteger ( ChartID (), "123456" , OBJPROP_TIME , 0 ),TIME_DATE|TIME_MINUTES)+ "\n" ;
   msg+= DoubleToString ( ObjectGetDouble ( ChartID (), "123456" , OBJPROP_PRICE , 1 ), _Digits )+ " " +
        TimeToString ( ObjectGetInteger ( ChartID (), "123456" , OBJPROP_TIME , 1 ),TIME_DATE|TIME_MINUTES)+ "\n" ;
   Comment (msg);
  }
//+------------------------------------------------------------------+

그리고 여기 결과가 있습니다.

 
stringo :

차이를 느껴봐

덕분에 차이를 느꼈습니다.

명시적으로 값 유형을 datetime으로 설정합니다.

데이터 변환 을 사용했습니다.

그러나 이것은 디자인이

 StringToTime    ( IntegerToString (

잘못 작동합니까?

 
joo :

덕분에 차이를 느꼈습니다.

명시적으로 값 유형을 datetime으로 설정합니다.

데이터 변환을 사용했습니다.

그러나 이것이 디자인을 의미하지 않습니까?

잘못 작동합니까?

틀렸다는 것이 아닙니다. 이러한 단계는 중복됩니다.

StringToTime() 함수 에 대한 도움말을 보면 결과가 잘못된 이유를 이해할 수 있습니다.

Документация по MQL5: Преобразование данных / StringToTime
Документация по MQL5: Преобразование данных / StringToTime
  • www.mql5.com
Преобразование данных / StringToTime - Документация по MQL5
 
joo :

덕분에 차이를 느꼈습니다.

명시적으로 값 유형을 datetime으로 설정합니다.

데이터 변환을 사용했습니다.

그러나 이것은 디자인이

잘못 작동합니까?

설마. IntegerToString을 변환 하면 "12345612345"와 같은 문자열을 얻을 수 있지만 StringToTime의 경우 입력은 날짜 "2010.07.29 08:10" 형식의 문자열이어야 합니다.

그러나 당신은 우리의 실수를 보여주었습니다. 귀하의 경우 날짜 1970.01.01 00:00을 반환하고 last_error를 발생시켜야 했습니다.

 
stringo :

설마. IntegerToString을 변환하면 "12345612345"와 같은 문자열을 얻을 수 있지만 StringToTime의 경우 입력은 날짜 "2010.07.29 08:10" 형식의 문자열이어야 합니다.

그러나 당신은 우리의 실수를 보여주었습니다. 귀하의 경우 날짜 1970.01.01 00:00을 반환하고 last_error를 발생시켜야 했습니다.

즉, 내가 이미 생각한 것처럼 내 메시지가 헛되지 않습니까?