Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
14.05.2025, 00:02:50
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

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


Просмотр профиля Email
« : 23.09.2011, 11:40:52 »

Помогите новичку! Что нужно добавить в скрипт, чтобы трейд производился на следующей свечке после пересечения ск средних, а то получается очень много ложных сигналов. Когда ск средние пересеклись сразу идет трейд, через минуту они расходятся, и пересечения уже нету,а трейд произведен.
Каким образом можно сделать, чтобы трейд производился только после появления второй свечки, если подтверждается пересечение.

Скрипт:


#samewindow
#line 0 solid blue
#line 1 solid red

extern period1 = 24;
extern period2 = 48;
extern period3 = 9;
static trend = 0;

function calc()

{ setInitCandles(1);

   line[0] = MovAvg(ind_ema, 12, pt_close) - MovAvg(ind_ema, 26, pt_close);
   
   line[1] = MovAvg(ind_ema, 9, line[0]);
      
   if (line[0] > line[1][-1] and line[0][-1] < line[1]) {
      trade_action::buy(100, ::lots);
   }

   if (line[0] < line[1][-1] and line[0][-1] > line[1]) {
      trade_action::sell(100, ::lots);

   }

}
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : 26.09.2011, 17:25:20 »

Просто перенесите код, отвечающий за совершение сделок в функцию onNewCandle:

Code: [Select]
#line 0 solid blue
#line 1 solid red

extern period1 = 24;
extern period2 = 48;
extern period3 = 9;
static trend = 0;

function calc()
{
setInitCandles(1);

   line[0] = MovAvg(ind_ema, 12, pt_close) - MovAvg(ind_ema, 26, pt_close);
   
   line[1] = MovAvg(ind_ema, 9, line[0]);
}


function onNewCandle()
{
   if (line[0] > line[1][-1] and line[0][-1] < line[1]) {
      trade_action::buy(100, ::lots);
   }

   if (line[0] < line[1][-1] and line[0][-1] > line[1]) {
      trade_action::sell(100, ::lots);
   }
}

Записан
Страниц: [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!