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

 
컴파일 중 오류
template < typename T>
class A { public :
    A( const T * ) {} //Error: 'T' - unexpected token
};
class B {};
void OnStart ()
{
    A< const B> a( new B );
}
 

내 데모 계정에 안녕하세요

다음과 같은 일이 발생합니다: 성공적인 수정 및 주문 제거 시

ORDER_FILLING_RETURN 유형(일반 지정가 주문)

구조의 가변 볼륨   MqlTradeResult 는 주문의 원래 크기와 일관되게 동일합니다(주문이 전혀 채워지지 않은 동안).

실행된 볼륨(내 경우에는 0)을 제공해야 하는 것 같습니까? 아니면 제가 착각한 것입니까?

 
Sergey Kudryavtsev :

실행된 볼륨(내 경우에는 0)을 제공해야 하는 것 같습니까? 아니면 제가 착각한 것입니까?

원래 그렇잖아요.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

라이브러리: MT4Orders

fxsaber , 2017.02.10 12:01

스크립트의 결과
OrderSend ( NULL , OP_BUYLIMIT , 1 , Ask - 100 * Point , 100 , 0 , 0 ,My Order)
Request.action = TRADE_ACTION_PENDING ( 5 )
Request.magic = 0
Request.order = 0
Request.symbol = EURUSD
Request.volume = 1.0
Request.price = 1.06356
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT ( 2 )
Request.type_filling = ORDER_FILLING_IOC ( 1 )
Request.type_time = ORDER_TIME_GTC ( 0 )
Request.expiration = 1970.01 . 01 00 : 00 : 00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 57777
Result.volume = 1.0
Result.price = 1.06356
Result.bid = 0.0
Result.ask = 0.0
Result.comment = My Order
Result.request_id = 592
Result.retcode_external = 0
이제 MT5에서 적절한 거래 요청 을 올바르게 구성하는 방법을 쉽게 알아낼 수 있습니다.
 
fxsaber :
원래 그렇잖아요.
고맙습니다!
 
" MqlTradeResult "를 검색 하면 도움말의 설명에 대한 링크를 반환할 수 없습니다.
 

OrderSend 실행 중에는 디버그 모드를 종료하거나 EA/스크립트를 삭제할 수 없습니다.

OrderSend는 180초가 걸리며 요청 시간 초과가 종료됩니다. 스크립트가 디버그 모드에서 실행된 경우 편집기에서 컴파일할 수 있으려면 3분을 기다려야 합니다.

 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

fxsaber , 2017.02.16 07:55

2017.02.16 08:53:03.158 Network '2250': disconnected from FXOpen-MT5
2017.02.16 08:53:03.285 MQL5     wrong type, loading of Test failed
2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)

그것은 무엇입니까?

유일한 차트에는 아무 것도 실행되고 있지 않습니다. 계정을 전환할 때마다 이 메시지가 나타납니다.

모든 Test.ex* 파일을 삭제했습니다. 메시지가 계속 나타납니다.
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

테스트 에이전트의 미친 캐시

레나트 팻쿨린 , 2017.02.21 04:04

새로운 Friday MT5 빌드 1545를 사용해 보세요. 일부 개선 사항이 있습니다.

또한 MetaQuotes-Demo MT5에는 230,000개 이상의 지속적으로 활성 계정이 있으며 거기에 실제 거래자 bacchanalia가 있습니다.

나는 바카날리아가 증권 거래소에서 훨씬 더 강력하다고 생각하지만 그들은 관리합니다.

1545 - 좋아, 좋아졌습니다. 그러나 모든 것은 순간적으로 미끄러진다.

요청/응답

Request.action = TRADE_ACTION_DEAL ( 1 )
Request.magic = 0
Request.order = 0
Request.symbol = EURCAD
Request.volume = 0.01
Request.price = 1.39016
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_SELL ( 1 )
Request.type_filling = ORDER_FILLING_RETURN ( 2 )
Request.type_time = ORDER_TIME_GTC ( 0 )
Request.expiration = 1970.01 . 01 00 : 00 : 00
Request.comment =
Request.position = 134821044
Request.position_by = 0
Result.retcode = 10009
Result.deal = 118450870
Result.order = 134821045
Result.volume = 0.01
Result.price = 1.39016
Result.bid = 1.39016
Result.ask = 1.39043
Result.comment = Request executed 57.225 + 18.108 ms
Result.request_id = 4096
Result.retcode_external = 0

Dedicated - 성공적인 OrderSend 후 주문 및 거래 내역에 레코드가 나타난 기간입니다. 많은!

잡지

NO      0       08:51:22.422    Trades  '5245006': instant sell 0.01 EURCAD at 1.39016, close #134821044 buy 0.01 EURCAD 1.39043 (deviation: 100)
MM      0       08:51:22.480    Trades  '5245006': accepted instant sell 0.01 EURCAD at 1.39016, close #134821044 buy 0.01 EURCAD 1.39043 (deviation: 100)
LH      0       08:51:22.480    Trades  '5245006': deal #118450870 sell 0.01 EURCAD at 1.39016 done (based on order #134821045)
EQ      0       08:51:22.480    Trades  '5245006': order #134821045 sell 0.01 / 0.01 EURCAD at 1.39016 done in 57.165 ms

그리고 동일한 스크립트 실행의 또 다른 경우입니다.

요청/응답

Request.action = TRADE_ACTION_PENDING ( 5 )
Request.magic = 0
Request.order = 0
Request.symbol = EURCZK
Request.volume = 0.01
Request.price = 27.043
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT ( 2 )
Request.type_filling = ORDER_FILLING_RETURN ( 2 )
Request.type_time = ORDER_TIME_GTC ( 0 )
Request.expiration = 1970.01 . 01 00 : 00 : 00
Request.comment = Benchmark_Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134821281
Result.volume = 0.01
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 392.585 + 0.299 ms
Result.request_id = 4457
Result.retcode_external = 0

잡지

HP      0       08:51:43.740    Trades  '5245006': buy limit 0.01 EURCZK at 27.04300
RE      0       08:51:44.133    Trades  '5245006': accepted buy limit 0.01 EURCZK at 27.04300
JS      0       08:51:44.133    Trades  '5245006': order #134821281 buy limit 0.01 / 0.01 EURCZK at market done in 392.533 ms

핑 ~54ms.

 

경고 창에서는 아무 것도 복사할 수 없습니다.

경고 창에 "복사" 및 "저널로 이동" 메뉴를 마우스 오른쪽 버튼으로 클릭하여 여러 행을 선택할 수 있는 기능을 추가하십시오. 전문가 고문의 저널에서 경고에 해당하는 행을 표시하십시오.

 

안녕하세요.

개체에 대한 포인터의 잘못된 (내 의견으로는) 동작에 직면했습니다. MT5 및 MT4 모두와 관련이 있습니다. 계몽해주세요, 이것은 버그입니까 아니면 기능입니까? 코드는 다음과 같습니다.

class CBaseObject { };

class CDescObject: public CBaseObject { };

void OnStart ()
  {
      CDescObject *obj1 = new CDescObject(), *obj2;
      CBaseObject *baseObj1 = obj1;
      
      obj2 = baseObj1; //Пока не грохнули объект - no problem
       delete (obj1);

       //Если добавить эти строки, ошибки в последней строке не будет
       //if(CheckPointer(baseObj1)==POINTER_INVALID)
         //baseObj1 = NULL;
      
      obj2 = obj1; //Указатели одного типа - no problem
      obj2 = baseObj1; //здесь ошибка "Invalid pointer access"
  }

나는 여기 포인터가 C에서와 같지 않고 풍부한 내부 세계를 가지고 있다는 것을 이해합니다. 그래도 마지막 줄의 과제가 순조롭게 진행된다면 더 논리적일 것이다. 제 경우에는 POINTER_INVALID 에 대한 확인이 할당 후에 이루어졌으므로 아무도 액세스하지 않는다는 사실에도 불구하고 "잘못된 포인터 액세스"가 어디에서 왔는지 즉시 이해하지 못했습니다.

추신: 만일을 대비하여 - Metatrader 5 빌드 1545, Win 7 SP1 x86