[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 879

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


нужен код или кусок кода - без кода только на уровне совета

а советов мало:

1) проверять на количество открытых ордеров по этому сигналу

2) проверять на время появления сигнала (привязать к текущему бару, если сигнал в пределах бара один)

3) совместно 1) и 2)

 
abolk:


нужен код или кусок кода - без кода только на уровне совета

а советов мало:

1) проверять на количество открытых ордеров по этому сигналу

2) проверять на время появления сигнала (привязать к текущему бару, если сигнал в пределах бара один)

3) совместно 1) и 2)

Спасибо! Буду пробовать.

 
Спасибо за совет по отладке советника. Кстати, я пока новичек на форуме и не всегда понимаю сленг. Что такое ИМХО? :)
artmedia70:

Что-то я не припомню когда это я вам подсказывал как на форум заходить... :)

Без самого советника по одним только записям журнала оптимизации вам врядли тут кто сможет помочь. Экстрасенсы всю декаду отдыхают... :)

И зачем вообще сразу взялись оптимизировать? Сначала просто тест прогоните и смотрите на ошибки.

Оптимизация, если таковая вообще требуется, нужна на заключительном этапе тестирования советника и стратегии в целом

для подбора оптимальных значений переменных. Хотя лично я, ИМХО, считаю, что это есть тупо подгонка под исторические данные,

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

 
boris.45:
Что такое ИМХО? :)
Можно сказать просто "По моему"
 

while или if ?

Профи, объясните, пожалуйста, тонкости.

Тестил на GBPUSD за 2 февраля 2010.

№1 

int start()
{ if(OrdersTotal()==0) //Когда нет ни одного ордера
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-60*Point,Ask+30*Point);
  return; }

Этот работает, открыл и закрыл 4 ордера.

 

№2 

int start()
{ while(OrdersTotal()==0) //Когда нет ни одного ордера
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-60*Point,Ask+30*Point);
return; }
Этот не хочет работать, вот что пишет в журнале:

Немного модифицировал, заработал

№3

int start()
{ while(OrdersTotal()==0) //Когда нет ни одного ордера
OrderSend(Symbol(),OP_BUY,0.1,NormalizeDouble(Ask,4),3,
NormalizeDouble(Ask-60*Point,4),NormalizeDouble(Ask+30*Point,4));
return; }
 

 

 Собственно, вопросы:

Почему с " if " (№1) все цены открытия/закрытия с четырехзначной котировкой, а закрытие последнего ордера происходит по пятизначной?

Почему "while" (№2) не хочет работать, что не так с ценой?

Почему "while" (№3) указав цену открытия через NormalizeDouble (Ask,4), первый ордер открылся, а последний закрылся в пятизначной котировке? 

Какое в данном случае принципиальное отличие if от while (№1 от №2)?

P.S. А если отдельно 8.02.10 запустить, все три работают.

Буду очень благодарен за ответы или ссылки.

 

кто подскажет как в советнике написать допустим "если прибыль по ордеру равна +5% то ........"

 
FoxUA:

кто подскажет как в советнике написать допустим "если прибыль по ордеру равна +5% то ........"


  определитесь что значит 5% ? 

% показывают отношение одной величины ко второй, думаю, что Вы ищете прирост эквити в 5 %, тогда

if (OrdersTotal()<1) eq=AccountBalance();
.....


if (AccountEquity()> eq+eq/100*5){
// прирост эквити на 5%


}

если Вы все же интересуетесь изменением профита ордера, тогда OrderProfit() от запомненного 

 
IgorM:


определитесь что значит 5% ?

% показывают отношение одной величины ко второй, думаю, что Вы ищете прирост эквити в 5 %, тогда

если Вы все же интересуетесь изменением профита ордера, тогда OrderProfit() от запомненного


да наверно я не точно выразился мне надо чтоб переменая скажем BalansEURUSD имела данные какой проф или убыток наданый момент в процентном соотнашении " BalansEURUSD =5%" дето так

и так по нескольким парам скажем еще по фунене и долорена

одно времено

 
Vinin:
Можно сказать просто "По моему"
Спасибо, Виктор... :) От себя ещё прибавлю:
________________________________________________________________________________________________________
Дословно: от английского IMHO "По моему скромному мнению" (англ. In My Humble Opinion или In My Honest Opinion).
Можно разговорным по-русски, со сленгом: ИМХО = "Имею Мнение, Хрен Оспоришь" ... :)))))
Причина обращения: