Tradestation easylanguage compile errors

Tradestation source code copied from ''source code' tab using 'copy to clipboard' button do not compile within tradestation. The reason is double definitions of the variables.

See:     LongTrailingStop(0),ShortTrailingStop(0),

inputs:
    // Strategy variables
    MagicNumber(11111),
    LongTEMAPeriod(14),
    LongTEMAShift(1),
    LongCloseShift(1),
    LongBarsValid(168),
    LongExitAfterBars(0),
    LongProfitTargetCoef(2.9),
    LongProfitTrgAtrPrd(30),
    LongStopLoss(659),
    LongTrailingStop(340),
    LongBollingerBndPrd(52),
    LongBollingerBndDvt(2.1),
    LongBollingerBndShf(1),
    LongNumber(0.6),
    LongBBWidthRatioPrd(95),
    LongBBWidthRatioDvt(2.4),
    LongBBWidthRatioShf(1),

    // Trading Options
    ExitAtEndOfDay(true),
    DayExitTime(1500),   
    ExitOnFriday(false),
    FridayExitTime(2100),
    LimitSignalsTimeRange(false),
    SignalTimeRangeFrom(0800),
    SignalTimeRangeTo(1600),
    ExitAtEndOfRange(false),
    MaxTradesPerDay(1),
    MinimumSL(0),  // Minimum SL in ticks/pips, 0 means unlimited
    MaximumSL(0),  // Maximum SL in ticks/pips, 0 means unlimited
    MinimumPT(0),  // Minimum PT in ticks/pips, 0 means unlimited
    MaximumPT(0),  // Maximum PT in ticks/pips, 0 means unlimited   
  // Money Management - Stocks Size by price
    bool mmUseAccountBalance(true),
    double mmMaxSize(1.0),
    InitialCapital(1000),
    CreatedBy("StrategyQuant X"); 

vars:
    // Internal variables
    LongEntrySignal(false),
    ShortEntrySignal(false),
    LongExitSignal(false),
    ShortExitSignal(false),
    NumberOfShares(0),
    tickSize(MinMove/PriceScale),
    OpenOrdersAllowed(true),
    PriceLevel(0),LongSL(0),ShortSL(0),PT(0),
    LongTrailingStop(0),ShortTrailingStop(0),
    LongSLPlaced(false),ShortSLPlaced(false);
Attachments
No attachments
  • Votes 0
  • Project StrategyQuant X
  • Type Bug
  • Status Refused
  • Priority Normal

History

Kc
#1

coensio

09.10.2019 17:04

Task created

MF
#2

Mark Fric

10.10.2019 12:51

Status changed from New to Waiting for information

please post the complete starteg or .sqx fomaty, I cannot reproduce it
Kc
#3

coensio

11.10.2019 10:41

Because you guys are not using SQX for trading...or for anything else than only for making money by selling it....if you would use your own software you would be able to reproduce and find all the bugs...


Once again I cannot share my IP in public.

MF
#4

Mark Fric

11.10.2019 10:58

Status changed from Waiting for information to Refused

without strategy I have to refuse this task, it cannot be reproduced.


You don't need to attach some of your final "good" strategies, only some random startegy that does the same.


And I don't appreciate your comment. Do you think I haven't tested SQ strategies in Tradestation? 

I tested hundreds of them and never run into this problem.


Given so many strategy variants SQ produces there could be some that don't compile properly because we didn't experienced it yet. That's why we need somethign that wil help us reproduce this behavior.


Kc
#5

coensio

13.10.2019 11:48

ok guys I see our great SQX dev team refused this ticket. For all other people struggling with the same issue here is a work around(indicated in bold text) :


Orignal SQX generated code:

