Как вызвать скрипт из индикатора

 
Подскажите можноли и как вызвать на выполнение скрипт из индикатора?
 

Можно через API. Это примерные примеры:

'ZG_All Quotings 1'

'Сервисные скрипты для МТ4.'

'InitAllIndicators.mq4'

 
Спасибо. Подумаю.
 
kvn >>:
Подскажите можноли и как вызвать на выполнение скрипт из индикатора?

Можно установить горячую клавишу на интересуемый скрипт.

Затем средствами WinAPI эмулировать его нажатие.


Пример скрипта программно нажимающий комбинацию клавиш ALT+Q:

#include <WinUser32.mqh>

#define PAUSE      10
#define VK_MENU    0x12 //ALT key
#define VK_CONTROL 0x11 //CTRL key
#define KEY_CODE   'Q'

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start()
{
   keybd_event(VK_MENU,0,0,0);
   Sleep(PAUSE);
   keybd_event(KEY_CODE,0,0,0);
   Sleep(PAUSE);
   keybd_event(KEY_CODE,0,2,0);
   Sleep(PAUSE);
   keybd_event(VK_MENU,0,2,0);
}
 

а почему бы не засунуть код скрипта в сам индюкатор ?

всегда так делаю

 
sabluk писал(а) >>

а почему бы не засунуть код скрипта в сам индюкатор ?

всегда так делаю

Из индикатора с ордерами нельзя работать. Но ничто не мешает вызывать индикатор из эксперта и делать что угодно с ордерами

 
Integer >>:

Из индикатора с ордерами нельзя работать. Но ничто не мешает вызывать индикатор из эксперта и делать что угодно с ордерами

В этом то и главна проблема, Делать советник по некоторым причинам нельзя,

хотелось бы сделать индикатор и по результатам которого вызывался скрипт или исполнялся бы ордер,

но первыё вариант предпочтительнее.

Вызов скрипта из индикатора удобнее и перспективнее.

 
kvn >>:

В этом то и главна проблема, Делать советник по некоторым причинам нельзя,

хотелось бы сделать индикатор и по результатам которого вызывался скрипт или исполнялся бы ордер,

но первыё вариант предпочтительнее.

Вызов скрипта из индикатора удобнее и перспективнее.

по каким причинам советник юзать нильзя?

 
Integer >>:

Из индикатора с ордерами нельзя работать. Но ничто не мешает вызывать индикатор из эксперта и делать что угодно с ордерами

Можешь привести пример как это сделать? В индикаторе есть переменная, мне нужно, чтобы советник постоянно знал её состояние.

 
Papin >>:

Можешь привести пример как это сделать? В индикаторе есть переменная, мне нужно, чтобы советник постоянно знал её состояние.


воспользуйтесь 

double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)
Расчет указанного пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX4) и находиться в директории каталог_терминала\experts\indicators.
Параметры:
symbol  -  Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe  -  Период. Может быть одним из периодов графика. 0 означает период текущего графика.
name  -  Имя пользовательского индикатора.
...  -  Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных пользовательского индикатора.
mode  -  Индекс линии индикатора. Может быть от 0 до 7 и должен соответствовать индексу, используемому одной из функций SetIndexBuffer.
shift  -  Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Пример:


  double val=iCustom(NULL, 0, "SampleInd",13,1,0);

 
Papin >>:

Можешь привести пример как это сделать? В индикаторе есть переменная, мне нужно, чтобы советник постоянно знал её состояние.


тут я бы уточнил - что значит переменная? это значение не буфера? или как...
Причина обращения: