E então os herdeiros se formarão e tudo voltará ao normal.
Não estou pedindo uma solução de software pronta para uso, estou pedindo uma direção a ser procurada - com que começar se a OrderHistoryTotal( ) não funcionar. Mas não importa. Tenho mais uma pergunta. Testei meu consultor especializado em dois terminais Alpari (demo e real com aspas carregadas e com resultados diferentes). Por que uma coisa dessas?
Você pode me dizer como chamar o indicador da EA? (chamada completa, eu preciso de um desenho, não de tampões)
E como alocar espaço para a EA em um gráfico, semelhante à forma como um indicador é alocado em uma janela separada?
Ficaria feliz em implementá-lo tanto no mt4 como no mt5 - pelo menos para onde ir.
Da EA apenas os amortecedores são visíveis, se eu precisar de mais, então basta mover a lógica do indicador na EA, ou usar variáveis globais para transferi-las.
E que tal alocar espaço para a EA no gráfico, semelhante à forma como o indicador é alocado em uma janela separada?
Que tal isso? Um gráfico EA em uma subjanela? Ou como aqui?
//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" запрещено.//===============================================================================================================================================
A EA abre uma ordem de cada vez durante os testes e a fecha na hora certa.
Quando a administro em uma conta real, as ordens abertas não são fechadas, e então as abro da maneira oposta, assim como na mesma direção, e as ordens são empilhadas.
Eu não sei por que isso acontece.
O Expert Advisor trabalha desta forma:
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);
}
A EA abre uma ordem de cada vez durante os testes e a fecha na hora certa.
Quando a administro em uma conta real, as ordens abertas não são fechadas, e então as abro da maneira oposta, assim como na mesma direção, e as ordens são empilhadas.
Eu não sei por que isso acontece.
O Expert Advisor trabalha desta forma:
O pedaço de código onde estes bilhetes são tornados secretos?
Ele vai viver por um tempo.
E então os herdeiros se formarão e tudo voltará ao normal.
Zto, onde vê-lo, melhor baixá-lo, porém retardado.
aqui está um tópico - na página 9 como fazer o download, se não estou enganado.
Encontrei-o por método científico:
Substituir limit=Bars-counted_bars-5; por limit=Bars-counted_bars-2;
E coloque ChartRedraw() na frente de todos os retornos.
Sim, a moral é a seguinte: o limite deve ser estabelecido exatamente para que não haja erros de execução, você não pode tomar muito ))))
aqui está o tópico - na página 9 como fazer o download, se não estou enganado.
Muito obrigado. Vamos dar uma olhada.
Sim, o artigo 8 foi encontrado.
Você pode me dizer como chamar o indicador da EA? (chamada completa, eu preciso de um desenho, não de tampões)
E como alocar espaço para a EA em um gráfico, semelhante à forma como um indicador é alocado em uma janela separada?
Eu ficaria feliz em implementá-lo tanto no mt4 como no mt5 - mesmo que eu tenha que me mudar para qualquer lugar.
Você pode me dizer como chamar o indicador da EA? (chamada completa, eu preciso de um desenho, não de tampões)
E como alocar espaço para a EA em um gráfico, semelhante à forma como um indicador é alocado em uma janela separada?
Ficaria feliz em implementá-lo tanto no mt4 como no mt5 - pelo menos para onde ir.
Da EA apenas os amortecedores são visíveis, se eu precisar de mais, então basta mover a lógica do indicador na EA, ou usar variáveis globais para transferi-las.
Que tal isso? Um gráfico EA em uma subjanela? Ou como aqui?
Você pode me dizer como chamar o indicador da EA? (chamada completa, eu preciso de um desenho, não de tampões)
E como alocar espaço para a EA em um gráfico, semelhante à forma como um indicador é alocado em uma janela separada?
Ficaria feliz em implementá-lo tanto no mt4 como no mt5 - pelo menos para onde ir.
Biblioteca.
Boa noite.
Eu tenho este problema...
A EA abre uma ordem de cada vez durante os testes e a fecha na hora certa.
Quando a administro em uma conta real, as ordens abertas não são fechadas, e então as abro da maneira oposta, assim como na mesma direção, e as ordens são empilhadas.
Eu não sei por que isso acontece.
O Expert Advisor trabalha desta forma:
Boa noite.
Eu tenho este problema...
A EA abre uma ordem de cada vez durante os testes e a fecha na hora certa.
Quando a administro em uma conta real, as ordens abertas não são fechadas, e então as abro da maneira oposta, assim como na mesma direção, e as ordens são empilhadas.
Eu não sei por que isso acontece.
O Expert Advisor trabalha desta forma:
O fragmento de código onde estas ordens são executadas não é secreto?
eu o escrevi como eles são feitos)
A ordem pode ser condicional a qualquer coisa, seja um indicador ou um preço que atinja um determinado nível.
No testador, isto é o que acontece. Mas no verdadeiro, as ordens não são fechadas e são adicionalmente abertas de cima.