Советник, который после запуска следил бы за курсом пятиминутного графика с условиями: - страница 8

 

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

if (Ask - iOpen(NULL,0,0)>=Delta*Point) //Цена выросла на больше или = Delta пунктов
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,
            "Купил",MagicNumber,11111,Green);
if(ticket<0){Print("Ошибка открытия ордера BUY #",GetLastError());return(0);}
}
 
salesman77:

Вот весь код целиком.....

Поменял немного код, сделал extern int Delta;

Например при StopLoss=49; TakeProfit=37 ; Delta=-32 система дает прибыль на минутках за 2007 год. Оптимизация еще не кончилась, да и не буду ждать ее окончания. Но в принципе система может работать. Но надо делать дополнительные фильтры. Время открытия, количество одновременно открытых ордеров, волатильность текущая. Параметров для оптимизации можно подобрать много. Но будет ли работать система в будущем вопрос сложный.

 
Так надо сразу обе строки редактировать, потому что условия покупки эксперт тоже не соблюдает... тоже работает также как и при продаже....
Как сделать то? :))))
Моя идея этого советника делать прибыль на откатах....
При моих исследованиях по фунту, всегда откатывается обратно на 5-15 пунктов при резких скачках, как вниз, так и вверх..... у меня т/р всего 3 пункта. В ручную еще не разу не поймал s/l
 

Покупаем: открылась новая свеча и цена пошла вверх -, т.е. цена покупки должна превышать цену открытия на Дельту=30.

т.е. if (Ask - iOpen(NULL,0,0)>=Delta*Point) - самое то !

А теперь так же рассуждай для продажи.

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

if ( iOpen(NULL,0,0)- Bid >=Delta*Point)

 
Vinin:
salesman77:

Вот весь код целиком.....

Поменял немного код, сделал extern int Delta;


А дельту здесь, конечно, нужно во внешние параметры....
 
rid:
Vinin:
salesman77:

Вот весь код целиком.....

Поменял немного код, сделал extern int Delta;


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

Я так и написал. Только нужно еще как вариант выбор типов устанавливаемых ордеров. В одном случае лимитники, в другом стоповые. И подбирай параметры. Только это подгонка под историю будет.
 
rid:

Покупаем: открылась новая свеча и цена пошла вверх -, т.е. цена покупки должна превышать цену открытия на Дельту=30.

т.е. if (Ask - iOpen(NULL,0,0)>=Delta*Point) - самое то !

А теперь так же рассуждай для продажи.

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

if ( iOpen(NULL,0,0)- Bid >=Delta*Point)




Не самое то, Open, Сlose, High, Low берутся по Bid, и сравнивать в одном случаи с Bid, а в другом с Ask - несимметрично получится.
 
Возможно. Но тут важна суть: - при покупке,- отнимаем цену открытия бара. А при продаже, - наоборот, отнимаем от цены открытия бара !
 
Ёперный театр))) Я оказывается минус забыл))
if (iOpen(NULL,5,0)-Bid)>Delta*Point) //Цена упала больше Delta пунктов
{
 // действия, торговые приказы
}
if (iOpen(NULL,5,0)-Bid)<-Delta*Point) //Цена выросла больше Delta пунктов
{
 // действия, торговые приказы
}
Хорошо, что тут есть глазастые люди)
 
Figar0:
Ёперный театр))) Я оказывается минус забыл))
if (iOpen(NULL,5,0)-Bid)>Delta*Point) //Цена упала больше Delta пунктов
{
 // действия, торговые приказы
}
if (iOpen(NULL,5,0)-Bid)<-Delta*Point) //Цена выросла больше Delta пунктов
{
 // действия, торговые приказы
}
Хорошо, что тут есть глазастые люди)
Не компилится, ошибки :(((
Причина обращения: