1 مرفق
طلب بسيط من مستردولار او المبرمجين
السلام عليكم و رحمة الله
المطلوب من مستردولار مرات عديده بيحصل ان الصفقات تبقى بدون هدف و استوب لموانع كثيره و الكد المرفق بيساعد للبحث عن اقرب هدف و استوب المسموح به و ايضا لتكرار المحاوله لاضافة الهدف و الاستوب مرات عديده
ياريت اضافته في الاكسبيرت المرفق
كد التالي:
كود PHP:
extern int LotStep=2;
int safeShortOrder(int ai_0, int ai_4, double a_lots_8, int a_magic_16, string a_comment_20) {
if(a_lots_8<MarketInfo(Symbol(),MODE_MINLOT))a_lots_8=MarketInfo(Symbol(),MODE_MINLOT);
if(a_lots_8>MarketInfo(Symbol(),MODE_MAXLOT))a_lots_8=MarketInfo(Symbol(),MODE_MAXLOT);
a_lots_8=NormalizeDouble(a_lots_8,LotStep);
int safeLongOrder(int ai_0, int ai_4, double a_lots_8, int a_magic_16, string a_comment_20) {
if(a_lots_8<MarketInfo(Symbol(),MODE_MINLOT))a_lots_8=MarketInfo(Symbol(),MODE_MINLOT);
if(a_lots_8>MarketInfo(Symbol(),MODE_MAXLOT))a_lots_8=MarketInfo(Symbol(),MODE_MAXLOT);
a_lots_8=NormalizeDouble(a_lots_8,LotStep);
كود PHP:
l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
كود PHP:
void ModifyOrders(){
double SL,TP;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderStopLoss()==0||OrderTakeProfit()==0){
if(OrderType()==OP_BUY){
if(StopLoss==0)SL=0;else SL=OrderOpenPrice()-StopLoss*Point;
if(TakeProfit==0)TP=0;else TP=OrderOpenPrice()+TakeProfit*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);
}
if(OrderType()==OP_SELL){
if(StopLoss==0)SL=0;else SL=OrderOpenPrice()+StopLoss*Point;
if(TakeProfit==0)TP=0;else TP=OrderOpenPrice()-TakeProfit*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);
}
}
}
}