Недавно приобрел курс "Мастерская Forex роботов". Большое спасибо Вам, Владу и всей вашей команде. Просто здорово, именно то, что нужно начинающему. У меня вопрос. Хотелось бы, что бы стоплосы ордеров передвигались вслед за ценой (в безубыток).
Можно ли сделать это таким образом (доработав блок " void Process() "?
С уважунием Симаков Александр, г.Тверь.
Код: Выделить всё
void Process(){
ControlOpenOrders();
//-------- обрабатываем Buy ордера ---------------------------------
if(OrderBuy[0]>0) {TPBuy(MA_Plus_2,id_[0]);SLBuy(MA_Minus_1,id_[0]);} //если есть ордер Buy с индексом 0, вызываем функцию коррекции SL и TP
if(OrderBuy[1]>0, Price<= MA_Plus_3) {TPBuy(MA_Plus_3,id_[1]);SLBuy(MA_Minus_1,id_[1]);} //если есть ордер Buy с индексом 1, вызываем функцию коррекции SL и TP
if(OrderBuy[1]>0, Price> MA_Plus_3) {TPBuy(MA_Plus_3,id_[1]);SLBuy(MA_Plus_2,id_[1]);}
if(OrderBuy[2]>0, Price<= MA_Plus_3) {TPBuy(MA_Plus_4,id_[2]);SLBuy(MA_Minus_1,id_[2]);} //если есть ордер Buy с индексом 2, вызываем функцию коррекции SL и TP
if(OrderBuy[2]>0, Price> MA_Plus_3) {TPBuy(MA_Plus_4,id_[1]);SLBuy(MA_Plus_2,id_[1]);}
if(OrderBuy[0]==True) {OpenBuy(Lots_0,id_[0],MA_Minus_1,MA_Plus_2);} //если команда установки Buy ордера 0 активна, вызываем функцию установки
if(OrderBuy[1]==True) {OpenBuy(Lots_1,id_[1],MA_Minus_1,MA_Plus_3);} //если команда установки Buy ордера 1 активна, вызываем функцию установки
if(OrderBuy[2]==True) {OpenBuy(Lots_2,id_[2],MA_Minus_1,MA_Plus_4);} //если команда установки Buy ордера 2 активна, вызываем функцию установки
//-------- обрабатываем Sell ордера------------------------------
if(OrderSell[0]>0) {TPSell(MA_Minus_2,id_[0]);SLSell(MA_Plus_1,id_[0]);} //если есть ордер Sell с индексом 0, вызываем функцию коррекции SL и TP
if(OrderSell[1]>0, Price>= MA_Minus_3) {TPSell(MA_Minus_3,id_[1]);SLSell(MA_Plus_1,id_[1]);} //если есть ордер Sell с индексом 1, вызываем функцию коррекции SL и TP
if(OrderSell[1]>0, Price< MA_Minus_3) {TPSell(MA_Minus_3,id_[1]);SLSell(MA_Minus_2,id_[1]);}
if(OrderSell[2]>0, Price>= MA_Minus_3) {TPSell(MA_Minus_4,id_[2]);SLSell(MA_Plus_1,id_[2]);} //если есть ордер Sell с индексом 2, вызываем функцию коррекции SL и TP
if(OrderSell[2]>0, Price< MA_Minus_3) {TPSell(MA_Minus_4,id_[1]);SLSell(MA_Minus_2,id_[1]);}
if(OrderSell[0]==True) {OpenSell(Lots_0,id_[0],MA_Plus_1,MA_Minus_2);} //если команда установки Sell ордера 0 активна, вызываем функцию установки
if(OrderSell[1]==True) {OpenSell(Lots_1,id_[1],MA_Plus_1,MA_Minus_3);} //если команда установки Sell ордера 1 активна, вызываем функцию установки
if(OrderSell[2]==True) {OpenSell(Lots_2,id_[2],MA_Plus_1,MA_Minus_4);} //если команда установки Sell ордера 2 активна, вызываем функцию установки
ControlOpenOrders();
}