Разберем? - страница 2

 
KimIV писал (а) >>

Очень рекомендую разбираться самостоятельно. Покажите, как Вы выполнили мои рекомендации из поста от 28.07.2008 11:50

Подход ваш совершенно верный .Вы это делаете потому что желаете только хорошее.

Но не получается уменя и все тут .Заклинило видать.

На основе вашего советника это сделал.

Но вписать в этот советник не получается .

 
azfaraon писал (а) >>
Но вписать в этот советник не получается.

Покажите Ваши попытки вписать... Покажите, как Вы это делали...

 
azfaraon писал (а) >>
Но не получается уменя и все тут .Заклинило видать.
Вот и давайте попробуем разобраться вместе. Я буду показывать Вам, что у Вас неправильно и давать словесное описание того, что и как нужно сделать. Программировать Вы будете сами и показывать свой код. И так по кругу до тех пор, пока не запрограммируете правильно. Мне кажется, что у Вас очень сильно занижена самооценка. И Вам срочно нужен успех для её повышения. Вот и давайте вместе сделаем советника, вернее Вы сами, полностью самостоятельно его сделаете, но под моим чутким руководством.
 

Вот я заморочился .Тут вероятнее всего не понимаю что от чего зависит .

Мне всеголишь нужно разделить время открытия бя от веремени открытия села ( чтобы были не зависимы)

Файлы:
sov1_1.mq4  6 kb
 

Ошибки в Вашем советнике:

1. В строке 50 используется неинициализорованная переменная. Представьте себе, что советник запускается первый раз. Какое значение он увидит в переменной Type?

строка 50: if (Type == OP_SELL)

2. В строках 70-71 переменной Type присваиваются значения. Слишком поздно. Такое присваивание нужно делать раньше, до того, как переменная используется

строка 70: if ( Hour() == HourOpenPos1) Type =OP_BUY ;
строка 71: if ( Hour() == HourOpenPos) Type = OP_SELL;

3. В строках 112 и 125 отдаются торговые приказы. Единственное условие, которое предварительно проверяется - это отсутствие открытых позиций. Но ведь Вам-то нужно ещё и время проверять.

строка 112: Buy(Symbol(), 0.1, price, sl, tp, Magic, CurTime()+LifeTimeHours*60*60);
строка 125: Sell(Symbol(), 0.1, price, sl, tp, Magic, CurTime()+LifeTimeHours*60*60);

Что Вам нужно сделать:

1. Присваивание значения переменной Type нужно сделать до использования этой переменной.

2. Перед отдачей торговых приказов вставить проверку значения переменной Type.

 

Люди помогите пожалуйста новечку. как написать правильно при создании советника например: if "цена закрытия предыдущего бара" < "цены закрытия этого бара' то купить 1 лот, дальше "закрыть если прибыль 10 пунктов или убыток 30 пунктов" ???

 
Leon207 писал (а) >>

Люди помогите пожалуйста новечку. как написать правильно при создании советника например: if "цена закрытия предыдущего бара" < "цены закрытия этого бара' то купить 1 лот, дальше "закрыть если прибыль 10 пунктов или убыток 30 пунктов" ???

Цена закрытия предыдущего бара:

Close[1]

Цена закрытия этого бара:

Close[0]

Купить:

OrderSend()

Закрыть:

OrderClose()

Прибыль/убыток:

Ask-OrderOpenPrice()
OrderOpenPrice()-Bid
 
KimIV писал (а) >>

Цена закрытия предыдущего бара:

Цена закрытия этого бара:

Купить:

Закрыть:

Прибыль/убыток:

Спасибо KimIV, но хотелось бы в готовом виде посмотреть если можно, у меня ощибки выдает
 
Leon207 писал (а) >>
хотелось бы в готовом виде посмотреть если можно, у меня ощибки выдает

Готовый вид сами делайте, а вот ошибки сюда... Бум разбираться...

 
KimIV писал (а) >>

Готовый вид сами делайте, а вот ошибки сюда... Бум разбираться...

ок. На последок поскажите, хотябы примерно, я хочу создать советник такого типа if close[1] > close[0]  то купить 0,1 лот; если прибыль  = (например) 10 пунктов то заново, если убыток 10 пунктов то продать 0,2 лота;  если прибыль  =  10 пунктов то заново, если убыток 10 пунктов то купить 0,4 лота;  если прибыль  =  10 пунктов то заново, если убыток 10 пунктов то продать 0,9 лота.....итд. Спасибо. 

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