Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»
Внимание: для входа на форум используйте e-mail вместо ника, пароль остаётся прежним. Если вы забыли свой e-mail пишите в техподдержку ( MFadmin@bk.ru )

oskar1

Пользователи
  • Постов

    6
  • Зарегистрирован

  • Посещение

Достижения oskar1

пробегал

пробегал (2/5)

0

Репутация

  1. Здравствуйте программеры, есть индюк основанный на тиках он сделан по моей стратегии скальпера, нужна отфильтровка сигналов. Вот условие которое нужно добавить в код. Индикатор тиковый. Можно ли добавить дополнительное условие для сигнала алерта??? А то индюк подает сигналы, большая часть не правильная, я бы хотел отфильтровать их, вот таким условием. Условие такое - это повторяющийся одинаковый уровень цены допустим 150,00 три раза был такой уровень в промежутке последних 10 секунд. И тоже вывести во внешние переменные, для этого условия. Y= 3; // сколько раз был уровень одинаковый в промежутке t 2 t 2=10; // промежуток времени для Y Если это не возможно, все равно спасибо тому кто откликнется. #property indicator_chart_window extern int taim=120;//ceк запоминать данные extern int S=30;//пп пройденное расстояние в промежутке t double TiksBase[]; // Массив цен int gTimeLeft; // -- добовляем тик в базу int fAddTiks(int TimeLeft) { for (int e=ArraySize(TiksBase)-1;e>TimeLeft;e--) { TiksBase[e]=TiksBase[e-1]; } for (int s=0;s<TimeLeft;s++) { TiksBase[s]=Bid; } } // -- получаем разницу за промежуток int fdCost() { int MIN=ArrayMinimum(TiksBase); int MAX=ArrayMaximum(TiksBase); if (TiksBase[MIN]!=EMPTY_VALUE && TiksBase[MAX]!=EMPTY_VALUE ) { if (MIN<MAX){return( ((TiksBase[MAX]-TiksBase[MIN])/Point)*(-1) );} if (MIN>MAX){return( ((TiksBase[MAX]-TiksBase[MIN])/Point) );} } return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators ArrayResize(TiksBase,taim); ArrayInitialize(TiksBase,EMPTY_VALUE); gTimeLeft=TimeLocal(); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { // -- дбовляем тик в базу fAddTiks((TimeLocal()-gTimeLeft)); gTimeLeft=TimeLocal(); if (MathAbs(fdCost())>S) { if (fdCost()>0){Alert("Sell импульс",MathAbs(fdCost()),"пипс от",TiksBase[ArrayMinimum(TiksBase)]," до ",Bid);} if (fdCost()<0){Alert("Buy импульс",MathAbs(fdCost()),"пипс от",TiksBase[ArrayMaximum(TiksBase)]," до ",Ask);} ArrayInitialize(TiksBase,EMPTY_VALUE); } //---- return(0); } //+------------------------------------------------------------------+
  2. Чет условия какие то странные зачем дубль 2, его я так понимаю можно только на одном счете применять, если я в течении года меняю несколько ДЦ что мне делать с Вашей прогой если она у Вас не универсальная для счетов???? Или я что то не допонял можете объяснить?
×
×
  • Создать...