포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 316

 
artmedia70 :

조금 살다


그런 다음 상속인이 형성되고 모든 것이 정상으로 돌아갑니다.


예, 기성품 소프트웨어 솔루션을 요구하는 것이 아니라 검색 방향을 묻는 것입니다. OrdersHistoryTotal( )이 작동하지 않으면 무엇부터 시작해야 하는지를 묻습니다. 어쨌든. 질문이 하나 더 있습니다. 두 개의 Alpari 터미널에서 어드바이저를 테스트했습니다. 왜 그런 일이?
 
r772ra :
Zto, 어디에서 볼 수 있는지, 그러나 뒤쳐져 다운로드하는 것이 좋습니다.


여기 분기가 있습니다. 9 페이지에 다운로드 방법이 있습니다. 실수가 아니라면.
 
ALXIMIKS :


과학적 찌르기 방법으로 발견:

REPLACE limit=바 개수 계산_바-5; ON 제한=바-카운트된_바-2;

그리고 모든 반환값 앞에 ChartRedraw ( )를 넣습니다.


예, 도덕은 다음과 같습니다. 실행 오류가 없도록 제한을 정확하게 설정해야하며 여백을 가질 수 없습니다.)))
 
ALXIMIKS :

여기 분기가 있습니다. 9 페이지에 다운로드 방법이 있습니다. 실수가 아니라면.


감사해요!! 붐 봐.

네, 아트. 8안타

 

조언자로부터 지표를 호출하는 방법을 알려주시겠습니까? (완전히 호출, 버퍼가 아닌 그리기 필요)

그리고 고문을 위해 차트에 공간을 할당하는 방법, 별도의 창에서 표시기에 어떻게 할당됩니까?

MT4와 MT5 모두에서 구현하게 되어 기쁩니다. 적어도 어디로 이동해야 할까요?

 
ALXIMIKS :

조언자로부터 지표를 호출하는 방법을 알려주시겠습니까? (완전히 호출, 버퍼가 아닌 그리기 필요)

그리고 고문을 위해 차트에 공간을 할당하는 방법, 별도의 창에서 표시기에 어떻게 할당됩니까?

MT4와 MT5 모두에서 구현하게 되어 기쁩니다. 적어도 어디로 이동해야 할까요?


버퍼만 EA에서 볼 수 있습니다. 더 필요한 경우 표시기 논리를 EA로 전송하거나 전역 변수와 함께 전송하면 됩니다.

그리고 고문을 위해 차트에 공간을 할당하는 방법, 별도의 창에서 표시기에 어떻게 할당됩니까?

어때요? 보조 창에 있는 고문의 그래픽? 아니면 여기 어때?

 
ALXIMIKS :

조언자로부터 지표를 호출하는 방법을 알려주시겠습니까? (완전히 호출, 버퍼가 아닌 그리기 필요)

그리고 고문을 위해 차트에 공간을 할당하는 방법, 별도의 창에서 표시기에 어떻게 할당됩니까?

MT4와 MT5 모두에서 구현하게 되어 기쁩니다. 적어도 어디로 이동해야 할까요?

도서관.

 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7. ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММАМИ MQL4.
 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7.1. Функция удаляет эксперт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteExpert( int hwndChart); // Системный дескриптор окна графика, удаляемого эксперта.
 //===============================================================================================================================================
 // 7.2. ФУНКЦИЯ удаляет индикаторы по имени из списка загруженных индикаторов.
 void ServiceDeleteIndicatorsByName( int      hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                                     int      nWindow,           // Номер подокна для удаления индикаторов. Если -1, то удаляются индикаторы из всех подокон.
                                     string &asIndicatorName[], // Одномерный массив с именами удаляемых индикаторов.
                                     int      nNumberName);       // Количество имён индикаторов в массиве.
 //===============================================================================================================================================
 // 7.3. Функция удаляет скрипт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteScript( int hwndChart); // Системный дескриптор окна графика, удаляемого скрипта.
 //===============================================================================================================================================
 // 7.4. Функция управляет диалоговым окном завершения скрипта и возвращает системный дескриптор диалогового окна завершения скрипта, если окно есть,
 //      иначе - NULL. Функция работает только с русской и английской локализациями.
 int ServiceDialogScript( int bInstruction); // Команда для диалогового окна завершения скрипта: TRUE - завершить скрипт, FALSE - не завершать скрипт.
 //===============================================================================================================================================
 // 7.5. Функция получает имена индикаторов из списка загруженных индикаторов.
 //      В случае успеха функция возвращает количество индикаторов в указанных подокнах параметром "nWindow", иначе ноль.
 int ServiceGetNamesIndicators( int      hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                               int      nWindow,           // Номер подграфика. Если -1, то считываются имена индикаторов из всех подокон.
                               string &asIndicatorName[], // Одномерный строковый массив для приёма имён индикаторов.
                                                           // Массив должен быть инициализирован разными значениями в каждой ячейке!
                                                           // Это особенность инициализации строковых массивов в MQL4.
                               int      nNumberName);       // Размер массива "asIndicatorName[]" для приёма имён индикаторов.
 //===============================================================================================================================================
 // 7.6. Функция возвращает TRUE, если окно свойств эксперта открыто, иначе - FALSE.
 bool ServiceIsPropertiesExpert( string sNameExpert); // Имя эксперта, для которого контроллируется открытие окна.
 //===============================================================================================================================================
 // 7.7. Функция открывает окно списка индикаторов. Функция ожидает открытия окна в течении 2,5 секунд. Если окно не появилось в течении этого времени,
 //      функция возвращает FALSE.
 bool ServiceListIndicators( int hwndChart); // Системный дескриптор окна графика, на котором вызывается окно списка индикаторов.
 //===============================================================================================================================================
 // 7.8. Функция загружает на указанный график пользовательский индикатор по его имени.
 void ServiceLoadCustomIndicator( int     hwndChart,       // Системный дескриптор окна графика, куда загружается индикатор.
                                 string sNameIndicator, // Имя загружаемого индикатора.
                                 int     bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                         // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.9. Функция загружает на указанный график эксперт по его имени.
 void ServiceLoadExpert( int     hwndChart,   // Системный дескриптор окна графика, куда загружается эксперт.
                         string sNameExpert, // Имя загружаемого эксперта.
                         int     bOK);         // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
                                             // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.10. Функция загружает на указанный график скрипт по его имени.
 void ServiceLoadScript( int     hwndChart,   // Системный дескриптор окна графика, куда загружается скрипт.
                         string sNameScript, // Имя загружаемого скрипта.
                         int     bOK);         // Подтверждение запуска скрипта, при наличии диалогового окна свойств скрипта. Скрипт может не иметь окна свойств!
                                             // При использовании функции для загрузки скрипта из скрипта на текущем графике параметр не работает из-за
                                             // невозможности одновременной работы двух скриптов на одном графике.
                                             // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.11. Функция загружает на указанный график стандартный индикатор по его имени.
 void ServiceLoadStdIndicator( int     hwndChart,       // Системный дескриптор окна графика, куда загружается индикатор.
                               string sNameIndicator, // Имя загружаемого индикатора.
                               int     bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                     // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 

좋은 저녁이에요.

그런 문제가 있어서...

테스트 중 고문은 한 번에 하나의 주문을 열고 적절한 시간에 닫습니다.

실제 계정 에서 작동하면 열린 주문이 닫히지 않고 반대 방향과 같은 방향에서 또 다른 열기가 발생합니다. 그렇게 주문이 쌓입니다. 수동으로 닫습니다.

왜 이런 일이 일어나는지 이해할 수 없습니다.

다음과 같은 방식으로 고문의 작업:

   if (условие на открытие продажи)          
      {                                                                                                                                          
       if (Ticket2 > 0 )                                                
         {
         OrderClose(Ticket2, Lot, Bid, 2 , Red);   // закрытие покупки          
         Ticket2= 0 ;                                               
         }
       if (Ticket1 == 0 )                                        
         Ticket1= OrderSend ( Symbol (), OP_SELL, Lot, Bid, 2 , 0 , 0 );   
      }
   if (условие для покупки)            
      {
       if (Ticket1 > 0 )                                            
         {
         OrderClose(Ticket1, Lot, Ask, 2 , Red);         // закрытие продажи        
         Ticket1= 0 ;                                                
         }
       if (Ticket2 == 0 )                                         
         Ticket2_RSI= OrderSend ( Symbol (), OP_BUY, Lot, Ask, 2 , 0 , 0 );    
      }
 
waroder :

좋은 저녁이에요.

그런 문제가 있어서...

테스트 중 고문은 한 번에 하나의 주문을 열고 적절한 시간에 닫습니다.

실제 계정에서 작동할 때 미결 주문이 닫히지 않고 반대 방향과 같은 방향에서 또 다른 열기가 발생합니다. 그렇게 주문이 쌓입니다. 수동으로 닫습니다.

왜 이런 일이 일어나는지 이해할 수 없습니다.

다음과 같은 방식으로 고문의 작업:

그리고 이 동일한 티켓이 매우 비밀스럽게 만들어지는 코드 조각은 무엇입니까?
 
evillive :
그리고 이 동일한 티켓이 매우 비밀스럽게 만들어지는 코드 조각은 무엇입니까?


그래서 나는 그들이 완료되는 방법을 썼습니다)

지표나 가격이 특정 수준에 도달하는 등 모든 것이 주문의 조건이 될 수 있습니다.

하나의 주문을 열고 닫고 반대 방향으로 열기만 하면 됩니다. 등. 이것은 테스터에서 일어나는 일입니다. 그러나 실제 주문은 닫히지 않고 위에서 추가로 열립니다.

사유: