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

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


Просмотр профиля Email
« : 18.08.2014, 18:17:54 »

Господа, помогите, пожалуйста, непрограммисту применить в существующем скрипте анализ текущей позиции на ФОРТСе.
Что нужно добавить, чтобы заявки на покупку активировались бы, только если текущая позиция на ФОРТСе была равна 0, а заявки на продажу активировались бы, только если текущая позиция на ФОРТСе была больше 0. Причём сигнал на продажу купленного ранее контракта может быть получен спустя несколько недель после покупки (если это имеет, какое либо значение).
#samewindow
#line 0 solid green   
#line 1 solid red
  function init() 
{
setInitCandles(1);
}
function calc()
{
line[0] = MovAvg(ind_ema, 50, pt_close);
line[1] = MovAvg(ind_ema, 70, pt_close);
}
function  onNewCandle()   
{
if(close[-1]>line[0][-1] and  close[-2]<line[0][-2]){   
trade_action::buy(1, ::lots,close+10);}     
 if(close[-1]<line[1][-1] and  close[-2]>line[1][-2]){   
 trade_action::sell(1, ::lots,close-10);}       
 }
Записан
eurusd_05
Newbie
*
Сообщений: 20


Просмотр профиля Email
« Ответ #1 : 05.11.2014, 16:23:23 »

тут не все так просто сначала надо эту текущую позицию получить через команду getFORTSPosition(client, sec) а это хэш сам думаю над этим
Записан
aq2003
Jr. Member
**
Сообщений: 64


Просмотр профиля Email
« Ответ #2 : 19.11.2014, 06:53:39 »

Вот пример кода, как получать текущую позицию и деньги со срочного рынка:

function FORTS_getSecBalance()
{

   var a = getSecInfo();
   var i = getFORTSPosition(client, a["secid"]);
   return i["totalnet"];
}

function FORTS_getMoneyBalance()
{

   var a = getSecInfo();
   var i = getFORTSPosition(client, a["secid"]);
   return i["mfree"];
}

Фишка в том, что данные срочного рынка не обновляются автоматически, надо делать вручную. Для этого надо вызывать requestFORTSPositions(client) регулярно либо по событиям onTrade, onOrder.
Записан
jeekk
Newbie
*
Сообщений: 5


Просмотр профиля Email
« Ответ #3 : 05.11.2017, 18:26:33 »

Задача стоит в определении открытой текущей позиции.

function totalForts(){
    var CliArr = new_object("array");   
    CliArr = getClient();
    var SecArr = new_object("array");
    SecArr = getSecInfo(); 
    var TotArr = new_object("array");   
    TotArr = getFORTSPosition(CliArr["client"], SecArr["secid"]); 
    return TotArr["totalnet"];                   // возращаем текущую позицию       
}

Надо вызывать requestFORTSPositions(client) регулярно либо по событиям onTrade, onOrder.

На программном примере, как будет выглядеть?
« Последнее редактирование: 06.11.2017, 12:34:41 от jeekk » Записан
jeekk
Newbie
*
Сообщений: 5


Просмотр профиля Email
« Ответ #4 : 06.11.2017, 14:52:33 »

Может вот так:

function totalForts(){
      requestFORTSPositions(getClient());
      var  TotArr = getFORTSPosition(getClient(), getSecInfo()); 
    return TotArr["totalnet"];                         
}

Так все зависает... Проблема в requestFORTSPositions(getClient());

function totalForts(){
      var  TotArr = getFORTSPosition(getClient(), getSecInfo()); 
    return TotArr["totalnet"];                         
}
« Последнее редактирование: 07.11.2017, 11:05:20 от jeekk » Записан
Страниц: [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!