Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
Сентября 13, 2024, 08:54:38 pm
Новости:
Transaq
|
СБО "Transaq"
|
Подсистема ATF
| Topic:
Текущая позиция на ФОРТС
« предыдущая тема
следующая тема »
Страниц:
[
1
]
Автор
Тема: Текущая позиция на ФОРТС (Прочитано 4904 раз)
kasian
Newbie
Сообщений: 1
Текущая позиция на ФОРТС
«
:
Августа 18, 2014, 06:17:54 pm »
Господа, помогите, пожалуйста, непрограммисту применить в существующем скрипте анализ текущей позиции на ФОРТСе.
Что нужно добавить, чтобы заявки на покупку активировались бы, только если текущая позиция на ФОРТСе была равна 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
Re: Текущая позиция на ФОРТС
«
Ответ #1 :
Ноября 05, 2014, 04:23:23 pm »
тут не все так просто сначала надо эту текущую позицию получить через команду getFORTSPosition(client, sec) а это хэш сам думаю над этим
Записан
aq2003
Jr. Member
Сообщений: 64
Re: Текущая позиция на ФОРТС
«
Ответ #2 :
Ноября 19, 2014, 06:53:39 am »
Вот пример кода, как получать текущую позицию и деньги со срочного рынка:
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
Re: Текущая позиция на ФОРТС
«
Ответ #3 :
Ноября 05, 2017, 06:26:33 pm »
Задача стоит в определении открытой текущей позиции.
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, 2017, 12:34:41 pm от jeekk
»
Записан
jeekk
Newbie
Сообщений: 5
Re: Текущая позиция на ФОРТС
«
Ответ #4 :
Ноября 06, 2017, 02:52:33 pm »
Может вот так:
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, 2017, 11:05:20 am от jeekk
»
Записан
Страниц:
[
1
]
Transaq
|
СБО "Transaq"
|
Подсистема ATF
| Topic:
Текущая позиция на ФОРТС
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
J
-----------------------------
-----------------------------
П
-----------------------------
-----------------------------
0
-----------------------------
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Powered by SMF 2.0.10
|
SMF © 2006-2008, Simple Machines LLC
Загружается...