создавал стрелочные индикаторы. С божьей помощью создали, кой чо понял. Теперь решил объединить, сделать 2 в одном....... Суть идеи: есть MACD, устанавливаем определённые уровни в + и в -. Когда MACD находится за этими уровнями (как в + так и в - ), то появляется стрелка на покупку и на продажу. Вроде сделал, компилируется без ошибок НО НО НО работает как то не так ну не так....
Может кто знает: одна из функций TakeProfitLastClosePos()(возвращает цену TakeProfit последней закрытой позиций или -1),возвращает значение TakeProfit счетырьмя знаками после запятой, а мой ДЦ выдает пять знаков (пара EURUSD). Не возможно установить следующий ордер, поскольку значение TakeProfit последней закрытой позиции и значение цены установки следующего ордера прямо связаны между собой. Помогите выйти из этой ситуации? Спасибо заранее!!!
double TakeProfitLastClosePos(string sy="", int op=-1, int mn=-1) {
datetime t;
double r=-1;
int i, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
r=OrderTakeProfit();
}
}
}
}
}
}
}
return(r);
}
Может кто знает: одна из функций TakeProfitLastClosePos()(возвращает цену TakeProfit последней закрытой позиций или -1),возвращает значение TakeProfit счетырьмя знаками после запятой, а мой ДЦ выдает пять знаков (пара EURUSD). Не возможно установить следующий ордер, поскольку значение TakeProfit последней закрытой позиции и значение цены установки следующего ордера прямо связаны между собой. Помогите выйти из этой ситуации? Спасибо заранее!!!
Вообще то функция возвращает значение со всеми значащами цифрами после запятой. Хоть восемь после запятой. Просто при выводе по умолчанию отражается 4 цифры. Но если использовать предварительно DoubleToStr() то можно в этом убедиться
drknn: OrderSend(Смвольное имя валютной пары.... ну и прочие параметры......)
Помогите разобраться с кодом для мультивалютного эксперта, нужно чтоб работал один эксперт а сделки открывались по любым парам.
Вот накопал в CodeBase мультивалютный советник, но разобраться не могу, что здесь куда и почему.
Поскольку такого советника в тестере не проверишь, а понимания кода мультивалютника нет (( Обьясните популярно. на основе этого кода или другого кода, что куда зачем и почему, чтоб советник торговал по всем парам. Тут если самому нарезать код без понимания дела, работать то будет,а вот понимания по реализации так и не получу и снова суда за помощью придется лезть.
Infinity: Помогите разобраться с кодом для мультивалютного эксперта, нужно чтоб работал один эксперт а сделки открывались по любым парам.
Вот накопал в CodeBase мультивалютный советник, но разобраться не могу, что здесь куда и почему. Поскольку такого советника в тестере не проверишь, а понимания кода мультивалютника нет (( Обьясните популярно. на основе этого кода или другого кода, что куда зачем и почему, чтоб советник торговал по всем парам. Тут если самому нарезать код без понимания дела, работать то будет,а вот понимания по реализации так и не получу и снова суда за помощью придется лезть.
Этот код вам не подходит, так как открывает сделки, только по паре, к которой прикреплен, это видно по строчкам:
Функция Symbol() возвращает текущую пару. Соответственно чтобы открываться по другим валютным парам, вместо этой функции, просто впишите нужное наименование финансового инструмента.
Этот код вам не подходит, так как открывает сделки, только по паре, к которой прикреплен, это видно по строчкам:
Функция Symbol() возвращает текущую пару. Соответственно чтобы открываться по другим валютным парам, вместо этой функции, просто впишите нужное наименование финансового инструмента.
Не так просто. Нужно еще и Point поменять на нужное значение, и Ask. Да Bid тоже.
Этот код вам не подходит, так как открывает сделки, только по паре, к которой прикреплен, это видно по строчкам:
Функция Symbol() возвращает текущую пару. Соответственно чтобы открываться по другим валютным парам, вместо этой функции, просто впишите нужное наименование финансового инструмента.
В том то и дело,... у меня советник по задумке получает сигналы с разных валютных пар, вместе с сигналами идет и получение наименования валюты с которой и был получен сигнал, за место функции Symbol() стоит в ордере стоит переменная, которой присваивается именное значение валютной пары. тоесть если сигнал пришел с евро то присваевается EURUSD если с ены то USDJPY но, включая эксперта он видит все сигналы, но открывает только по валюте на которой сам и стоит.
вот я такой примерный код делаю
//---- ранее на обработке переменная Symb получает значение валютной пары с которой пришол сигнал// далее я сравниваю и пытаюсь открыть ордерif (Symb == "GBPUSD") {val ="GBPUSD"; ticket=OrderSend(val,OP_BUY,0.1,Ask,3,Bid-20*Point,Ask+25*Point,"",16384,0,Green);}
if (Symb == "EURUSD") {val ="EURUSD"; ticket=OrderSend(val,OP_BUY,0.1,Ask,3,Bid-20*Point,Ask+25*Point,"",16384,0,Green);}
if (Symb == "USDJPY") {val ="USDJPY"; ticket=OrderSend(val,OP_BUY,0.1,Ask,3,Bid-20*Point,Ask+25*Point,"",16384,0,Green);}
создавал стрелочные индикаторы. С божьей помощью создали, кой чо понял. Теперь решил объединить, сделать 2 в одном....... Суть идеи: есть MACD, устанавливаем определённые уровни в + и в -. Когда MACD находится за этими уровнями (как в + так и в - ), то появляется стрелка на покупку и на продажу. Вроде сделал, компилируется без ошибок НО НО НО работает как то не так ну не так....
это рабочий индикатор
А это то что получилось.......
Чую что то не то в коде не то а что не пойму............................. ПОДСКАЖИТЕ непутёвому..... :-))
Здравствуйте! Спасибо Артёму за функции от KimIV.
Может кто знает: одна из функций TakeProfitLastClosePos() (возвращает цену TakeProfit последней закрытой позиций или -1), возвращает значение TakeProfit с четырьмя знаками после запятой, а мой ДЦ выдает пять знаков (пара EURUSD). Не возможно установить следующий ордер, поскольку значение TakeProfit последней закрытой позиции и значение цены установки следующего ордера прямо связаны между собой. Помогите выйти из этой ситуации? Спасибо заранее!!!
Здравствуйте! Спасибо Артёму за функции от KimIV.
Может кто знает: одна из функций TakeProfitLastClosePos() (возвращает цену TakeProfit последней закрытой позиций или -1), возвращает значение TakeProfit с четырьмя знаками после запятой, а мой ДЦ выдает пять знаков (пара EURUSD). Не возможно установить следующий ордер, поскольку значение TakeProfit последней закрытой позиции и значение цены установки следующего ордера прямо связаны между собой. Помогите выйти из этой ситуации? Спасибо заранее!!!
Вообще то функция возвращает значение со всеми значащами цифрами после запятой. Хоть восемь после запятой. Просто при выводе по умолчанию отражается 4 цифры. Но если использовать предварительно DoubleToStr() то можно в этом убедиться
OrderSend(Смвольное имя валютной пары.... ну и прочие параметры......)
Помогите разобраться с кодом для мультивалютного эксперта, нужно чтоб работал один эксперт а сделки открывались по любым парам.
Вот накопал в CodeBase мультивалютный советник, но разобраться не могу, что здесь куда и почему.
Поскольку такого советника в тестере не проверишь, а понимания кода мультивалютника нет (( Обьясните популярно. на основе этого кода или другого кода, что куда зачем и почему, чтоб советник торговал по всем парам. Тут если самому нарезать код без понимания дела, работать то будет,а вот понимания по реализации так и не получу и снова суда за помощью придется лезть.
А это то что получилось.......
Чую что то не то в коде не то а что не пойму................
Помогите разобраться с кодом для мультивалютного эксперта, нужно чтоб работал один эксперт а сделки открывались по любым парам.
Вот накопал в CodeBase мультивалютный советник, но разобраться не могу, что здесь куда и почему.
Поскольку такого советника в тестере не проверишь, а понимания кода мультивалютника нет (( Обьясните популярно. на основе этого кода или другого кода, что куда зачем и почему, чтоб советник торговал по всем парам. Тут если самому нарезать код без понимания дела, работать то будет,а вот понимания по реализации так и не получу и снова суда за помощью придется лезть.
Этот код вам не подходит, так как открывает сделки, только по паре, к которой прикреплен, это видно по строчкам:
Функция Symbol() возвращает текущую пару. Соответственно чтобы открываться по другим валютным парам, вместо этой функции, просто впишите нужное наименование финансового инструмента.
Этот код вам не подходит, так как открывает сделки, только по паре, к которой прикреплен, это видно по строчкам:
Функция Symbol() возвращает текущую пару. Соответственно чтобы открываться по другим валютным парам, вместо этой функции, просто впишите нужное наименование финансового инструмента.
Не так просто. Нужно еще и Point поменять на нужное значение, и Ask. Да Bid тоже.
Этот код вам не подходит, так как открывает сделки, только по паре, к которой прикреплен, это видно по строчкам:
Функция Symbol() возвращает текущую пару. Соответственно чтобы открываться по другим валютным парам, вместо этой функции, просто впишите нужное наименование финансового инструмента.
В том то и дело,... у меня советник по задумке получает сигналы с разных валютных пар, вместе с сигналами идет и получение наименования валюты с которой и был получен сигнал, за место функции Symbol() стоит в ордере стоит переменная, которой присваивается именное значение валютной пары. тоесть если сигнал пришел с евро то присваевается EURUSD если с ены то USDJPY но, включая эксперта он видит все сигналы, но открывает только по валюте на которой сам и стоит.
вот я такой примерный код делаю