inputs:
    // Strategy variables
    MagicNumber(11111),
    LongIchKmoBrkBllTnkPrd(142),
    LongIchKmoBrkBllKjnPrd(26),
    LongIchKmoBrkBllSnkPrd(52),
    LongIchKmoBrkBllShf(1),
    LongBarsValid(11),
    LongExitAfterBars(0),
    LongProfitTargetCoef(3.8),
    LongProfitTrgAtrPrd(30),
    LongStopLoss(835.2),
    LongTrailingStop(240),
    LongHighestPeriod(50),
    LongHighestShift(1),

    // Trading Options
    ExitAtEndOfDay(true),
    DayExitTime(1500),   
    ExitOnFriday(false),
    FridayExitTime(2100),
    LimitSignalsTimeRange(false),
    SignalTimeRangeFrom(0800),
    SignalTimeRangeTo(1600),
    ExitAtEndOfRange(false),
    MaxTradesPerDay(1),
    MinimumSL(0),  // Minimum SL in ticks/pips, 0 means unlimited
    MaximumSL(0),  // Maximum SL in ticks/pips, 0 means unlimited
    MinimumPT(0),  // Minimum PT in ticks/pips, 0 means unlimited
    MaximumPT(0),  // Maximum PT in ticks/pips, 0 means unlimited   

    // Money Management - Fixed size
    mmLots(1),
    InitialCapital(1000),
    CreatedBy("StrategyQuant X"); 

vars:
    // Internal variables
    LongEntrySignal(false),
    ShortEntrySignal(false),
    LongExitSignal(false),
    ShortExitSignal(false),
    NumberOfShares(0),
    tickSize(MinMove/PriceScale),
    OpenOrdersAllowed(true),
    PriceLevel(0),LongSL(0),ShortSL(0),PT(0),
    LongTrailingStop(0),ShortTrailingStop(0),
    LongSLPlaced(false),ShortSLPlaced(false);

    Array: bool cond[100](false);



Work around:

vars:
    // Strategy variables
    MagicNumber(11111),
    LongIchKmoBrkBllTnkPrd(142),
    LongIchKmoBrkBllKjnPrd(26),
    LongIchKmoBrkBllSnkPrd(52),
    LongIchKmoBrkBllShf(1),
    LongBarsValid(11),
    LongExitAfterBars(0),
    LongProfitTargetCoef(3.8),
    LongProfitTrgAtrPrd(30),
    LongStopLoss(835.2),
    LongTrailingStop(240),
    LongHighestPeriod(50),
    LongHighestShift(1),

    // Trading Options
    ExitAtEndOfDay(true),
    DayExitTime(1500),   
    ExitOnFriday(false),
    FridayExitTime(2100),
    LimitSignalsTimeRange(false),
    SignalTimeRangeFrom(0800),
    SignalTimeRangeTo(1600),
    ExitAtEndOfRange(false),
    MaxTradesPerDay(1),
    MinimumSL(0),  // Minimum SL in ticks/pips, 0 means unlimited
    MaximumSL(0),  // Maximum SL in ticks/pips, 0 means unlimited
    MinimumPT(0),  // Minimum PT in ticks/pips, 0 means unlimited
    MaximumPT(0),  // Maximum PT in ticks/pips, 0 means unlimited   

    // Money Management - Fixed size
    mmLots(1),
    InitialCapital(1000),
    CreatedBy("StrategyQuant X"); 

vars:
    // Internal variables
    LongEntrySignal(false),
    ShortEntrySignal(false),
    LongExitSignal(false),
    ShortExitSignal(false),
    NumberOfShares(0),
    tickSize(MinMove/PriceScale),
    OpenOrdersAllowed(true),
    PriceLevel(0),LongSL(0),ShortSL(0),PT(0),
    //LongTrailingStop(0),ShortTrailingStop(0),
    LongSLPlaced(false),ShortSLPlaced(false);

    Array: bool cond[100](false);

MF
#6

Mark Fric

13.10.2019 12:48
I told you I need to see an example of strategy to be able to fix it.


Your workaround is a very bad solution, these two variables LongTrailingStop, ShortTrailingStop are used internally and strategy changes its values.


Votes: 0

Drop files to upload

or

choose files

Max size: 5MB

Not allowed: exe, msi, application, reg, php, js, htaccess, htpasswd, gitignore

...
Wait please