Check lỗi code hàm di chuyển stop loss

Check lỗi code hàm di chuyển stop loss

Check lỗi code hàm di chuyển stop loss

tranphu

Active Member
106
23
Thread cover
public/socialthumb.png
Các bác fix giúp em lỗi cái code move stop loss này với, chạy toàn báo lỗi error code 130.
//------------------------
void MoveStopLoss() // Move stoploss to free loss order point.
{
double Move_stop_loss_factor = 1;
double spread = MarketInfo(Symbol(), MODE_SPREAD);
if(OrdersTotal()>0)
for(int i = OrdersTotal() -1; i >=0; i--)
{
if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; // Check Ticket number
if(!(OrderMagicNumber() == 1234 && OrderSymbol()==Symbol()))continue; // Check lenh dang mo
if(OrderType() == OP_BUY && (Bid - OrderOpenPrice()) >= Move_stop_loss_factor*(OrderOpenPrice()- OrderStopLoss()) )
{
bool res = OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+spread,Digits), OrderTakeProfit(), 0, Red);
if(!res){Print("Loi Modify Stoploss, error code = ", GetLastError()); return;}
}
if(OrderType() == OP_SELL && (OrderOpenPrice()- Ask) >= Move_stop_loss_factor*(OrderStopLoss()- OrderOpenPrice()) )
{
bool res = OrderModify(OrderTicket(),OrderClosePrice(), NormalizeDouble(OrderOpenPrice()-spread,Digits), OrderTakeProfit(), 0, Red);
if(!res) {Print("Loi Modify Stoploss, error code = ", GetLastError());return;}
}
} // end of loop
return;
}
//---------------------------------------

Các bác fix giúp em với, thanks các bác!
 
 

Giới thiệu sách Trading hay
Đánh Bại Thị Trường Forex - Tư duy khác biệt và các kỹ thuật giao dịch của chuyên gia quản lý quỹ triệu đô

Sách chia sẻ kiến thức và kinh nghiệm trading từ một chuyên gia quản lý quỹ, cùng các kỹ thuật giao dịch giúp quỹ này đứng trong top nhiều năm
cái này cho vào mục nào thì nó mới chạy đc vậy bác? em mới học code mà khó quá.
 
 
Các bác fix giúp em lỗi cái code move stop loss này với, chạy toàn báo lỗi error code 130.
//------------------------
void MoveStopLoss() // Move stoploss to free loss order point.
{
double Move_stop_loss_factor = 1;
double spread = MarketInfo(Symbol(), MODE_SPREAD);
if(OrdersTotal()>0)
for(int i = OrdersTotal() -1; i >=0; i--)
{
if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; // Check Ticket number
if(!(OrderMagicNumber() == 1234 && OrderSymbol()==Symbol()))continue; // Check lenh dang mo
if(OrderType() == OP_BUY && (Bid - OrderOpenPrice()) >= Move_stop_loss_factor*(OrderOpenPrice()- OrderStopLoss()) )
{
bool res = OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+spread,Digits), OrderTakeProfit(), 0, Red);
if(!res){Print("Loi Modify Stoploss, error code = ", GetLastError()); return;}
}
if(OrderType() == OP_SELL && (OrderOpenPrice()- Ask) >= Move_stop_loss_factor*(OrderStopLoss()- OrderOpenPrice()) )
{
bool res = OrderModify(OrderTicket(),OrderClosePrice(), NormalizeDouble(OrderOpenPrice()-spread,Digits), OrderTakeProfit(), 0, Red);
if(!res) {Print("Loi Modify Stoploss, error code = ", GetLastError());return;}
}
} // end of loop
return;
}
//---------------------------------------
Các bác fix giúp em với, thanks các bác!

Chắc bạn bị lỗi lệnh SELL do tại chỗ chữ đỏ, chỗ đó bạn cần thay chữ đỏ = giá mở lệnh là OrderOpenPrice():

bool res = OrderModify(OrderTicket(),OrderClosePrice(), NormalizeDouble(OrderOpenPrice()-spread,Digits), OrderTakeProfit(), 0, Red);
 
 
spread của bạn tính theo point. Thay spread bằng spread*Point hoặc Ask-Bid thử đi.
 
 

BÌNH LUẬN MỚI NHẤT

AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

Back
Bên trên

Miễn trừ trách nhiệm

Tất cả nội dung trên website này đều vì mục đích cung cấp thông tin và không phải lời khuyên đầu tư.

Tại Việt Nam, giao dịch CFD forex có các rủi ro nhất định, trong đó bao gồm rủi ro về pháp lý. Độc giả nên tìm hiểu kỹ trước khi đưa ra quyết định tham gia.