[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 23

 
WindSW:

У меня по коду удобнее определять кол-во итераций через ArrayRange. 

А почему если написать xDelH[countDH][0]=HBar[countH][0]; , то будет выдаваться 0 (хотя HBar[countH][0] уже заполнен и имеет свое значение) . Так вообще можно делать?

Как вы проверяете значение xDelH[countDH][0] после этой операции присвоения?
 
Подскажите пожалуйста какая функция запоминает   цену ТейкПрофита последнего открытого ордера
 
Frostr:
Подскажите пожалуйста какая функция запоминает   цену ТейкПрофита последнего открытого ордера

Если надо именно запомнить, просто сохраняйте значение ТейкПрофита   в переменной при каждом открытии ордера.
 

мне прост нужно что бы    

//усредняемся, путем расчета средней цены
double averageprice = NormalizeDouble(sum/alllots, Digits);
//модифицируем все ордера серии путем перемещения одного и того же тейк-профита для каждого открытого ордера
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//тейк-профит для ордера BUY
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point;
//тейк-профит для ордера SELL
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point;
//модифицируем ордер, принадлежащий серии
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

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

 
Frostr:

мне прост нужно что бы    

//усредняемся, путем расчета средней цены
double averageprice = NormalizeDouble(sum/alllots, Digits);
//модифицируем все ордера серии путем перемещения одного и того же тейк-профита для каждого открытого ордера
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//тейк-профит для ордера BUY
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point;
//тейк-профит для ордера SELL
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point;
//модифицируем ордер, принадлежащий серии
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

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


Предыдушие закроются, если вы установите единый стоплосс для всей серии. Это поможет сохранить прибыль, полученную по этим ордерам, или уменьшить убыток, если цена развернулась. если стоплосс оставлять разным для каждого ордера(не изменять), то закроется только один ордер. Значение  тейкпрофита для остальных ордеров серии надо будет или пересчитать, или установить равным предидущему значению. 
 
paladin80:
Как вы проверяете значение xDelH[countDH][0] после этой операции присвоения?

Через Print
 

Доброго дня!!   вы знаете, выставляю два ордера этим местом- по замыслу, одинсо стопом, другой без.    В тестере удаляются оба!!!!

 if   (Svetsja_1 &&  !Svetsja_2  && !Svetsja_3  &&  !Orderbuy ){
    //стоп лосс 25 п. профит 30 п;стоп лосс 25 п. тралится по MA 20    
         
        RefreshRates();
          OrderSend (Symbol( ), OP_BUY, lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   NormalizeDouble( Ask+( 30*Point),Digits), NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates(); 
          OrderSend (Symbol( ), OP_BUY,  lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   0, NULL, 450, 0, CLR_NONE); }
            Error=GetLastError(); Orderbuy=1; 
            if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}   }  } }

Совершенно не вкурю, в чём тут дело.


 
Dimka-novitsek:

Доброго дня!!   вы знаете, выставляю два ордера этим местом- по замыслу, одинсо стопом, другой без.    В тестере удаляются оба!!!!

Совершенно не вкурю, в чём тут дело.


 


Посмотрите внимательнее, Вы у обоих выставляете стоплосс и только у одного тейкпрофит. Так что все как у Вас написано - по стоплоссу будут закрываться оба, а по тейкпрофиту только один.
 
Dimka-novitsek:

Доброго дня!!   вы знаете, выставляю два ордера этим местом- по замыслу, одинсо стопом, другой без.    В тестере удаляются оба!!!!

Совершенно не вкурю, в чём тут дело.

"курить" Вам, по всей видимости, ещё рано - СОСРЕДОТОЧЬТЕСЬ на НАПИСАННОМ! :)))
 
Да, спасибо!! Это я с улицы сразу за комп и что-то совсем попутал!
Причина обращения: