Как кодировать? - страница 12

 

Помощь в объяснении кода временного фильтра Tradestation

Здравствуйте,

Я смотрю на код временного фильтра Tradestation, и поскольку я никогда не использовал Tradestation раньше, я не очень уверен в нем. Кто-нибудь, кто имеет опыт работы с ним, может прояснить это?

входы:

time_offset(0), {EST Time}

begin_time(800),

end_time(1600);

если время >=начало_времени + смещение_времени и время <=конец_времени + смещение_времени, то начать

Говорит ли этот код временного фильтра о том, что торговля будет начата с 8.00 утра до 4.00 вечера по восточному времени?

Спасибо за помощь.

 

Число смещения -100 должно использоваться, когда данные находятся, скажем, в Центральном стенде. Вы должны это выяснить.

Что касается логики, она говорит, что если это между 800 и 1600 часами, то нужно начать что-то делать... например, следить за определенными настройками.

Надеюсь, это поможет.

Maji

 

Привет, Маджи,

Спасибо за подтверждение и комментарий по поводу смещения. Теперь я знаю, как использовать смещение.

 

вопрос по масштабированию лотов ... нужна помощь с кодом...

Я знаю, что сам несу ответственность за свои риски при использовании любой стратегии. Я не хочу никого пугать. Я ищу помощи с кодом, который я мог бы поместить в советник, который бы регулировал размер лота ордеров в соответствии с процентом от текущей свободной маржи на счете и позволял бы мне выбирать, с каким процентом от этой маржи входить в следующую позицию.

 

Эй-

Установите внешнее двойное значение, например:

extern double RiskFraction=0.1;

Затем в "start(" добавьте:

double Lots=(MathRound(AccountFreeMargin()*RiskFraction/10.0)/100);

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,0,0,0, "EA Name",MagicNum,0,Green);

.1 означает риск 10% от вашего счета.

Удачи ,

Gavner

 

Вопрос

Gavner:
Привет-

Установите внешнее значение double, например:

extern double RiskFraction=0.1;

Затем в "start(" добавьте:

double Lots=(MathRound(AccountFreeMargin()*RiskFraction/10.0)/100);

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,0,0,0, "EA Name",MagicNum,0,Green);

.1 означает риск 10% от вашего счета.

Удачи ,

Gavner

Это то, что я искал для своего советника.

Также, есть ли часть кода, которая будет ограничивать количество сделок, которые будут открыты на основе доступной маржи.

Пример: Советник будет открывать сделки до тех пор, пока не будет использовано 50% доступного маржинального баланса?

Спасибо!

Spider~

 

Нужны кодеры для взлома кода

viktoriwan:
это выглядит примерно так : if(mov(zig(4,c),4,e) - mov(zig(9,c),7,e)

Здравствуйте... кто-нибудь заметил эту тему и хочет мне помочь?

 
 

Нужен код стоп-лосса, срабатывающего на счете. нужны программисты

Я хотел бы использовать стоп-лосс, который срабатывает, когда капитал счета падает ниже баланса счета на определенный процент. С одной стратегией должно работать что-то простое вроде ZERO процентов , но я хотел бы иметь возможность использовать это и в других стратегиях, поэтому я хотел бы иметь возможность указать допустимый процент потерь для каждой проигрышной позиции таким образом. При срабатывании я бы хотел, чтобы он закрывал все открытые ордера.

Не мог бы кто-нибудь сделать это для меня. У меня есть стратегия, которой это было бы очень полезно. Проблема в том, что традиционный стоп-лосс все портит. Если я смогу остановить проигравшие позиции так, чтобы они не отнимали капитал у победителей, то стратегия должна действительно заработать.

 

if(AccountEquity()<AccountBalance()) {

{

int ttotal = OrdersTotal();

for(int i=ttotal-1;i>=0;i--)

{

OrderSelect(i, SELECT_BY_POS);

int type = OrderType();

bool result = false;

switch(type)

{

//Close opened long positions

case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

break;

//Close opened short positions

case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );

}

if(result == false)

{

Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );

Sleep(3000);

}

}

return(0);

}

}

}

Хорошо, вот что я попробовал ... это в основном скопировано с другого кода, который кто-то здесь сделал ... но он просто закрывает все так быстро, как они открываются и не обращает никакого внимания на условие 'if' перед выполнением закрытия....oy я не хорош в этом.... Я, очевидно, не имею части, которая делает закрытие ордеров достаточно прикреплена к условной линии, которая сравнивает эквити счета с балансом счета. Не мог бы кто-нибудь помочь мне с этим?