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

 
Slava :

OnTimer가 반복되지 않으면 비정상 종료가 없어야 합니다.

전문가에게 클라이언트 터미널의 동작을 확인하도록 해줄 수 있습니까?

여전히 많은 쓰레기가 있으며 코드는 최적이 아니며 7000줄의 템플릿을 기반으로 구축되었습니다. 제가 직접 해결해보고 글을 쓰도록 하겠습니다. 그건 그렇고, 이것은 그래프 개체 빌더이며 거래가 아닙니다.

고맙습니다!

 
Vitaly Muzichenko :

그건 그렇고, 이것은 그래프 개체 빌더이며 거래가 아닙니다.

분명한. OnDeinit()에서 그래픽 개체 를 제거합니다.

이미 고쳐졌어

[삭제]  
Slava :

분명한. OnDeinit()에서 그래픽 개체 를 제거합니다.

이미 고쳐졌어

수정 사항이 포함된 새 빌드가 언제 나올지 말씀해 주시겠습니까?

[삭제]  
uint lev[1] = {};
ArrayInitialize(lev, UINT_MAX);  // warring: truncation of constant value
Alert(lev[0] == UINT_MAX);       // Alert: true
 

신호를 등록하기 위해 MQL5에서 새 페이지를 생성해야 했지만 켜지지 않습니다

https://www.mql5.com/ru/signals/new

 

CFD Nikkei에서 주문 가격을 올바르게 구성하는 방법을 알려주십시오(봇은 다른 CFD를 엽니다).

Ask 19661.15, ticksize = 1이라고 가정해 보겠습니다.

반올림해야 하지만 어느 방향으로? 예를 들어 코드 MathRound (price / tickSize) * tickSize; 19661의 가격을 제공합니다. 시장보다 낫습니다. 오류가 발생합니다.

위에서 하나의 tickSize를 추가합니다. 또한 오류가 발생합니다.

있는 그대로 질문을 보내려고 하면 동일한 오류가 발생합니다.

테스터는 로그에서 다음과 같이 작성합니다.

failed market buy 1.00 NI225 [Invalid price] // стандартный вывод
OrderSend failed NI225 0 1.0 19662.0 0.0 0.0 with error 4756 // бот выводит параметры ордера и код ошибки
 
Stanislav Korotky :

이러한 설정이 있는 서버의 종류는 무엇입니까?

 
fxsaber :

이러한 설정이 있는 서버의 종류는 무엇입니까?

LiteForexInvestments-MT5.com


 
Stanislav Korotky :

CFD Nikkei에서 주문 가격을 올바르게 구성하는 방법을 알려주십시오(봇은 다른 CFD를 엽니다).

Ask 19661.15, ticksize = 1이라고 가정해 보겠습니다.

반올림해야 하지만 어느 방향으로? 예를 들어, 코드 MathRound(price / tickSize) * tickSize; 19661의 가격을 제공합니다. 시장보다 낫습니다. 오류가 발생합니다.

위에서 하나의 tickSize를 추가합니다. 또한 오류가 발생합니다.

있는 그대로 질문을 보내려고 하면 동일한 오류가 발생합니다.

테스터는 로그에서 다음과 같이 작성합니다.

이 기능을 사용하십시오(핍을 상품 가격으로 변환)

 //+------------------------------------------------------------------+
//| Expert Points to price function                                  |
//+------------------------------------------------------------------+
double PointsToPrice( const long a_points)
{
  double step_price = SymbolInfoDouble ( Symbol (), SYMBOL_TRADE_TICK_SIZE );
   double a_price = ( double (a_points) * Point () ) / step_price;
   if (a_points < 0 )
  {
    a_price = MathFloor (a_price) * step_price;
  }
   else
  {
    a_price = MathCeil (a_price) * step_price;
  }
   return ( NormalizeDouble (a_price, Digits ()));
}

그런 다음 PointsToPrice() 함수가 반환한 값을 가격에 추가(빼기)하면 됩니다.

추가됨

올바르게 작동하지 않으면 이 기호가 올바르지 않은 것입니다.

브로드캐스트 SYMBOL_TRADE_TICK_SIZE

 
Stanislav Korotky :

LiteForexInvestments-MT5.com

그래서 이것은 테스터가 지금 곧게 펴지 못하는 서버의 비뚤어진 팔입니다. 동시에 터미널에서 모든 것이 열릴 것입니다. TickSize는 거기에서 고려되지 않습니다.