Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Октября 12, 2024, 10:32:52 am
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Какие изменить данные « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Какие изменить данные  (Прочитано 3860 раз)
Makin
Newbie
*
Сообщений: 14


Просмотр профиля Email
« : Апреля 09, 2014, 02:18:12 pm »

Добрый день! Подскажите, пожалуйста, какие изменить данные в коде "Сигнал пересечения ценой МА", чтобы вместо скользящей средней был Parabolic SAR (0,01/0,01/0,1).
Взято с данного сайта:
 
#samewindow
#line 0 solid red
 
extern period = 9;
var trend = 0;
 
function init()
{
   setInitCandles(1);
}
 
 
function calc()
{
   line[0] = MovAvg(ind_ema, period, pt_close);
 
   if (trend == 1 and close < line[0]) {
      signal::alert("Продажа: " + getSecName() +
               " пересекла сверху вниз скользящую среднюю.");
   }
 
   if (trend == -1 and close > line[0]) {
      signal::alert("Покупка: " + getSecName() +
               " пересекла снизу вверх скользящую среднюю.");
   }
 
   if (close > line[0]) {trend = 1;}
   else if (close < line[0]) {trend = -1;}
}
Записан
ramil
Newbie
*
Сообщений: 9


Просмотр профиля Email
« Ответ #1 : Апреля 09, 2014, 04:36:49 pm »

#samewindow
#line 0 solid red

extern pMax = 0.2;
extern pStep = 0.02;
extern pInit = 0.02;

function init()
{
   setInitCandles(1);
}
function calc()
{
   line[0] = IndRef("parabolicsar", pMax, pStep, pInit)[0];
 
   if (close < line[0]) {
signal::alert("Продать: по " + getSecName()+"по " + close +
      " цена пересекла границу сверху вниз.");
signal::output("-Вр." + getFormattedTime(getServerTime()) + "Прод" + getSecName() + "по=" + close );                  
   }
   if (close > line[0]) {
signal::alert("Купить: по " + getSecName()+" по " + close +
      " цена пересекла границу снизу вверх.");
signal::output("-Вр." + getFormattedTime(getServerTime()) + "Пок" + getSecName() + "по=" + close );
                  
   }
}
Записан
Makin
Newbie
*
Сообщений: 14


Просмотр профиля Email
« Ответ #2 : Апреля 10, 2014, 09:22:11 am »

Спасибо RAMIL! Но только при такой кодировке каждый раз по окончании свечи в терминал выкидывается сигнал о нахождении цены (выше/ниже) показателя Parabolc SAR, т.е. на 5-ти мин. таймфрейме дается 12 сигналов, а мне нужен сигнал только момента пересечении Параболика и цены.
Записан
ramil
Newbie
*
Сообщений: 9


Просмотр профиля Email
« Ответ #3 : Апреля 10, 2014, 11:59:50 am »

#samewindow
#line 0 solid red

extern pMax = 0.2;
extern pStep = 0.02;
extern pInit = 0.02;

static vPar = 0;
static Dir = 0;
static PrevDir = 0;

function init()
{
   setInitCandles(1);
}
function calc()
{     
       vPar = IndRef("parabolicsar", pMax, pStep, pInit)[0];
       PrevDir = Dir;
    if (high[0] > vPar) { Dir = 1; }
    if (low[0] < vPar) { Dir = -1; }
   
       line[0][0] = vPar;
     if (Dir < 0 && PrevDir >= 0) {
       signal::alert("Продать:   " + getSecName()+"по " + close +
      " цена пересекла границу сверху вниз.");
      signal::output("--Вр." + getFormattedTime(getServerTime()) +
      "Прод." + getSecName() + "по= " + close +"-ParabolicSar");                 
}
    if (Dir > 0 && PrevDir <= 0) {
      signal::alert("Купить:   " + getSecName()+" по " + close +
      " цена пересекла границу снизу вверх.");
      signal::output("-Вр." + getFormattedTime(getServerTime()) +
      "Пок." + getSecName() + "по= " + close+"-ParabolicSar" );
                 
   }
}
Записан
Makin
Newbie
*
Сообщений: 14


Просмотр профиля Email
« Ответ #4 : Апреля 10, 2014, 03:35:00 pm »

Ramil, спасибо большое, все работает!
Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Какие изменить данные « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!