[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 422

 
klopp:
Господа программисты! Помогите пожалуйста с написанием советника на основе индикатора i-Regr.
Принцип действия до идиотизма прост... Когда значение верхней линии индикатора (value2) больше 1.43 заключается
одна сделка селл, когда значение нижней линии индикатора (value3) меньше 1.40, селл закрывается и заключается одна
сделка бай, которая закрывается при value2 больше 1.43. Значения 1.40 и 1.43 выбраны мной приблизительно, т.к.
нуждаются в подстройке в зависимости от таймфрейма, поэтому весьма желательно, чтобы их можно было менять в свойствах советника а не в программе, т.к. в программировании я ни бум-бум.

Заранее благодарен тому, кто откликнется.
formayl@mail.ru

Почитав вашу перепалку, решил вызваться идиотом. Так как тут ветка помощи тем, кто сам пытается программировать, то моя цена 100 у.е и через три часа после оплаты в WebMoney у вас советник, который будет работать на реале (не игрушка для демо). Обращайтесь в личку.

ЗЫ. Совсем забыл - торг уместен и поощряется (в сторону увеличения есс-но)

 

индикатор крепится к тому же графику что и советник, с индикатора я беру данные, которые потом обрабатываются в советнике. Вопрос в том, что мне нужно получить данные из индикатора не только на той паре, график которой открыт, а еще на 4 -5 парах.
Как это реализовать? Как сделать так, чтобы можно было тестировать его в тестере стратегий?

 
nuan:

индикатор крепится к тому же графику что и советник, с индикатора я беру данные, которые потом обрабатываются в советнике. Вопрос в том, что мне нужно получить данные из индикатора не только на той паре, график которой открыт, а еще на 4 -5 парах.
Как это реализовать? Как сделать так, чтобы можно было тестировать его в тестере стратегий?

здесь https://docs.mql4.com/ru/indicators/iCustom

в качестве параметров string symbol, int timeframe указываете нужную пару и нужный таймфрейм - индикатор не обязательно к графику цеплять

мльтисоветник не протестировать в тестере, только в MT5 (MQL5)

 
Огромное вам спасибо!
 
KONDOR:


Предложение хорошее, спасибо, НО ЭТО МЕДЛЕННО РАБОТАЕТ!!! вопрос открыт

"Имеется советник, как дать ему понять что ордер им ранее выставленный (в тч отложенник) более не существует (по разн прич - сработал сл или тп или ручками убран), то есть как заставить его опрашивать - жив ли ордер или нет. Те команды что есть в редакторе возвращают значения, здесь же значение не ясно."

 

В чем ошибка, почему не работает. Хочу линию нарисовать от 0 до 24 часов по цене DnPrice

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00,DnPrice)) //resign lines
{
Print("error: can't create Down! code #",GetLastError());
return(0);
}

ObjectSet("Down",OBJPROP_COLOR,Red);

 
Stells:

В чем ошибка, почему не работает. Хочу линию нарисовать от 0 до 24 часов по цене DnPrice

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00,DnPrice)) //resign lines
{
Print("error: can't create Down! code #",GetLastError());
return(0);
}

ObjectSet("Down",OBJPROP_COLOR,Red);

https://docs.mql4.com/ru/basis/types/datetime

bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

 
bercut0077:

Предложение хорошее, спасибо, НО ЭТО МЕДЛЕННО РАБОТАЕТ!!! вопрос открыт

"Имеется советник, как дать ему понять что ордер им ранее выставленный (в тч отложенник) более не существует (по разн прич - сработал сл или тп или ручками убран), то есть как заставить его опрашивать - жив ли ордер или нет. Те команды что есть в редакторе возвращают значения, здесь же значение не ясно."


Проще некуда - есть функция OrdersHistoryTotal - проходим по истории и смотрим, если ордер с нужным магиком находится в истории, значит он закрыт либо удалён.

Можно так же в цикле перебора ордеров истории добавить какое-нибудь условие сортироки ордеров. Например, если время закрытия ордера меньше времени открытия сегодняшнего дня, то такой ордер игнорируем. В результате советник отсеет только ордера, закрытые/удалённые сегодня.

 
nuan:
ZZZEROXXX а почему он должен приносить прибыль?

потому что если перевернуть график, то график растет )))). Не думаю что дело только в спреде, если предположим сделок не очень много то спред играет не решающую роль в доходности.
 

Скажите, для удаленного ордера, можно узнать, был ли он закрыт по тейкпрофиту или по другому?

Можно ли использовать функцию

double OrderTakeProfit( )
Возвращает значение цены закрытия позиции при достижении уровня прибыльности (take profit) для текущего выбранного ордера
Ордер должен быть предварительно выбран с помощью функции OrderSelect().
?

Можно ли составить условие так

for ( i=OrdersTotal();i>0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY  );
if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )>0 ||
   OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )>0

Не будит ли функция давать больше ноля для любого как угодно закрытаго ордера, типо какой был-бы профит?