Разберем? - страница 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.

[Deleted]  

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

 
Leon207 писал (а) >>

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

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

Close[1]

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

Close[0]

Купить:

OrderSend()

Закрыть:

OrderClose()

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

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

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

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

Купить:

Закрыть:

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

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

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

[Deleted]  
KimIV писал (а) >>

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

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