任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 316

 
artmedia70:

他能活一段时间。


然后,继承人将形成,一切将恢复正常。


我不是在要求一个开箱即用的软件解决方案,我是在要求一些寻找的方向--如果OrdersHistoryTotal( )不起作用,应该从什么地方开始。但不要紧。我还有一个问题,我在两个Alpari终端上测试了我的 "专家顾问"(模拟和真实,加载了报价,结果不同)。为什么会有这样的事情?
 
r772ra:
Zto,在哪里可以看到它,最好是下载它,虽然很弱智。


如果我没记错的话这里有一个主题 --在第9页,如何下载。
 
ALXIMIKS:


我是通过科学方法发现的。

将limit=Bars-counted_bars-5;改为limit=Bars-counted_bars-2。

ChartRedraw()放在所有返回的前面


是的,其寓意是这样的:应该准确地设置限制,以便不出现执行错误,你不能采取太多))))。
 
ALXIMIKS:

如果我没记错的话这里有一个主题 --在第9页,如何下载。


非常感谢。让我们看一看。

是的,第8条已经被发现。

 

你能告诉我如何从EA调用该指标吗?(完全调用,我需要一个图纸,而不是缓冲区)

以及如何在图表上为EA分配空间,类似于指标在一个单独窗口中的分配方式?

我很乐意在mt4和mt5上实现它--即使我不得不搬到任何地方。

 
ALXIMIKS:

你能告诉我如何从EA调用该指标吗?(完全调用,我需要一个图纸,而不是缓冲区)

以及如何在图表上为EA分配空间,类似于指标在一个单独窗口中的分配方式?

我很乐意在mt4和mt5上都实现它--至少是去哪里。


从EA来看,只有缓冲区是可见的,如果我需要更多,那么只要在EA中移动指标的逻辑,或者使用全局变量来转移它们。

那么,如何为专家顾问分配图表上的空间,类似于指标在独立窗口中的分配方式?

这个怎么样?一个子窗口中的EA图形?还是像 这里

 
ALXIMIKS:

你能告诉我如何从EA调用该指标吗?(完全调用,我需要一个图纸,而不是缓冲区)

以及如何在图表上为EA分配空间,类似于指标在一个单独窗口中的分配方式?

我很乐意在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" запрещено.
 //===============================================================================================================================================
 

晚上好。

我有这个问题...

在测试过程中,该EA每次打开一个订单,并在正确的时间关闭它。

当我在真实账户上 运行时,未平仓的订单没有被平仓,然后我以相反的方式开仓,以及在同一方向开仓,订单就堆积如山。

我不知道为什么会发生这种情况。

专家顾问以这种方式工作。

   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:

晚上好。

我有这个问题...

在测试过程中,该EA每次打开一个订单,并在正确的时间关闭它。

当我在真实账户上运行时,未平仓的订单没有被平仓,然后我以相反的方式开仓,以及在同一方向开仓,订单就堆积如山。

我不知道为什么会发生这种情况。

专家顾问以这种方式工作。

制作这些门票的那段代码是秘密吗?
 
evillive:
执行这些订单的代码片段难道不是秘密吗?


我是按照他们的做法写的)

该订单可以以任何东西为条件,无论是指标还是价格达到某个水平。

但在真实的测试中,订单并没有被关闭,而是从上面打开。