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

 

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

Когда я добавляю к этому следующее...

if(AccountEquity()+8<AccountBalance())

он ведет себя точно так же, как стоп-лосс на уровне 8.

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

 

Проблема отладки кода... срабатывание трейлинг-стопа... нужны кодеры

for(cnt=0;cnt<total;cnt++) {

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) {

if(OrderType()==OP_BUY){

if(TrailingStop>0) {

if(Bid-OrderOpenPrice()>Point*TrailingStopTrigger) {

if(OrderStopLoss()<Bid-Point*TrailingStop) {

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}else{

if(TrailingStop>0) {

if((OrderOpenPrice()-Ask)>(Point*TrailingStopTrigger)) {

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) {

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

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

Мне интересно, если это правильно написано как 'Point*TrailingStopTrigger', должно ли это умножаться или просто добавлять значение TrailingStopTrigger к Point для позиций на продажу и вычитать, если для позиций на покупку. Вот почему он не срабатывает так, как должен? Или есть что-то еще?

 

есть ли у вас демо-версия fxdd? если да, то измените цвет на 0.

 
BluePearl:
У вас есть демо-версия fxdd? Если да, то измените цвет на 0.

я использую демо-версию interbankFX. может ли цвет препятствовать срабатыванию?

 

попробуйте сделать это с ibfx. я знаю, что это проблема с fxdd, если вы используете название цвета в команде модификации ордера.

 

Похоже, это не изменит результаты. Возможно, я ошибался, полагая, что он должен был сработать.

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

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

Я не знаю, как такое правило может быть запрограммировано. Я только что вручную просмотрел первые 20 сделок, и он закрыл бы 15 из 20, так что это не поможет.

Я открыт для предложений.

Файлы:
 

Кто-нибудь, ПОЖАЛУЙСТА, закодируйте это из TS для меня...

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

Может ли кто-нибудь, пожалуйста, закодировать для меня следующие индикаторы? Они написаны на языке TradeStation (не)Easylanguage.

Если у вас возникнут проблемы, напишите мне в PM/почту.

Я знаю, что это много работы, но она будет того стоить, когда тот, кто их закодирует, будет знать, что это за метод...

SB

Файлы:
 

Прежде чем кто-то возьмется за эту задачу, не могли бы вы объяснить, что это за стратегии, и дать некоторые детали, url ссылки для них. Если это выигрышная стратегия, то кто-то возьмется за эту задачу. В противном случае, зачем кому-то тратить свое время на перевод.

Спасибо,

 

Почему этот код не работает?

Я пытаюсь написать кусок кода, который будет изменять TP существующих сделок. Когда я прикрепляю код к графику, он работает только для той валюты, к которой прикреплен эксперт. Он не изменяет другие сделки из других валютных пар. Обратите внимание, что я не проверяю OrderSymbol()==Symbol() в своем коде. Где здесь ошибка? Должен ли я добавлять "return(0)" после каждого OrderModify()? Можете ли вы мне помочь?

Позволяет ли эксперт открывать/закрывать/модифицировать сделки другой валютной пары, если эксперт привязан только к одному графику? Я пытаюсь написать универсальный код, который будет обрабатывать (т.е. либо модифицировать, либо закрывать) все существующие сделки независимо от того, к какому графику прикреплен эксперт. Кто-нибудь может подтвердить, возможно ли это вообще? Если да, то что не так в следующем коде?

int mTrades=OrdersTotal();

if (mTrades>0)

{

for (i=0;i<mTrades;i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() == OP_BUY)

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Ask+100*Point, White);

}

if (OrderType() == OP_SELL)

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Bid-100*Point, White);

}

}

}

 
fxd01:
Я пытаюсь написать часть кода, который будет изменять TP всех существующих сделок. Когда я прикрепляю код к графику, он работает только для той валюты, к которой прикреплен эксперт. Он не изменяет другие сделки из других валютных пар. Обратите внимание, что я не проверяю OrderSymbol()==Symbol() в своем коде. Где здесь ошибка? Должен ли я добавлять "return(0)" после каждого OrderModify()? Можете ли вы мне помочь?

Позволяет ли эксперт открывать/закрывать/модифицировать сделки другой валютной пары, если эксперт привязан только к одному графику? Я пытаюсь написать универсальный код, который будет обрабатывать (т.е. либо модифицировать, либо закрывать) все существующие сделки независимо от того, к какому графику прикреплен эксперт. Кто-нибудь может подтвердить, возможно ли это вообще? Если да, то что не так в следующем коде?

int mTrades=OrdersTotal();

if (mTrades>0)

{

for (i=0;i<mTrades;i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() == OP_BUY)

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Ask+100*Point, White);

}

if (OrderType() == OP_SELL)

{

OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Bid-100*Point, White);

}

}

}

проблема в том, что вы используете Ask и Bid для цены.

Попробуйте вместо них использовать MarketInfo(OrderSymbol(),MODE_BID) и MarketInfo(OrderSymbol(),MODE_ASK).

Причина обращения: