Помогите! не могу в MetaTrader связать три тайм-фрейма D1, H4 и H1.
пишу советника, хочу чтоб он при совпадении сигналов на дневном четырех часовом и часовом графике открывал сделки по часовому.
сколько всего перепобовал не выходит. помогите пожалуйста.
Это можно реализовать через вывод значений индикатов в файл, а советник забирает значения из файла. У меня есть пример кода, хотя я писал для других целей но принцип можно использовать тот же: Функция Print_1_BIN выводит значения массива высчитаного скриптом в файл(скрипт не привожу накидаете сами),
//============================================================
double Print_1_BIN(string files,double y[],int c)
{int handle; double B[];ArrayResize(B,c); // скопирует первые int c баров в массив
for(int i=1;i 0) { FileWriteArray(handle, B, 0, c);// запись последних int c элементов
FileClose(handle); }
return(c); }
//===========================================================
а индикатор копирует данные из файла в свой массив.
//+------------------------------------------------------------------+
int start() //int start() -индикатора
{int c=GlobalVariableGet("DELTA_Bars");
int handle; handle=FileOpen("Indicator_y.dat", FILE_BIN|FILE_READ);
if(handle>0) { FileReadArray(handle, y, Bars-c, c); FileClose(handle); }
return(0); }
//+------------------------------------------------------------------+
Здесь главное не запутаться с последовательностью, так как данные записываются в файл прямо а считываются с конца.
Для экономии места стандартные участки кода я опустил, кто пишет на MQL тот поймёт а остальным эта клинопись никчему.
Это можно реализовать через вывод значений индикатов в файл, а советник забирает значения из файла.
Можно конечно по разному, только почему просто не брать и не смотреть значения индикаторов прям "налету". например через iCustom указав разные ТФ, зачем в данном случае прослойка ввиде файла? И медленее и новичку неподнять....
Потому что советник в тестере видит только:
глобальные переменные,
файлы из tester/files,
и файл .fst который для него формирует тестер(не все .fst-файлы а только тот скоторым работает).
Тестер это такое ограниченое виртуальное пространство внутри МТ, и все сигналы наружу
как то открытие позиций или запросы .hst файлов перехватываются.
Потому что советник в тестере видит только:
глобальные переменные,
файлы из tester/files,
и файл .fst который для него формирует тестер(не все .fst-файлы а только тот скоторым работает).
Тестер это такое ограниченое виртуальное пространство внутри МТ, и все сигналы наружу
как то открытие позиций или запросы .hst файлов перехватываются.
"А мужики-то не знают...") Перестаньте.
Во первых, fxt, а не fst файлы, во-вторых советник видит некий объем истории по всем доступным инструментам (на уровне O-H-L-C-V), как-то исхитряется использовать индикаторы явно не лежащие в папке tester/files...
Конечно тестер создает некую виртуальную среду, но она не так ограничена как Вам кажется. Есть ограничение по моделированию тиков других инструментов, а потому индикаторы на инструментах отличных от тестируемого на нулевом баре будут показывать некий "бред", недоступно окружение MarketInfo других инструментов, ограничена глубина видимой истории... Наверно и еще чего сразу не вспомнил, а может и не знаю, но все не так печально как Вам кажется. А уж с конструкциями типа:
if (iRSI(NULL,0,14,PRICE_CLOSE,0)>70 && iRSI(NULL,240,14,PRICE_CLOSE,0)>70 && iRSI(NULL,1440,14,PRICE_CLOSE,0)>70) OrderSend(...);
тестер справляется вполне корректно. А ведь речь в топике идет примерно об этом...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите! не могу в MetaTrader связать три тайм-фрейма D1, H4 и H1.
пишу советника, хочу чтоб он при совпадении сигналов на дневном четырех часовом и часовом графике открывал сделки по часовому.
сколько всего перепобовал не выходит. помогите пожалуйста.