пятница, 5 июня 2020 г.

736Z1 Ma2KAtr

736Z1 
NewPositionEvaneHandler() =>

 if (Ma1KAtr2.IsEquals(0.0f)) return;
            if (Ma1KAtr2.IsGreaterThan(Ma1KAtr))
            {
                var pos = Position.Quantity;
                var k = Ma1KAtr + (Ma1KAtr2 - Ma1KAtr)*pos/Contracts;
                XTrend.SetKAtr(k);
            }
            else if (Ma1KAtr2.IsLessThan(Ma1KAtr))
            {
                //var pos = Position.Quantity;
                //var zn = Math.Ceiling(Contracts/2f);
                //if (!(pos >= zn)) return;
                //var diff = zn - (Contracts - pos);
                //var k = Ma1KAtr - (Ma1KAtr2 - Ma1KAtr)*diff/zn;
                //XTrend.SetKAtr((float) k);
                var pos = Position.Quantity;
                // var posdiff = Contracts - pos;
                var k = Ma1KAtr - (Ma1KAtr - Ma1KAtr2) * pos / Contracts;
                XTrend.SetKAtr(k);

            }

if (Ma1KAtr2.IsEquals(0.0f)) return;
            if (Ma1KAtr2.IsGreaterThan(Ma1KAtr))
            {
                var pos = Position.Quantity;
                var k = Ma1KAtr + (Ma1KAtr2 - Ma1KAtr)*pos/Contracts;
                XTrend.SetKAtr(k);
            }
            else if (Ma1KAtr2.IsLessThan(Ma1KAtr))
            {
                //var pos = Position.Quantity;
                //var zn = Math.Ceiling(Contracts/2f);
                //if (!(pos >= zn)) return;
                //var diff = zn - (Contracts - pos);
                //var k = Ma1KAtr - (Ma1KAtr2 - Ma1KAtr)*diff/zn;
                //XTrend.SetKAtr((float) k);
                var pos = Position.Quantity;
                // var posdiff = Contracts - pos;
                var k = Ma1KAtr - (Ma1KAtr - Ma1KAtr2) * pos / Contracts;
                XTrend.SetKAtr(k);
            }


736T
<Z00736T>
    <Name>Z00736.100</Name>
    <Code>Z00736T.5.5.188.068.224.19</Code>
    <TradeAccountKey>Quik.Simulate</TradeAccountKey>
    <TradeTerminalType>Simulator</TradeTerminalType>
    <TradeTerminalKey>MyTerminal</TradeTerminalKey>
    <TimePlanKey>Forts.Standard</TimePlanKey>
    <TickerKey>SiM0</TickerKey>
    <TimeInt>5</TimeInt>

    <Ma1Length>300</Ma1Length>
    <Ma1AtrLength>100</Ma1AtrLength>
    <Ma1KAtr>1.4</Ma1KAtr>
    <Ma1Mode>1</Ma1Mode>

    <TimeInt2>68</TimeInt2>

    <Ma2KAtr>2.24</Ma2KAtr>

Z007 Init()
 if (TimeInt2 > 0 && TimeInt2 != TimeInt)
                {
                    if (Ma2KAtrMltp.IsGreaterThan(0f))
                        PrimTrend = TradeContext.RegisterTimeSeries(
                            new Xma018("Xma18_2", Ticker, (int) TimeInt2, Ma1Length, MaAtrLength1, MaAtrLength2,  Ma1KAtr*Ma2KAtrMltp,
                                Ma1Mode)) as Xma018;
                    else if (Ma2KAtr.IsGreaterThan(0f))
                        PrimTrend = TradeContext.RegisterTimeSeries(
                            new Xma018("Xma18_2", Ticker, (int) TimeInt2, Ma1Length, MaAtrLength1, MaAtrLength2, Ma2KAtr,
                                Ma1Mode)) as Xma018;
                    //else if (Ma2KAtr > 0f)
                    //    PrimTrend = TradeContext.RegisterTimeSeries(
                    //        new Xma018("Xma18_2", Ticker, (int) TimeInt, Ma1Length, MaAtrLength1, MaAtrLength2, Ma2KAtr,
                    //            Ma1Mode)) as Xma018;
                }
                else
                {
                    if (Ma2KAtrMltp.IsGreaterThan(0f))
                        PrimTrend = TradeContext.RegisterTimeSeries(
                            new Xma018("Xma18_2", Ticker, (int)TimeInt, Ma1Length, MaAtrLength1, MaAtrLength2, Ma1KAtr * Ma2KAtrMltp,
                                Ma1Mode)) as Xma018;
                    else if (Ma2KAtr.IsGreaterThan(0f))
                        PrimTrend = TradeContext.RegisterTimeSeries(
                            new Xma018("Xma18_2", Ticker, (int)TimeInt, Ma1Length, MaAtrLength1, MaAtrLength2, Ma2KAtr,
                                Ma1Mode)) as Xma018;
                }


Комментариев нет:

Отправить комментарий