сигналы(signal name)

4/15/2011 5:08:34 PM
Gravatar
Total Posts 142

сигналы(signal name)

Хочу уточнить по поводу сигналов, в факе написано, что их нельзя использовать при реальной торговле. Что мне сделать с таким кодом, чтобы все стало нормально?

[CODE]using System;

using System.Collections.Generic;

using System.Text;

using System.Drawing;

using WealthLab;

using WealthLab.Indicators;

namespace WealthLab.Strategies

{

public class MyStrategy : WealthScript

{

protected override void Execute()

{

for(int bar = 20; bar < Bars.Count; bar++)

{

if (IsLastPositionActive) // Exit Long Position

{

Position pos = LastPosition;

int PosLenth = bar +1 - LastPosition.EntryBar; // Buy Bar = Bar+1

string signal = pos.EntrySignal;

if ( signal == "My Long" ) //Exit Long Position

{

SellAtMarket(bar + 1, LastPosition); //Вышли из позиции

}//Exit IF for Long

if ( signal == "My Short" ) //Exit Short Position

{

CoverAtMarket(bar + 1, LastPosition); //Вышли из позиции

}//Exit IF for Short

}//Exit IsLastPositionActive

else // Enter Long Porsition

{

if (true)//Условие входа Long)

{

BuyAtMarket(bar + 1, "My Long");

}

if (false) //Условие вход Short )

{

ShortAtMarket(bar + 1, "My Short");

}

}

}//End If Last Position

} // Выход из цикла

}

}[/CODE]

4/15/2011 5:17:32 PM
Gravatar
Total Posts 151

RE:сигналы(signal name)

Ничего сложного делать не придется. Вместо метки при входе в позицию используйте в условии тип позиции(например для длинной позиции условие pos.PositionType == PositionType.Long)[CODE]using System;

using System.Collections.Generic;

using System.Text;

using System.Drawing;

using WealthLab;

using WealthLab.Indicators;

namespace WealthLab.Strategies

{

public class MyStrategy : WealthScript

{

protected override void Execute()

{

for(int bar = 20; bar < Bars.Count; bar++)

{

if (IsLastPositionActive) // Exit Long Position

{

Position pos = LastPosition;

int PosLenth = bar +1 - LastPosition.EntryBar; // Buy Bar = Bar+1

//string signal = pos.EntrySignal;

if (pos.PositionType == PositionType.Long[) //Exit Long Position

{

SellAtMarket(bar + 1, LastPosition); //Вышли из позиции

}//Exit IF for Long

if (pos.PositionType == PositionType.Short) //Exit Short Position

{

CoverAtMarket(bar + 1, LastPosition); //Вышли из позиции

}//Exit IF for Short

}//Exit IsLastPositionActive

else // Enter Long Porsition

{

if (true)//Условие входа Long)

{

BuyAtMarket(bar + 1, "My Long");

}

if (false) //Условие вход Short )

{

ShortAtMarket(bar + 1, "My Short");

}

}

}//End If Last Position

} // Выход из цикла

}

}[/CODE]