विचार का लेखक — Collector, MQL5 कोड के लेखक — barabashkakvn.
यह सिस्टम पेंडिंग सेल लिमिट और बाय लिमिट ऑर्डर का उपयोग करता है। यह सभी ऑर्डर को हटाता है और 23:59 पर सभी पोजीशन्स को बंद कर देता है।
पेंडिंग ऑर्डर के लिए कीमतों की गणना:
double temp_h=iHigh(1);
double temp_l=iLow(1);
double temp_c=iClose(1);
double H4, L4;
H4 = (((temp_h - temp_l)*1.1) / 2.0) + temp_c;
L4 = temp_c - ((temp_h - temp_l)*1.1) / 2.0;
//---
if(db!=str1.day_of_week && s==0)
{
if(!m_trade.SellLimit(Lots,H4,Symbol(),
H4+ExtStopLoss*Point(),
H4-ExtTakeProfit*Point(),0,0,"H4"))
GlobalVariableSet("SELLLIMIT",0);
else
{
GlobalVariableSet("SELLLIMIT",1);
GlobalVariableSet("DateS",str1.day_of_week);
}
}
//----
if(db!=str1.day_of_week && b==0)
{
if(!m_trade.BuyLimit(Lots,L4,Symbol(),
L4-ExtStopLoss*Point(),
L4+ExtTakeProfit*Point(),0,0,"L4"))
GlobalVariableSet("BUYLIMIT",0);
else
{
GlobalVariableSet("BUYLIMIT",1);
GlobalVariableSet("DateB",str1.day_of_week);
}
}
double temp_l=iLow(1);
double temp_c=iClose(1);
double H4, L4;
H4 = (((temp_h - temp_l)*1.1) / 2.0) + temp_c;
L4 = temp_c - ((temp_h - temp_l)*1.1) / 2.0;
//---
if(db!=str1.day_of_week && s==0)
{
if(!m_trade.SellLimit(Lots,H4,Symbol(),
H4+ExtStopLoss*Point(),
H4-ExtTakeProfit*Point(),0,0,"H4"))
GlobalVariableSet("SELLLIMIT",0);
else
{
GlobalVariableSet("SELLLIMIT",1);
GlobalVariableSet("DateS",str1.day_of_week);
}
}
//----
if(db!=str1.day_of_week && b==0)
{
if(!m_trade.BuyLimit(Lots,L4,Symbol(),
L4-ExtStopLoss*Point(),
L4+ExtTakeProfit*Point(),0,0,"L4"))
GlobalVariableSet("BUYLIMIT",0);
else
{
GlobalVariableSet("BUYLIMIT",1);
GlobalVariableSet("DateB",str1.day_of_week);
}
}
इस स्थिति में, यदि 23:59 पर पेंडिंग ऑर्डर या ओपन पोजीशन्स हैं, तो ऑर्डर को हटा दिया जाता है और पोजीशन्स बंद कर दी जाती हैं:
if(total_pos>0 && str1.hour==23 && str1.min==59)
DeleteAllPositions();
if(total_orders>0 && str1.hour==23 && str1.min==59)
DeleteAllOrders();
DeleteAllPositions();
if(total_orders>0 && str1.hour==23 && str1.min==59)
DeleteAllOrders();
इसका उपयोग H1 पर करने की सिफारिश की जाती है:

टिप्पणी 0