Тема закрыта!

 
Спасибо Roger
 
Ошибка то явная, хотя ошибка ли? Может так и задумано было? В функции OrderModify вместо OrderStopLoss() поставить l_price_0, а на ее место вернуть OrderTakeProfit().
 
Интересная картина наблюдается, тырить уже научился, а под себя подстраивать - никак.
 
Да по коду видно, что он взломаный. Это считается плохим тоном выкладывать на форуме программистов взломанные коды.
 
Ohr писал(а) >>

Вместо профита тралит лосс! Помогите исправить!

Точнее
Он вместо того что-бы передвигать линию стоп лосса в безубыток он передвигает линию тэйк профит в убыток! То есть он когда попадает в убыток то подтягивает к се линию которую привересечении закрывает ордер!

Зачем исправлять... Возьмите готовый тралл Кима....

Один умник поместил декомпилированный советник в Кодбазу, а другие быстренько его скачали и начинают, не разбираясь в принципе работы советника, его править....

 
kharko >>:

Зачем исправлять... Возьмите готовый тралл Кима....

Один умник поместил декомпилированный советник в Кодбазу, а другие быстренько его скачали и начинают, не разбираясь в принципе работы советника, его править....

Вы насколько я помню тоже в числе тех умников которые СКАЧАЛИ!

 
Ohr писал(а) >>

Вы насколько я помню тоже в числе тех умников которые СКАЧАЛИ!

Я из числа тех кто разбирается о чем идет речь....

 
Этот кусок
if (ND(Bid - OrderOpenPrice()) <= ND((-Point) * TrailingProfStart)) {
l_price_0 = ND(Bid + Point * TrailingProf);
if (ND(OrderTakeProfit()) > l_price_0 || ND(OrderTakeProfit()) == 0.0) {
if (!IsTradeContextBusy()) {
if (!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_price_0, 0, CLR_NONE)) { 



замени на этот
if (ND(Bid - OrderOpenPrice()) > ND((Point) * TrailingProfStart)) {
l_price_0 = ND(Bid - Point * TrailingProf);
if (ND(OrderStopLoss()) < l_price_0 ) {
if (!IsTradeContextBusy()) {
if (!OrderModify(OrderTicket(), OrderOpenPrice(),  l_price_0,OrderTakeProfit(), 0, CLR_NONE)) { 
а этот
if (ND(OrderOpenPrice() - Ask) <= ND((-Point) * TrailingProfStart)) {
l_price_0 = ND(Ask - Point * TrailingProf);
if (!IsTradeContextBusy()) {
if (ND(OrderTakeProfit()) < l_price_0) {
if (!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_price_0, 0, CLR_NONE)) { 
	
на этот
if (ND(OrderOpenPrice() - Ask) > ND((Point) * TrailingProfStart)) {
l_price_0 = ND(Ask + Point * TrailingProf);
if (!IsTradeContextBusy()) {
if (ND(OrderStopLoss()) > l_price_0|| ND(OrderStopLoss()) == 0.0) {
if (!OrderModify(OrderTicket(), OrderOpenPrice(), l_price_0,OrderTakeProfit(),  0, CLR_NONE)) { 
и конечно считай, что TrailingProfStart и TrailingProf это у тебя данные для стоплосса.
 

Roger Большое Спасибо!