Как кодировать? - страница 159

 

Этикетка индикатора цены

Помогите, пожалуйста!

Может ли кто-нибудь сказать мне, почему следующий код индикатора строит стрелку вниз, но НЕ строит метку цены. Любой другой стиль отображается на правильном уровне, но цена не показывается?

int init()

{

DeleteAllObjects();

IndicatorBuffers(2);

SetIndexBuffer(0,Buy);

SetIndexStyle(0,DRAW_ARROW,DRAW_ARROW,BuySize,BuyColor);

SetIndexArrow(0,SYMBOL_LEFTPRICE); < не отображается

SetIndexShift(0,1);

SetIndexBuffer(1,Sell);

SetIndexStyle(1,DRAW_ARROW,DRAW_ARROW,SellSize,SellColor);

SetIndexArrow(1,SYMBOL_ARROWDOWN); < графики просто прекрасны

SetIndexShift(1,1);

return(0);

}

Спасибо!

 

Индикатор Squize_MA

Хороший индикатор.

Может кто-нибудь может поставить алерт, когда синяя линия пересекает красную.

Спасибо

Файлы:
squize_ma.mq4  3 kb
 

пожалуйста, не могли бы вы подсказать мне, как отследить самый большой убыток?

 
Wiley:
На этом сайте, по этой ссылке https://www.mql5.com/en/forum/176053/page25 находится копия советника DIN_Kukus_EA_V2.6. Если вы просмотрите содержимое советника, то найдете функцию, которая проверяет потери ордеров в истории ордеров, как вы и описали для себя. Вы можете использовать этот рабочий пример того, как извлечь количество успешных сделок из истории ордеров. Вы можете изменить его, чтобы извлечь историю за определенный период времени, но я надеюсь, что это поможет вам увидеть, как выполнить то, что вы предлагаете сделать для себя...

Привет, Уайли,

Спасибо за помощь.

Честно говоря, я был так занят работой над решением, что забыл, что опубликовал этот вопрос.

Я провел этот день, изучая руководство по mql4, и нашел способ, как это сделать.

Когда приходит время начинать торговлю, я устанавливаю переменную "OpeningTime" равной текущему времени. Во время торговой сессии, если сделка была закрыта, я заставляю советника просмотреть историю ордеров и найти все ордера, которые относятся к данному графику и советнику, а также имеют время закрытия больше, чем "OpeningTime". Затем он сравнивает прибыль (или убыток) ордера (с помощью функции OrderProfit()) с тем, что я установил (с помощью внешней переменной) как достаточную. Я настроил это так, чтобы я мог прекратить торговлю, если я получил достаточную прибыль и/или потерял заданную сумму.

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

Тем не менее, это позволяет мне задавать более строгие условия с самого начала. Таким образом, советник может быть оптимизирован с использованием опции "убирайся, с меня хватит" с самого начала. И это, кажется, делает мои результаты немного лучше.

Спасибо за помощь.

Рон

 

Пытаюсь использовать прикрепленные Dianpoli в советнике, я добавил стрелки, чтобы читать их в icustom, но моя линия icustom не поднимает их, помогите, пожалуйста?

Вот что я использую в советнике val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

Файлы:
test3.mq4  5 kb
 
rwb181:
Привет, Вайли,

Спасибо за помощь.

Честно говоря, я был так занят работой над решением, что забыл, что опубликовал этот вопрос.

Я провел этот день, изучая руководство по mql4, и нашел способ, как это сделать.

Когда приходит время начинать торговлю, я устанавливаю переменную "OpeningTime" равной текущему времени. Во время торговой сессии, если сделка была закрыта, я заставляю советника просмотреть историю ордеров и найти все ордера, которые относятся к данному графику и советнику, а также имеют время закрытия больше, чем "OpeningTime". Затем он сравнивает прибыль (или убыток) ордера (с помощью функции OrderProfit()) с тем, что я установил (с помощью внешней переменной) как достаточную. Я настроил это так, чтобы я мог прекратить торговлю, если я получил достаточную прибыль и/или потерял заданную сумму.

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

Тем не менее, это позволяет мне задавать более строгие условия с самого начала. Таким образом, советник может быть оптимизирован с использованием опции "убирайся, с меня хватит" с самого начала. И это, кажется, делает мои результаты немного лучше.

Спасибо за помощь.

Рон

нет, это не то, что мне нужно

 

это принесет вам максимальные потери

void history()

{max_loss=0;

int i,hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderSymbol()==Symbol()&&OrderProfit()>=max_loss)max_loss=OrderProfit();

{

//code

}

}

}
 

OrderSymbol()==Symbol()&&OrderProfit()>=max_loss

Я уверен, что это была просто опечатка, но...

Если вы ищете максимальную потерю, оператор сравнения должен быть 'less than ()'.

Lux

 
increase:
Пытаюсь использовать прилагаемый Dianpoli в советнике, я добавил стрелки, чтобы читать те в icustom, но моя линия icustom не поднимает, любая помощь, пожалуйста? Вот что я использую в советнике val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

Никогда не могу никому помочь, ребята, пожалуйста, ответьте.

 

Автоматический конструктор советников

Fastbrokersfx предлагает бесплатный (по их словам, эксклюзивный) автоматический конструктор советников.

Они говорят: "FastBrokersFX предлагает бесплатный конструктор советников. С нами вам не нужно быть опытным программистом, чтобы создавать своих торговых роботов для MT4. Всего несколько кликов, сохраните созданный файл советника и готово!".

Вы можете создать советника, перейдя по этой ссылке с их домашней страницы:

Fastbrokersfx | Forex Trading | Forex ECN Access | Forex ECN Access |

Удачи!