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

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

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.02.2014, 07:14:15 »
Heller, Расскажите пожалуйста про особенности Transaq MMA, эти терминала существенно разные ?

32
Klimov, Расскажите пожалуйста про особенности MMA, эти терминала существенно разные ?

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

34
Значит на каждом тике в функции calc() - создаете объекты типа хешев, или массивов. Они копятся,...Либо Хеш не правильно заполняете - что его раздувает до неимоверных размеров.

35
Init() -  не будет Notify обрабатывать, ...

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

 

36
Массивы есть в скрипте ? Как заполняете их ?

37
curPos=pos["totalnet"];
        if (pos.size()==1)
        {
           curPos=0;
        }

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

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

38
По какой переменной вы судите что она не возвращается ?

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.02.2014, 17:58:57 »
Ответ на первое сообщение:

#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
По поводу кавычек, если честно не помню,...надо читать мануал на докувики,...
Но если бы все статические переменные были равные 1 при запуске скрипта - была бы несуразица,.. если вы в скрипте  в функции init() -  сделаете самый первый вывод (алерт)  переменной "с" - то увидите что она равна нулю.

45
По умолчанию значение переменной с = 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!