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

 

Help! Плиз, помогите - есть пользовательский индикатор, который помимо всего прочего, рисует стрелочки Buy и Sell. Как на его основе сделать советник???? Как проще - определять из советника нарисована ли стрелка?? Или код индикатора сделать ввиде функции советника???? С MQL знаком на уровне учебника С Ковалева. Ответы на свои вопросы там не нашел.

Помогите очень надо.

 
andrey14 >>:

Help! Плиз, помогите - есть пользовательский индикатор, который помимо всего прочего, рисует стрелочки Buy и Sell. Как на его основе сделать советник???? Как проще - определять из советника нарисована ли стрелка?? Или код индикатора сделать ввиде функции советника???? С MQL знаком на уровне учебника С Ковалева. Ответы на свои вопросы там не нашел.

Помогите очень надо.

https://www.mql5.com/ru/code/8524

 

Отлично, готовый советник! Буду разбираться, спасибо!

 
sergeev >>:
что пишет в журнале на попытку?

ничего не пишет

 

Как оказалось все немного сложнее. Данный советник работает с индикаторами, где стрелкам выделены два индикаторных массива (буфферы индикатора). А у меня в индикаторе объекты (стрелки) создаются методом ObjectCreate(). Насколько я понял, там при определенных показаниях, идет создание объекта (стрелки) по координатам время-цена. Я думаю проще всего сделать советника, где в некой функции бы использовалась, так сказать формула индикатора и  при тех же условиях открывались позиции вместо стрелок. Как быть ??? Помогите! 

 
andrey14 >>:

Как оказалось все немного сложнее. Данный советник работает с индикаторами, где стрелкам выделены два индикаторных массива (буфферы индикатора). А у меня в индикаторе объекты (стрелки) создаются методом ObjectCreate(). А как быть в этом случае??? Помогите!

Можно просто код индикатора перенести в эксперт. И уже там, вместо команды ObjectCreate() для стрелочки Buy открывать сделку Buy. Аналогично и с Sell.
 
Просмотрел список похожих тем - походу поиск объекта, это единственный способ, если не считать - код индикатора перенести полностью в советник. Т.е. отказаться от индикатора как такового.  Подскажите как проще. Или есть еще способы?
 
LostTrader >>:
Можно просто код индикатора перенести в эксперт. И уже там, вместо команды ObjectCreate() для стрелочки Buy открывать сделку Buy. Аналогично и с Sell.

Спасибо! Займусь - думаю в этом нет ничего сложного.

 

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

Помогите разобраться. Суть проблемы. Советник только продает и закрывает, работает с одним ордером. Когда стохастик выше 80 можно поймать несколько лоссов и есть мысль менять условия продажи если поза закрылась по стоплоссу, для этого применяется функция isCloseLastPosByStop которая от KimA. То есть она true когда последняя позиция закрылась по стоплоссу и false, если это не так и эти условия введены в условия продажи. При подключении открывается одна позиция, которая закрывается по стоплоссу или не закрывается вообще. Огромная просьба подскажите что не так в коде или как сделать чтоб было по идее

i

int start()

{

int

cnt=0,

ticket,

total;

double

StochK_0, // Значен. лнии К

StochD_1, // Значен. лнии D

SL=StopLoss;

bool

isCloseLastPosByStop(NULL,OP_SELL, MagicNamber); // ф-уя KimA

StochK_0=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 0); // K

StochD_1=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 2); //D

ticket= OrderTicket();

total=OrdersTotal();

if (total<1)

if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0)

{

if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 1ые усл продажи

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // продаем

OrderSelect(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )

Print("выбрал");

else

Print("не выбрал ошибка : ",GetLastError());

if((StochK_0<30)&& (StochD_1 < 30))

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

}

else

if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)

{

if ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) ) 2ые усл продажи

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*0,0, "My EXP", MagicNamber,0,Green); //

OrderSelect(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )

Print("выбрал2");

else

Print("не выбрал2 ошибка : ",GetLastError());

if((StochK_0<30)&& (StochD_1 < 30)) // условие закрытия

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

}

return(0);

}

//___ фу-я ______ isCloseLastPosByStop(NULL,OP_SELL, MagicNamber)______

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {

……………итд…………………………

 
как сделать простой советник из индикатора,штобы торговал по стрелкам??????
Причина обращения: