النتائج 1 إلى 10 من 10
الموضوع: اضافة تخطي في هذا الكود
- 20-12-2020, 03:12 AM #1
اضافة تخطي في هذا الكود
اطلب من اخواني المبرمجين اضافة تخطي في هذا الكود بحيث ان اذا تحقق شرط وجود صفقة GBPAUD يتخطى الحلقة الي بعدها ويكمل وليس الوقف ولارجوع تعبت اعدل فيه
كود:for(int i=0;i<OrdersTotal();i++){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if ("GBPAUD"==OrderSymbol()) return;} { if (GAS == "Sell" ){ if(StopLoss==0){SL=0;}else{SL=MarketInfo ("GBPAUD", MODE_BID)+StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=MarketInfo ("GBPAUD", MODE_BID)-TakeProfit*Point;} int ticket = OrderSend("GBPAUD",OP_SELL,Lots,MarketInfo ("GBPAUD", MODE_BID),3,SL,TP,"Emad Karali",MagicNumber,0,Red); PlaySound("Alert.wav");} if (GAB == "Buy") { if(StopLoss==0){SL=0;}else{SL=MarketInfo ("GBPAUD", MODE_ASK)-StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=MarketInfo ("GBPAUD", MODE_ASK)+TakeProfit*Point;} int ticket = OrderSend("GBPAUD",OP_BUY,Lots,MarketInfo ("GBPAUD", MODE_ASK),3,SL,TP,"Emad Karali",MagicNumber,0,Blue); PlaySound("Alert.wav");} }
- 20-12-2020, 05:40 PM #2
احد موجود من الاخوة المبرمجين يساعدني فيه
- 21-12-2020, 01:14 PM #3
للرفع
- 21-12-2020, 02:13 PM #4
- 21-12-2020, 04:00 PM #5
شكرا اخ elassari ولكن فتح لي صفقات متكررة انا اريد صفقة وحده واذا كان لايوجد صفقة فعالة لااريد ان يتوقف او يعيد من الاول اريده ان يتخطى البيع والشراء ويذهب للحلقة الي بعدها عملة اخر ويشيك وعلى كذه
آخر تعديل بواسطة Emadkarali ، 21-12-2020 الساعة 04:08 PM
- 21-12-2020, 09:55 PM #6كود PHP:
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ("GBPAUD"==OrderSymbol())
return;}
if (GAS == "Sell" && TotalOrder("GBPAUD") == 0){
if(StopLoss==0){SL=0;}else{SL=MarketInfo ("GBPAUD", MODE_BID)+StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=MarketInfo ("GBPAUD", MODE_BID)-TakeProfit*Point;}
int ticket = OrderSend("GBPAUD",OP_SELL,Lots,MarketInfo ("GBPAUD", MODE_BID),3,SL,TP,"Emad Karali",MagicNumber,0,Red);
PlaySound("Alert.wav");}
if (GAB == "Buy" && TotalOrder("GBPAUD") == 0) {
if(StopLoss==0){SL=0;}else{SL=MarketInfo ("GBPAUD", MODE_ASK)-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=MarketInfo ("GBPAUD", MODE_ASK)+TakeProfit*Point;}
int ticket = OrderSend("GBPAUD",OP_BUY,Lots,MarketInfo ("GBPAUD", MODE_ASK),3,SL,TP,"Emad Karali",MagicNumber,0,Blue);
PlaySound("Alert.wav");}
}
//+------------------------------------------------------------------+
//| function |
//+------------------------------------------------------------------+
int TotalOrder(string symbol)
{
int num=0;
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()== symbol )
{
if(OrderMagicNumber()== MagicNumber)
{
num++;
}
}
}
}
return(num);
}
- 23-12-2020, 02:13 PM #7
ممتاز الكود ولاكن اوقات يفتح صفقات من عملات متكررة واووقات صفقة ماهو السبب
- 23-12-2020, 04:52 PM #8
- 24-12-2020, 10:55 AM #9
فاهمك بس كلمة return مسببتلي مشكلة الاكسبرت بعدها م يروح يقراء الاوامرالي بعدها اذا تحقق الشرط
- 24-12-2020, 03:33 PM #10كود PHP:
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ("GBPAUD"==OrderSymbol())
continue;}
if (GAS == "Sell" && TotalOrder("GBPAUD") == 0){
if(StopLoss==0){SL=0;}else{SL=MarketInfo ("GBPAUD", MODE_BID)+StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=MarketInfo ("GBPAUD", MODE_BID)-TakeProfit*Point;}
int ticket = OrderSend("GBPAUD",OP_SELL,Lots,MarketInfo ("GBPAUD", MODE_BID),3,SL,TP,"Emad Karali",MagicNumber,0,Red);
PlaySound("Alert.wav");}
if (GAB == "Buy" && TotalOrder("GBPAUD") == 0) {
if(StopLoss==0){SL=0;}else{SL=MarketInfo ("GBPAUD", MODE_ASK)-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=MarketInfo ("GBPAUD", MODE_ASK)+TakeProfit*Point;}
int ticket = OrderSend("GBPAUD",OP_BUY,Lots,MarketInfo ("GBPAUD", MODE_ASK),3,SL,TP,"Emad Karali",MagicNumber,0,Blue);
PlaySound("Alert.wav");}
}
//+------------------------------------------------------------------+
//| function |
//+------------------------------------------------------------------+
int TotalOrder(string symbol)
{
int num=0;
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()== symbol )
{
if(OrderMagicNumber()== MagicNumber)
{
num++;
}
}
}
}
return(num);
}