Почему на нестандартном таймфрейме не работает советник?

 
Нестандартный таймфрейм создается индикатором Period_Converter_Opt на м1, открывается автономно, советник прикрепляется и показывает что работает (советник улыбается), но реально никаких действий!!! И не работают функции, предназначенных для доступа к ценовым данным, т.е. iBars, iClose и т.д.!
 
reag писал (а) >>
Нестандартный таймфрейм создается индикатором Period_Converter_Opt на м1, открывается автономно, советник прикрепляется и показывает что работает (советник улыбается), но реально никаких действий!!! И не работают функции, предназначенных для доступа к ценовым данным, т.е. iBars, iClose и т.д.!

необходим скрипт который будет "оживлять" нестандартный ТФ

поройтесь по форуму - такой скрипт тут был

 
reag писал (а) >>
Нестандартный таймфрейм создается индикатором Period_Converter_Opt на м1, открывается автономно, советник прикрепляется и показывает что работает (советник улыбается), но реально никаких действий!!! И не работают функции, предназначенных для доступа к ценовым данным, т.е. iBars, iClose и т.д.!

iBars, iClose должны работать

 
YuraZ писал (а) >>

необходим скрипт который будет "оживлять" нестандартный ТФ

поройтесь по форуму - такой скрипт тут был

Пожалуйста, можно уточнить название скрипта

 
YuraZ писал (а) >>

необходим скрипт который будет "оживлять" нестандартный ТФ

поройтесь по форуму - такой скрипт тут был

Серьезно?

 
reag писал (а) >>

Пожалуйста, можно уточнить название скрипта

Сомневаюсь в существовании такого скрипта.

int start(){
   
   if(NotStandart){
      while(!IsStopped()){
          trade();  
          Sleep(1500);   
      }
   }
   else{
      trade();
   }
   

   
}

int trade(){

      RefreshRates();
Перименуйте функции Start(), например в trade, а в Sart() сделайте как на примере, не забудьте в самом начале tarde() сделать RefreshRates()
 
Integer писал (а) >>

Серьезно?

Наверное это имелось ввиду...

'Period Converter Optimized'

не скрипт, а индикатор

что гораздо удобнее...

-

я его давненько приметил,

'Period_Converter_Opt'

правда забросил пока, пока не "вычищу" его, да и работать чёт перестал...

 
Это тоже не поможет. Подождем YuraZ'a, может он прольет свет на это темное дело.
 
Parabellum писал (а) >>


Читайте комментарий.

  1. Открыл график м1.
  2. Присоединить к графику 'Period_converter.mq4' скрипт из папки "Скрипты" окна "Навигатор".
  3. Во вкладке "Общие" установить флаг параметра "Разрешить импорт функций из DLL" и убрать флаг параметра "Ручное подтверждение вызовов".
  4. Во вкладке "Входные параметры" скрипта установить для переменной "ExtPeriodMultiplier" значение 3 (для получения периода м1*2 = м2).
  5. Нажать OK.
  6. Открыть график м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, то он не обновляется, не работают даже индикаторы, в чем ошибка, как заставит советник работать?

 
Integer писал (а) >>

Сомневаюсь в существовании такого скрипта.

Перименуйте функции Start(), например в trade, а в Sart() сделайте как на примере, не забудьте в самом начале tarde() сделать RefreshRates()

Загнал здесь! Надо так: в ините

   if(NotStandart){
      while(!IsStopped()){
          trade();  
          Sleep(1500);   
      }
   }

В старте

if(!NotStandart){
   trade(); 
}