Проблема Quik+Metastock через Косинского

  • Автор темы Ronald
  • Дата начала

Ronald

New member
Вечер добрый, дамы и господа.
Помогите разобраться где закралась ошибка.
Сама система выглядит незамысловато:
-----
BS1:=If(Mov(C, 3, S) > Mov(C, 10, S), 1, -1);
BS2:=If(Mov(C, 5, S) > Mov(C, 30, S), 1, -1);

ShortLong:=(BS1+BS2)/2;

Ident:=1;

FakeVar:=ExtFml( "msx_ksr.TradeQuik",ShortLong, "", "" , L, (CLOSE*1), ShortLong, Ident);

ShortLong;
----
Сигналы метастока вроде как корректно прописываются в meta.tri, за исключением двух НО.
Квик входит в длинную позицию по следующему сигналу прописанному в meta.tri:
-----
TRANS_ID=22;ACCOUNT=ХХХ;CLIENT_CODE=ХХХ;TYPE=L;
CLASSCODE=QJSIM;SECCODE=LKOH;ACTION=NEW_ORDER;OPERATION=B;PRICE=1330.73;QUANTITY=1;
----
Так как система по-моему убеждению реверсивная то и сигнал на закрытие лонга и открытие шорта должен быть одинаковым, но с удвоением кол-ва лота, который выглядит почему-то следующим образом:
------
TRANS_ID=23;ACCOUNT=ххх;CLIENT_CODE=ххх;TYPE=L;
CLASSCODE=QJSIM;SECCODE=LKOH;ACTION=NEW_ORDER;OPERATION=S;PRICE=1329;QUANTITY=-1;
---
Только лот не удваивается и в добавок ставит значение "-1", на что квик ругается "Количество в заявке должно быть положительно". Почему "-1" , а не "1" где править, куда смотреть?
Проблема ведь совсем поверхностная, но из-за отсутвия опыта решить её ну никак не могу.
Подскажите пожалуйста дельным совет, что в системе не так, совсем умаялся.
Metastock 10.1
Quik 5.12
 

Dimus

New member
Вечер добрый, дамы и господа.
Помогите разобраться где закралась ошибка.
Сама система выглядит незамысловато:
-----
BS1:=If(Mov(C, 3, S) > Mov(C, 10, S), 1, -1);
BS2:=If(Mov(C, 5, S) > Mov(C, 30, S), 1, -1);

ShortLong:=(BS1+BS2)/2;

Ident:=1;

FakeVar:=ExtFml( "msx_ksr.TradeQuik",ShortLong, "", "" , L, (CLOSE*1), ShortLong, Ident);

ShortLong;
----
Сигналы метастока вроде как корректно прописываются в meta.tri, за исключением двух НО.
Квик входит в длинную позицию по следующему сигналу прописанному в meta.tri:
-----
TRANS_ID=22;ACCOUNT=ХХХ;CLIENT_CODE=ХХХ;TYPE=L;
CLASSCODE=QJSIM;SECCODE=LKOH;ACTION=NEW_ORDER;OPERATION=B;PRICE=1330.73;QUANTITY=1;
----
Так как система по-моему убеждению реверсивная то и сигнал на закрытие лонга и открытие шорта должен быть одинаковым, но с удвоением кол-ва лота, который выглядит почему-то следующим образом:
------
TRANS_ID=23;ACCOUNT=ххх;CLIENT_CODE=ххх;TYPE=L;
CLASSCODE=QJSIM;SECCODE=LKOH;ACTION=NEW_ORDER;OPERATION=S;PRICE=1329;QUANTITY=-1;
---
Только лот не удваивается и в добавок ставит значение "-1", на что квик ругается "Количество в заявке должно быть положительно". Почему "-1" , а не "1" где править, куда смотреть?
Проблема ведь совсем поверхностная, но из-за отсутвия опыта решить её ну никак не могу.
Подскажите пожалуйста дельным совет, что в системе не так, совсем умаялся.
Metastock 10.1
Quik 5.12
FakeVar:=ExtFml( "msx_ksr.TradeQuik",ShortLong, "", "" , L, (CLOSE*1), ShortLong, Ident); - там где жирным выделено "1" поставь - это количество лотов на заявку! У тебя ShortLong не в тему вставлено там.
 

vazer

New member
Нужен совет, не могу сделать так чтобы метасток прописывал транзакции в trans.tri.
Ниже привожу стратегию:

BS1:=If(MACD() > Mov(MACD(),9,E) AND OscP(9,27,E,%) > 0, 1, 0);
BS2:=If(MACD() < Mov(MACD(),9,E) AND OscP(9,27,E,%) < 0, -1, 0);
ShortLong:=(BS1+BS2);
Ident:=Input("MTS Ident",0,1000,0);
FakeVar:=ExtFml( "msx_ksr.TradeQuik",ShortLong, "", "", L, CLOSE, ShortLong, Ident);
ShortLong;

... и то что написано в msx_ksr.ini:

[TradeFile]
Author=Vas
Directory=C:\BCS_Quik\
ClosePositionAtLastBar=yes

[TradeQuik]
File=C:\BCS_Quik\trans.tri
Account=SPBFUT00POT
ClientCode=10001
TransId=104
Template=TRANS_ID=%N; ACCOUNT=%A; CLIENT_CODE=%C; TYPE=%T; CLASSCODE=SPBFUT; SECCODE=%S; ACTION=NEW_ORDER; OPERATION=%O; PRICE=%P; QUANTITY=%Q;
ClassCode=SPBFUT

[C:\MetaStock Data\RIH0(1)]
File=C:\BCS_Quik\trans.tri
ClassCode=SPBFUT
SecCode=RIH0
Account=SPBFUT00POT
ClientCode=10001

Не могу врубиться что не так, уже мозги кипят. Пожалуйста подскажите что не так!
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху