MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1637

 
Nerd Trader # :
ObjectDeleteAll이 있는지 몰랐습니다.

나는 모든 곳에서 사용

   ObjectsDeleteAll ( 0 ,Prefix);
 
MakarFX # :

나는 모든 곳에서 사용

나는 C에서 모든 것을 스스로 해야 한다는 사실에 익숙하지만 여기 mql4에는 이미 기성품 솔루션이 있습니다.
 
Nerd Trader # :
나는 ObjectDeleteAll이 있다는 것을 몰랐고 이제 진실의 바닥에 도달하고 싶습니다.

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

MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론

Artyom Trishkin , 2021.09.30 05:31

삭제. 그러나 다시는 소란을 피우지 않으려면 이유를 한 번 이해하는 것이 좋습니다.

객체가 배열에서 제거되면 배열에서 다음 객체의 위치가 이동되고 루프 인덱스는 이제 어디를 가리킵니까? 생각한다.


 
Artyom Trishkin # :

이해했습니다 감사합니다
 
Valeriy Yastremskiy # :

두 번째 if 앞에 번호, 티켓 및 주문 유형을 인쇄하고 두 번째 if 내부에 인쇄하십시오.

알았다. 시험을 마친. 그는 생각하지만 정확히는 아닙니다. 그것은 틱으로 주문을 계산합니다. 그리고 그리드 맨 위에 있는 끝에서 두 번째 순서가 필요합니다. 가격이 내려가서 다른 주문이 열리면 OrderOpenPrice가 최대인 주문이 끝에서 두 번째 주문이 됩니다.

 
ObjectsDeleteAll 이 좋습니다. 그러나 갑자기 모든 것이 아닌 모든 것을 삭제해야 하는 경우 조건이 있는 주기 없이는 안 됩니다! 그리고 여기에 확실히 황금률이 있습니다. 끝에서 시작해야 합니다!
 
pribludilsa # :
디스크에 파일을 쓰지 않고 mql5 프로그램에서 파일로 작업하지만 속도를 높이기 위해 RAM에서만 작업하는 방법. mql5 프로그램에서 내 컴퓨터의 프로그램으로 데이터를 전송하고 싶습니다.

여기 있습니다:

https://www.mql5.com/en/articles/503

Связь с MetaTrader 5 через именованные каналы без применения DLL
Связь с MetaTrader 5 через именованные каналы без применения DLL
  • www.mql5.com
Перед многими разработчиками встает одинаковая проблема - как пробиться в песочницу торгового терминала без применения небезопасных DLL. Одним из простых и безопасных методов является использование стандартных именованных каналов (Named Pipes), которые работают как обычные файловые операции. Они позволяют организовать межпроцессорное клиент-серверное взаимодействие между программами. Посмотрите практические примеры на C++ и MQL5 в виде сервера, клиента, обмен данными между ними и замер производительности.
 
makssub # :

알았다. 시험을 마친. 그는 생각하지만 정확히는 아닙니다. 그것은 틱으로 주문을 계산합니다. 그리고 그리드 맨 위에 있는 끝에서 두 번째 순서가 필요합니다. 가격이 내려가서 다른 주문이 열리면 OrderOpenPrice가 최대인 주문이 끝에서 두 번째 주문이 됩니다.

 double FindOpenPrice( int a=- 1 ) // 0 - макс, 1 - мин
{
   double maxopenprice= 0 ;
   double minopenprice= DBL_MAX ;
   double openprice= 0 ;
   
   for ( int cnt= OrdersTotal ()- 1 ; cnt>= 0 ; cnt--)
   {
       if ( OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
         {
             if (OrderType() == OP_SELL || OrderType() == OP_BUY)
            {
               if (a== 0 && maxopenprice<OrderOpenPrice())
               {
               maxopenprice = OrderOpenPrice(); openprice=maxopenprice ;
               }
               if (a== 1 && minopenprice>OrderOpenPrice())
               {
               minopenprice= OrderOpenPrice(); openprice=minopenprice;
               }
            }
         }
      }
   }
   return (openprice);
}
 
makssub # :

알았다. 시험을 마친. 그는 생각하지만 정확히는 아닙니다. 그것은 틱으로 주문을 계산합니다. 그리고 그리드 맨 위에 있는 끝에서 두 번째 순서가 필요합니다. 가격이 내려가서 다른 주문이 열리면 OrderOpenPrice가 최대인 주문이 끝에서 두 번째 주문이 됩니다.

글쎄, 가격으로 보지 말고 개장 시간으로 ...
 
MakarFX # :

끝에서 두 번째가 아닌 마지막을 제공합니다(




사유: