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

 
A100 # :
컴파일 중 오류:
 class A {};

void * t = new A;

포인터는 MQL에서 주소가 되었으며, 이제 이것을 어떻게 이해해야 합니까?

 
fxsaber # :

포인터는 MQL에서 주소가 되었으며, 이제 이것을 어떻게 이해해야 합니까?

예, 아무것도 변경되지 않은 것 같습니다(빌드 2949에서도 유사하게). 클래스에 대한 포인터는 이전에 void *로 캐스팅될 수 있었습니다.

 

개체를 통해 개체를 클릭하는 것을 극복할 수 있는 방법이 있습니까?

TrendLine을 만들고 바로 위에 BitmapLabel이 있고 완전히 닫히는 BitmapLabel이 있고 BitmapLabel 아래에 TrendLine이 있는 곳을 오른쪽 클릭 하면 움직이기 시작한다고 가정해 보겠습니다.

이에 대한 동영상을 첨부합니다.

 
William Roeder # :

당신의 중개인이 망했습니다. 그들과 이야기하십시오.

나는 아마도 브로커가 일부 기호의 설정에서 뭔가를 적절하게 조정하는 것을 잊었을 수도 있다는 것을 이해합니다. 그러나 이것은 제 브로커 문제일 뿐만 아니라 제 고객도 다른 보커와 그러한 문제를 가지고 있습니다.

그리고 오늘날 우리는 OrderCalcMargin()에 대한 대안이 없습니다. 이 함수가 필요한 여백의 잘못된 값을 반환하면 다른 모든 사용자 정의 함수도 잘못된 값을 반환합니다.

OrderCalcMargin은 고객이 요구하는 마진을 확인하고 로트를 올바르게 계산하는 데 도움이 되는 많은 거래 도구에 자주 사용됩니다.

무엇을 할까요? 사람 요소에 의존하지 않는 공식을 어떻게든 얻을 수 있을까요? 일부 브로커는 모두 적절하게 조정하고 다른 많은 브로커는 조정하지 않습니다. 그리고 우리는 항상 잘못된 마진으로 이 오류를 얻게 될 것입니다.

 
Aleksei Beliakov # :

개체를 통해 개체를 클릭하는 것을 극복할 수 있는 방법이 있습니까?

내가 TrendLine을 만들고 그 바로 위에 완전히 닫는 BitmapLabel이 있고 BitmapLabel 아래에 TrendLine이 있는 곳을 오른쪽 클릭 하면 움직이기 시작한다고 가정해 봅시다.

이에 대한 동영상을 첨부합니다.

OBJPROP_SELECTABLE을 통해 어떻게든 할 수 있습니다 ... 특정 키(또는 차트의 버튼)를 눌러 개체 선택을 차단하거나 차단 해제한다고 가정해 보겠습니다.

 

OrderSelect() 뒤에 있는 첨부 파일에 함수 호출 을 포함하여 OrderSelect()의 다른 호출이 포함된 경우 컴파일러에서 경고를 표시하면 편리할 것이라고 생각합니다.

어제 저녁 내내 버그를 찾고 있었는데 이런 이유로 두 번째입니다.

 void Trailing()
{
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol () && OrderMagicNumber()==magic)
         {
             if (OrderType() == OP_BUY)
            {
               if (Bid >= GetAveragePrice(OP_BUY)+start_tral_level* Point ) //OrderOpenPrice()
               {
                   if (Bid >= OrderStopLoss()+(tral_stop+tral_step)* Point || OrderStopLoss()== 0 )
                  {
                     if (!OrderModify(OrderTicket(), OrderOpenPrice()
                     , NormalizeDouble (Bid-tral_stop* Point , Digits ), OrderTakeProfit(), OrderExpiration())) 
                     {
                         Print ( "Trailing buy err " , GetLastError ());
                     }
                  }
               }
            }
             if (OrderType()==OP_SELL)
            {
               if (Ask <= GetAveragePrice(OP_SELL)-start_tral_level* Point ) //OrderOpenPrice()
               {
                   if (Ask <= OrderStopLoss()-(tral_stop+tral_step)* Point || OrderStopLoss()== 0 )
                  {
                     if (!OrderModify(OrderTicket(), OrderOpenPrice()
                     , NormalizeDouble (Ask+tral_stop* Point , Digits ), OrderTakeProfit(), OrderExpiration())) 
                     {
                         Print ( "Trailing sell err " , GetLastError ());
                     }
                  }   
               }   
            }   
         }
      }
   }
}
double GetAveragePrice( int in_type) //расчет средней цены позиций
{
   double dRes=- 1 ;
   double dSum= 0 ;
   double dLot= 0 ;
   double dComission= 0 ;
   double dSwap= 0 ;
   int iTotalPos= OrdersTotal ();
   for ( int cnt= 0 ;cnt<iTotalPos;cnt++)
   {
       if (! OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES)) Print ( "Error Select Order" );
      {
         if (OrderType()==in_type && OrderSymbol()== Symbol () && OrderMagicNumber()==magic)
         {
            dSum+=OrderOpenPrice()*OrderLots();
            dLot+=OrderLots();
            dSwap+=OrderSwap();
            dComission+=OrderCommission();
         }
      }    
   }     
   if (in_type==OP_BUY && dLot!= 0 ) dRes=dSum/dLot-dSwap/dLot* Point -dComission/dLot* Point ;
   if (in_type==OP_SELL && dLot!= 0 ) dRes=dSum/dLot+dSwap/dLot* Point +dComission/dLot* Point ;
   
   return dRes;
}
 
Andrei Sokolov 함수 호출 을 포함하여 OrderSelect()의 다른 호출이 포함된 경우 컴파일러에서 경고를 표시하면 편리할 것이라고 생각합니다.

어제 저녁 내내 버그를 찾고 있었는데 이런 이유로 두 번째입니다.

이런 식으로 며칠 더 있으면 경고가 필요하지 않습니다.

 
Alexey Viktorov # :

이런 식으로 며칠 더 있으면 경고가 필요하지 않습니다.

이것은 그러한 경고가 있으면 더 편리하다는 사실을 변경하지 않습니다.

 
이 앱을 사용하는 방법은 적립 방법입니다
 
Hanene1304 # :
이 응용 프로그램을 사용하는 방법은 승리하는 방법입니다

아래 포스트/정보/링크를 확인해주세요 -

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

어떻게 100만 달러를 벌 수 있을까?

세르게이 골루베프 , 2022.02.17 15:20

Metatrader 중개인을 찾고(Metatrader 중개인이 많이 있으므로 google을 사용하여 찾습니다) 웹 사이트에서 조건에 따라 계정을 엽니다.
먼저 데모로 시도하십시오.

1. 기사 - MQL5.community - 사용자 메모

2. MetaTrader 5 도움말 - 계정 개설

3. 어디서부터 시작합니까?
https://www.mql5.com/en/forum/212020

4. MetaTrader 5 도움말 - 거래 플랫폼 — 사용자 매뉴얼

5. 포럼에서 검색하는 방법
https://www.mql5.com/en/forum/193510

6. 브로커 이름으로 서버 찾기:
https://www.mql5.com/en/forum/214820

7. 내 브로커 목록: https://www.mql5.com/en/forum/353226/page3


사유: