- На нестандартном таймфрейме не работает советник?
- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
- Промывание мозгов: советники
Нестандартный таймфрейм создается индикатором Period_Converter_Opt на м1, открывается автономно, советник прикрепляется и показывает что работает (советник улыбается), но реально никаких действий!!! И не работают функции, предназначенных для доступа к ценовым данным, т.е. iBars, iClose и т.д.!
необходим скрипт который будет "оживлять" нестандартный ТФ
поройтесь по форуму - такой скрипт тут был
Нестандартный таймфрейм создается индикатором Period_Converter_Opt на м1, открывается автономно, советник прикрепляется и показывает что работает (советник улыбается), но реально никаких действий!!! И не работают функции, предназначенных для доступа к ценовым данным, т.е. iBars, iClose и т.д.!
iBars, iClose должны работать
Сомневаюсь в существовании такого скрипта.
int start(){ if(NotStandart){ while(!IsStopped()){ trade(); Sleep(1500); } } else{ trade(); } } int trade(){ RefreshRates();Перименуйте функции Start(), например в trade, а в Sart() сделайте как на примере, не забудьте в самом начале tarde() сделать RefreshRates()
Наверное это имелось ввиду...
не скрипт, а индикатор
что гораздо удобнее...
-
я его давненько приметил,
правда забросил пока, пока не "вычищу" его, да и работать чёт перестал...
- Открыл график м1.
- Присоединить к графику 'Period_converter.mq4' скрипт из папки "Скрипты" окна "Навигатор".
- Во вкладке "Общие" установить флаг параметра "Разрешить импорт функций из DLL" и убрать флаг параметра "Ручное подтверждение вызовов".
- Во вкладке "Входные параметры" скрипта установить для переменной "ExtPeriodMultiplier" значение 3 (для получения периода м1*2 = м2).
- Нажать OK.
- Открыть график м2 в автономном режиме ("Файл – Открыть автономно"). График м2 будет обновляться каждые 2 секунды (по умолчанию) при открытом графике м2 и присоединенном к нему 'Period_converter.mq4'.
Добавил в WinUser32.mqh, в описания функций user32.dll :
int RegisterWindowMessageA(string lpString);
Создал советник:
//+------------------------------------------------------------------+
//| Alert.mq4 |
//| SaxMan Copyright © 2006 |
//| |
//+------------------------------------------------------------------+
#property copyright "SaxMan Copyright © 2006"
#property link ""
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
int hWnd = WindowHandle(Symbol(),Period());
PostMessageA(hWnd,MT4InternalMsg,2,1);
//----
//----
Alert("Советник работает!");
//----
return(0);
return(0);
}
//+------------------------------------------------------------------+
Не работает! Попробуйте! К тому же, если окрыть автономно еще один график м2, то он не обновляется, не работают даже индикаторы, в чем ошибка, как заставит советник работать?
Сомневаюсь в существовании такого скрипта.
Перименуйте функции Start(), например в trade, а в Sart() сделайте как на примере, не забудьте в самом начале tarde() сделать RefreshRates()Загнал здесь! Надо так: в ините
if(NotStandart){ while(!IsStopped()){ trade(); Sleep(1500); } }
В старте
if(!NotStandart){ trade(); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования