النتائج 1 إلى 3 من 3
الموضوع: طلب كود برمجي
- 14-05-2012, 04:40 AM #1
طلب كود برمجي
السلام عليكم
ممكن كود لحدف الاوامر المعلقة بيع او شراء باستعمال magic number
الكود الثاني
checkprofile
ادا السعر اكبر من tp اغلاق جميع الصفقات المفتوحة و المعلقة
و شكرا مسبقا
- 14-05-2012, 01:59 PM #2
وعليكم السلام ورحمة الله
تفضل الكود لاغلاق جميع الصفقات البيع والشراء والاوامر المعلقه فى حال الربح اكبر او يساوي PipsProfit
فقط غير مسمى المجك نمبر
كود PHP:extern int PipsProfit=10;
extern int MagicNumber=12070;
double point;
int digits,Q;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits<4){point=0.01;digits=2;}
else{point=0.0001;digits=4;}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderscnt(int type){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol()&&OrderType()==type && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if((Pips(OP_BUY)+Pips(OP_SELL)>=PipsProfit))
{while(orderscnt(OP_BUY)+orderscnt(OP_SELL)>0){CloseBuyOrders();CloseSellOrders();DeletePendingOrders();}}
}
void CloseBuyOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*Q);
}
}
}
}
void CloseSellOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*Q);
}
}
}
}
int Pips(int type){
int ProfB,ProfS;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double PipsBuy=(OrderClosePrice()-OrderOpenPrice())/point;
double PipsSell=(OrderOpenPrice()-OrderClosePrice())/point;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
if(OrderType()==OP_BUY)ProfB+=PipsBuy;
if(OrderType()==OP_SELL)ProfS+=PipsSell;
}
}
return(ProfB+ProfS);
}
void DeletePendingOrders(){
for(int i=OrdersTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+MagicNumber+1 &&OrderType()>OP_SELL)
OrderDelete(OrderTicket());
}
}
- 14-05-2012, 02:11 PM #3
شكرا جزيلا اخى