ZigAndZag_trader

Author: Copyright � 2008, MetaQuotes Software Corp.
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reachedIt Closes Orders by itself
Miscellaneous
It plays sound alerts
0 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
62.00 %
Total Trades 39
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -3.38
Gross Profit 214.90
Gross Loss -346.80
Total Net Profit -131.90
-100%
-50%
0%
50%
100%
GBP/CAD Oct 2024 - Jan 2025
97.00 %
Total Trades 34
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -0.42
Gross Profit 432.72
Gross Loss -447.02
Total Net Profit -14.30
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
116.00 %
Total Trades 40
Won Trades 11
Lost trades 29
Win Rate 0.28 %
Expected payoff 1.54
Gross Profit 453.70
Gross Loss -391.90
Total Net Profit 61.80
-100%
-50%
0%
50%
100%
ZigAndZag_trader
//+------------------------------------------------------------------+
//|                                             ZigAndZag_trader.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double    Lots=0.1;//òîðãóåìûé ëîò
extern int       ZZbar=3;//áàðîâ íàçàä ñ êîòîðîãî áåðåì ñèãíàë ê òîðãîâëå
extern int       Closebar=3;//áàðîâ íàçàä ñ êîòîðîãî áåðåì ñèãíàë ê çàêðûòèþ 
extern int       Maxord=1;//êîëè÷åñòâî òîðãóåìûõ îðäåðîâ(ïîêà îñòàâèòü 1)âîìîæíî áóäåò ìóëüòèîðäåðíàÿ ñèñòåìà
extern int       Sl=0;//ñòîïëîñ ïîäáèðàåòñÿ ïðè îïòèìèçàöèè
extern int       Tp=0;//òåéê ïîäáèðàåòñÿ ïðè îïòèìèçàöèè
extern int       magic=78977;//ìàãèê
//-----------------------
static int prevtime = 0 ;
bool buy,sell,close,UseSound=false;
//+------------------------------------------------------------------+

int start()
  {
// Æäåì, êîãäà ñôîðìèðóåòñÿ íîâûé áàð
   if (Time[0] == prevtime) return(0);
      prevtime = Time[0];  
buy=false;sell=false;     
//-----------
 if(iCustom(NULL,0,"ZigAndZag",4,Closebar)!=0){close=true;}
 if(iCustom(NULL,0,"ZigAndZag",5,ZZbar)!=0){buy=true;}
 if(iCustom(NULL,0,"ZigAndZag",6,ZZbar)!=0){sell=true;}
 //Comment(close+"\n"+buy+"\n"+sell+"\n"+OrdersTotal());
//------------
 if(buy&&OrdersTotal()<Maxord){open(false,Sl,Tp,Lots);buy=false; } 
 if(sell&&OrdersTotal()<Maxord){open(true,Sl,Tp,Lots);sell=false; }
//------------------------------- 
 if(close&&OrdersTotal()>0){
  for(int i=0;i<OrdersTotal();i++){
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
    del(OrderTicket()); 
     close=false; 
     }}} 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//--------Ôóíêöèÿ îòêðûòèÿ îðäåðîâ-------------------------------------+
int open(bool tip,int Sl,int Tp,double lots)
{//tip = false => OP_BUYSTOP ; tip = true => OP_SELLSTOP;
   GetLastError();
   int err;
   double lastprise,prise,sl,tp; // ñàìàÿ ñâåæàÿ öåíà
   int ticket;
   int slip =(MarketInfo(Symbol(),MODE_SPREAD))*Point;//ìàêñ îòêëîíåíèå = ñïðåäó
   
//------   
   while (!IsTradeAllowed()){ Sleep(5000);}// åñëè ðûíîê çàíÿò òî ïîäîæäåì 5 ñåê
   if (tip == false)
    {
     prise = NormalizeDouble(MarketInfo(Symbol(),MODE_ASK),Digits);
     if(Sl!=0){sl = NormalizeDouble((MarketInfo(Symbol(),MODE_BID)-(Sl*Point)),Digits);}else{sl=0;}
     if(Tp!=0){tp = NormalizeDouble((MarketInfo(Symbol(),MODE_ASK)+(Tp*Point)),Digits);}else{tp=0;}
     for(int i=0;i<5;i++) 
      {
       RefreshRates();// îáíîâèì öåíó
        ticket = OrderSend(Symbol(), OP_BUY,lots ,prise, slip,sl,tp,NULL,magic,0, Blue);
         if (ticket < 0)
          {
           if(UseSound){PlaySound("timeout.wav");}
            Print("Öåíà ñëèøêîì áëèçêî!",prise,"  ",sl,"  ",tp,"  Íå ìîãó ïîñòàâèòü îðäåð BUY!");
             }
              else
               {
                break;
                 }
                  }
                   }
  if(tip==true)
   {
    prise = NormalizeDouble(MarketInfo(Symbol(),MODE_BID),Digits);
    if(Sl!=0){sl = NormalizeDouble((MarketInfo(Symbol(),MODE_ASK)+(Sl*Point)),Digits);}else{sl=0;}
    if(Tp!=0){tp = NormalizeDouble((MarketInfo(Symbol(),MODE_BID)-(Tp*Point)),Digits);}else{tp=0;}    
    for( i=0;i<5;i++) 
     {
      RefreshRates();// îáíîâèì öåíó
       ticket = OrderSend(Symbol(), OP_SELL, lots ,prise, slip,sl,tp,NULL,magic,0, Red);
        if (ticket < 0)
         {
          if(UseSound){PlaySound("timeout.wav");}
           Print("Öåíà ñëèøêîì áëèçêî!",prise,"  ",sl,"  ",tp,"  Íå ìîãó ïîñòàâèòü îðäåð SELL!");
            }
             else
              {
               break;
                }
                 }
                  }

return(ticket); 
 } 
//-------------------------------------------------------------------+
int del(int ticket)
   {
    int err;
        GetLastError();//îáíóëÿåì îøèêó
        OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
        string symbol = OrderSymbol();
        
        if(OrderType()==OP_BUY)
         {
          RefreshRates();
           double prise = MarketInfo(symbol,MODE_BID);
            OrderClose(ticket,OrderLots(),prise,3,Green);
             err = GetLastError();
             }
        if(OrderType()==OP_SELL)
         {
          RefreshRates();
           prise = MarketInfo(symbol,MODE_ASK);
            OrderClose(ticket,OrderLots(),prise,3,Green);
             err = GetLastError();
             }
        if (err == 0&&UseSound){PlaySound("expert.wav");} if (err != 0) {PlaySound("timeout.wav");Print(err);} 
        while (!IsTradeAllowed()){ Sleep(5000);}// åñëè ðûíîê çàíÿò òî ïîäîæäåì 5 ñåê 
    return(err);     
    }  

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---