Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Января 29, 2022, 01:09:02 am
Начало Помощь Поиск Войти Регистрация
Новости:

Просмотр сообщений

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - White Noise

Pages: 1 2 [3] 4 5 ... 11
31
Подсистема ATF / Transaq MMA
« on: Февраля 26, 2014, 07:14:15 am »
Heller, Расскажите пожалуйста про особенности Transaq MMA, эти терминала существенно разные ?

32
Торговый терминал Transaq / Re: открытый интерес
« on: Февраля 26, 2014, 07:13:34 am »
Klimov, Расскажите пожалуйста про особенности MMA, эти терминала существенно разные ?

33
Торговый терминал Transaq / Transaq MMA
« on: Февраля 25, 2014, 01:26:20 pm »
Привет всем !!! Кто знает что-либо про Transaq MMA ? Кто пользовался, расскажите ?

34
Подсистема ATF / Re: Загрузка памяти и процессора
« on: Февраля 23, 2014, 02:21:58 pm »
Значит на каждом тике в функции calc() - создаете объекты типа хешев, или массивов. Они копятся,...Либо Хеш не правильно заполняете - что его раздувает до неимоверных размеров.

35
Подсистема ATF / Re: Позиция на фортс
« on: Февраля 23, 2014, 02:18:58 pm »
Init() -  не будет Notify обрабатывать, ...

У вас ошибки скорее всего в других частях скрипта, или в типах переменных. Больше чем уверен, что переменная pos - у вас глобальная.

 

36
Подсистема ATF / Re: Загрузка памяти и процессора
« on: Февраля 21, 2014, 01:41:39 pm »
Массивы есть в скрипте ? Как заполняете их ?

37
Подсистема ATF / Re: Позиция на фортс
« on: Февраля 21, 2014, 01:00:15 pm »
curPos=pos["totalnet"];
        if (pos.size()==1)
        {
           curPos=0;
        }

Если дословно разобрать выше написанное, то звучит так:

Пусть наш pos["totalnet"] равен 2, тогда curPos = 2, но так как она локальная при каждом тике в калке она сбрасывается и становится: curPos = 0 . т.е. еще до вашего вывода алерта по ней. сделайте ее просто static.

38
Подсистема ATF / Re: Позиция на фортс
« on: Февраля 21, 2014, 06:17:37 am »
По какой переменной вы судите что она не возвращается ?

39
Суть такая : когда вы провели весь цикл своих операций, inmarket   эта переменная и так становится = 0,  function onTrade(var id) - заканчивает свою работу и больше не вызывается, но как вы объясните функции calc() - что ей бы тоже не мешало остановиться - чтобы не накручивать inmarket .

Вы скажете что она там не накручивается !!!!

Ан нет: если inmarket стал = 0, то  хоть одно условие выполнится:
№1:  if (trend == 1 && line[0] < line[1])
№2 : if (trend == -1 && line[0] > line[1])
№3:  while (inmarket < 1)        -  а это уже выполняется,...

вот тут :
function calc()
{
   if (inmarket == 0) {
                                                if (trend == 1 && line[0] < line[1])
                                              {
                                                 while (inmarket < 1)
                                                         {  trade_action::sell(lot, ::lots);       
                                                             inmarket += 1;
                                                             signal::alert("inmarket=1, sell !!!"); } 
                                               }
                                  if (trend == -1 && line[0] > line[1])
                                             {
                                                while (inmarket < 1) 
                                                           {  trade_action::buy(lot, ::lots);             
                                                              inmarket += 1; 
                                                              signal::alert("inmarket = 1, buy!!!");    } 
                                             }
                                          }           
}

так как у вас стоят  trade_action::buy(lot, ::lots);  и trade_action::sell(lot, ::lots);  ,    signal::alert("inmarket = 1, buy!!!");  - не кратные версии - то сюда хоть сколько калков запускай - ни сделки ни алерта - больше чем положенных "Одна штука на свечку" - не произойдет. т.е. не будет продаж, и покупок, а соответственно и не вызовется больше  function onTrade(var id),....

А вот ваш inmarket - заплюсует  += 1;  Вот и все !!!

40
Подсистема ATF / Re: Открытие дня
« on: Февраля 16, 2014, 05:58:57 pm »
Ответ на первое сообщение:

#samewindow
#line 0 solid red


static x;

function init()
{
   var t1 = getSystemTime();
   var Day = getDay(t1);
   var Month = getMonth(t1);
   var Year = getYear(t1);
   var time = getTimeObject(10,1, Day, Month, Year);
   var n = getCandleByTime(time);
   x = open[n];
 
}

function calc()
{
  line[0] = x;
}

41
Не числа там менять не надо, вы просто задаете в свойствах сами - какой период, но из соображений осознания что вы скрипт ставите именно на 15 синутку например. Пишите 15.

Вот версия которая начинает работать с начала первой минуты после установки,...- в целом работает !!!



extern period = 1;
static time;
static a;
static b;

function f() { if(b) {a -= 1;   

if(a == 0){  a = 60*period;  }   setEnvVariable("time",a);  } }


function onNewCandle() { b = 1;    }

function init() { a = 60*period;   time = setTimer("f",1000, TIMER_PERIODICALLY); }


Но проблема в том что вывод я сделал в окружение ATF - в окошке,...а это неудобно - блокируются ваши действия относительно графиков.

Можно конечно сделать вывод в окно вывода сообщений.

это так же, но просто взамен функции  : setEnvVariable("time",a);  поставьте вывод сообщения

42
extern period = 15;
static time;
static a;
static b;

function f() { if(b) {a -= 1;   

if(a == 0){  a = period;  }   setEnvVariable("time",a);  } }


function onNewCandle() { b = 1;    }

function init() { a = period;     time = setTimer("f",60000, TIMER_PERIODICALLY); }

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


static time;
static a;

function f { a -= 1;    if(a == 0){  a = 60;  }   setEnvVariable("time", a);  }

function init() { a = 60;  time = setTimer("f",1000, TIMER_PERIODICALLY); }

=============================================================
это для больших периодов: показывает сколько минут осталось до закрытия

extern period = 15;
static time;
static a;

function f { a -= 1;    if(a == 0){  a = period;  }   setEnvVariable("time", a);  }

function init() { a = period;     time = setTimer("f",60000, TIMER_PERIODICALLY); }

44
Подсистема ATF / Re: Tестировщик стратегий ATF
« on: Февраля 13, 2014, 05:47:15 am »
По поводу кавычек, если честно не помню,...надо читать мануал на докувики,...
Но если бы все статические переменные были равные 1 при запуске скрипта - была бы несуразица,.. если вы в скрипте  в функции init() -  сделаете самый первый вывод (алерт)  переменной "с" - то увидите что она равна нулю.

45
Подсистема ATF / Re: Вопрос по индикатору
« on: Февраля 12, 2014, 01:09:35 pm »
По умолчанию значение переменной с = 0, ....когда произошел запуск скрипта, функция calc() - слева на право начинает калькулировать историю, пока мы не добрались добрались до нужной даты,...как только добрались - зашли в скобки, а там условие - смотрим = выполняется,....тогда в этот самый момент меняем условие с = 1, чтобы больше в эти внутренние скобки не заходило и соответственно присваиваем (фиксируем в статик) цену close - закрытие этой свечки - а это у нас начало нашего периода,....после чего  скрипт выполняется имея цену начала периода в переменной price.

Pages: 1 2 [3] 4 5 ... 11


Войти

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