AIS3 Trading Robot Template


 : 30001
  : 2009.03.26


 




1. 
2. 
3. 
4. 
5. 
 1
 2


1. 

1.1. AIS3 Trading Robot Template   MQL4    MetaTrader 4.
1.2.  :
     1.2.1. 100%     ;
     1.2.2.   ;
     1.2.3.     ;
     1.2.4.  .
1.3.   AIS3 Trading Robot Template     :
     1.3.1.         AIS3 Trading Robot Template;
     1.3.2.     ,     ;
     1.3.3.      ,     .
1.4. AIS3 Trading Robot Template      AIS2 Trading Robot.


2. 

2.1. AIS3 Trading Robot Template :
     2.1.1. "AIS3TR.MQ4" -   MQL4 ;
     2.1.2. "AIS3TR.EX4" -  .
2.2.   "AIS3TR.MQ4".
2.3.    MetaTrader 4,   "%MT4%".
2.4.     MetaTrader 4    "C:/Program Files/MetaTrader 4".
2.5.   "AIS3TR.MQ4"   "%MT4%/experts".
2.6.   MetaTrader 4,   "MetaTrader".
2.7.  <F4>   MetaEditor.
2.8.  MetaEditor  <Ctrl-O>    "".
2.9.   "AIS3TR.MQ4"   "%MT4%/experts".
2.10.    7  .
2.11.    8  .
2.12.  <F5>   .
2.13.  <F4>    MetaTrader.
2.14.  MetaTrader  <Ctrl-O>    "".
2.15.   ""  "":
      2.15.1.   " "="+";
      2.15.2. "    "   ;
      2.15.3. "    "   ;
      2.15.4.   "  "="+";
      2.15.5.    " ";
      2.15.6.     .
2.16.   [OK]  "".
2.17.  <Ctrl-N>    "".
2.18.    ""  "".
2.19.   "".
2.20.  "AIS3TR".
2.21. "AIS3TR" -      "AIS3TR.EX4".
2.22.   "AIS3TR"   "EURUSD".
2.23.   "AIS3TR"   ""  " ".
2.24.   ""  "AIS3TR":
      2.24.1.   "":
              2.24.1.1.  ""="Long & Short",
              2.24.1.1.     ;
      2.24.2.   " ":
              2.24.2.1.   "  "="+",
              2.24.2.2.    " ";
      2.24.3.   ""    .
2.25.   " "  "AIS3TR":
      2.25.1. ,    "aes.Symbol"    ;
      2.25.2.    .
2.26.   [OK]  "AIS3TR".
2.27.         "AIS3TR".
2.28. AIS3 Trading Robot Template .
2.29.  .


3. 

3.1.  <F3>    " ".
3.2.    15  :
     3.2.1. "AIS30001.Setup.1.1.AccountReserve"    ;
     3.2.2. "AIS30001.Setup.1.2.OrderReserve"     ;
     3.2.3. "AIS30001.Setup.2.1.Trading"     :
             3.2.3.1.  "1"   ,
             3.2.3.2.  "0"   ;
     3.2.4. "AIS30001.Setup.2.2.Timeframe.1"     "Timeframe.1";
     3.2.5. "AIS30001.Setup.2.3.Timeframe.2"     "Timeframe.2";
     3.2.6. "AIS30001.Setup.2.4.Parameter.1"     "Parameter.1";
     3.2.7. "AIS30001.Setup.2.5.Parameter.2"     "Parameter.2;
     3.2.8. "AIS30001.Setup.2.6.Parameter.3"     "Parameter.3";
     3.2.9. "AIS30001.Setup.3.1.Monitor"     ;
             3.2.7.1.  "1"   ,
             3.2.7.2.  "0"   ;
     3.2.10. "AIS30001.Setup.3.2.FontSize"     ;
     3.2.11. "AIS30001.Setup.3.3.FontColor"     ;
     3.2.12. "AIS30001.Setup.3.4.LineSpace"     ;
     3.2.13. "AIS30001.Setup.3.5.PositionX"      ;
     3.2.14. "AIS30001.Setup.3.6.PositionY"      .
     3.2.15. "AIS30001.Setup.4.1.OrderSelect"        :
             3.2.15.1.  "0"    "magic"  "30001",
             3.2.15.2.          .


4. 

4.1.  :
     4.1.1.         ;
     4.1.2.       " "  "AIS3TR";
     4.1.3. AIS3 Trading Robot Template     ;
     4.1.4.        AIS3 Trading Robot Template;
     4.1.5.          .
4.2.   :
     4.2.1.         ;
     4.2.2.           :
            4.2.2.1. "aed.AccountReserve" -   ,  36  "AIS3TR.MQ4";
            4.2.2.1. "aed.OrderReserve"   -    ,  37  "AIS3TR.MQ4";
     4.2.3.       :
            4.2.3.1.   " "  "AIS3TR"    AIS3 Trading Robot Template,
            4.2.3.2.       <F7>   ,
            4.2.3.3.      " "  ;
     4.2.4.  "aed.AccountReserve"       ;
     4.2.5.  "aed.AccountReserve"     "Relative drawdon";
     4.2.6.         ;
     4.2.7.  "aed.OrderReserve"      ,    ;
     4.2.8.  "aed.OrderReserve"       ;
     4.2.9.          ;
     4.2.10.             1;
     4.2.11.    :
             4.2.11.1.   20%,
             4.2.11.2.    4%.
4.3.    :
     4.3.1.     5 :
            4.3.1.1. "ai.Timeframe.1" -   ,
            4.3.1.1. "ai.Timeframe.2" -   ,
            4.3.1.1. "aed.Parameter.1" -   1,
            4.3.1.1. "aed.Parameter.2" -   2,
            4.3.1.1. "aed.Parameter.3" -   3;
     4.3.2.       :
            4.3.2.1.   " "  "AIS3TR"    AIS3 Trading Robot Template,
            4.3.2.2.       <F7>   ,
            4.3.2.3.      " "  ;
     4.3.3.  "ai.Timeframe.1"  "ai.Timeframe.2"    :
            4.3.3.1. 1,
            4.3.3.2. 5,
            4.3.3.3. 15,
            4.3.3.4. 30,
            4.3.3.5. 60,
            4.3.3.6. 240,
            4.3.3.7. 1440,
            4.3.3.8. 10080,
            4.3.3.9. 43200;
     4.3.4.        2.
4.4.  :
     4.4.1.       AIS3 Trading Robot Template;
     4.4.2.      :
            4.4.2.1.     AIS3 Trading Robot Template;
            4.4.2.2.   AIS3 Trading Robot Template    ;
            4.4.2.3. 5  :
                     4.4.2.3.1.  "Client-Server",
                     4.4.2.3.2.  "Balance",
                     4.4.2.3.3.  "Open Position",
                     4.4.2.3.4.  "Leverage/Contract";
                     4.4.2.3.5. ,
     4.4.3.   "Client-Server":
            4.4.3.1. "Client Time":
                     4.4.3.1.1.   AIS3 Trading Robot Template,
                     4.4.3.1.2.   AIS3 Trading Robot Template   ,
                     4.4.3.1.3.         "Buy+Sell=Total",
                     4.4.3.1.4.  -   ;
            4.4.3.2. "Client Name" -   ;
            4.4.3.3. "Server Name" -  ,    ;
            4.4.3.4. "Server Time":
                     4.4.3.4.1.  ,
                     4.4.3.4.2.     ,
                     4.4.3.4.3.     AIS3 Trading Robot Template,
                     4.4.3.4.4.    ,
                     4.4.3.4.5.   ;
     4.4.4.   "Balance":
            4.4.4.1. "Capital":
                     4.4.4.1.1.     ,
                     4.4.4.1.2.          ,
                     4.4.4.1.3.         ,
                     4.4.4.1.4.         ;
            4.4.4.2. "Reserve" -   :
                     4.4.4.2.1.   ,
                     4.4.4.2.2.       ;
            4.4.4.3. "Peak Equity" -     :
                     4.4.4.3.1.   ,
                     4.4.4.3.2.  100%,
                     4.4.4.3.3.          ;
            4.4.4.4. "Drawdown" -           :
                     4.4.4.4.1.   ,
                     4.4.4.4.2.        ;
            4.4.4.5. "Account Equity" -      :
                     4.4.4.5.1.   ,
                     4.4.4.5.2.        ,
                     4.4.4.5.3.           ,
                     4.4.4.5.4.           ;
            4.4.4.6. "Free margin" -     :
                     4.4.4.6.1.      ,
                     4.4.4.6.2.   ,
                     4.4.4.6.3.  "Stop Out"   ,
                     4.4.4.6.4.  "Stop Out"   ;
     4.4.5.   "Open Position":
            4.4.5.1. "Order" -    :
                     4.4.5.1.1.    "magic number",
                     4.4.5.1.2.  ,
                     4.4.5.1.3.  ,
                     4.4.5.1.4.    ,
                     4.4.5.1.5.   ,
                     4.4.5.1.6.    ,
                     4.4.5.1.7	   ;
            4.4.5.2. "Profit":
                     4.4.5.2.1.    ,
                     4.4.5.2.2.   ,
                     4.4.5.2.3.     ,
                     4.4.5.2.4.   ;
            4.4.5.3. "Target":
                     4.4.5.3.1.       TakeProfit   ,
                     4.4.5.3.2.       TakeProfit  ,
                     4.4.5.3.3.  "Take Profit";
            4.4.5.4. "VAR":
                     4.4.5.4.1.       StopLoss   ,
                     4.4.5.4.2.       StopLoss  ,
                     4.4.5.4.3.  "Stop Loss";
            4.4.5.5. "Limit"  -     :
                     4.4.5.5.1.   ,
                     4.4.5.5.2.        ;
     4.4.6.  a "Leverage/Contract":
            4.4.6.1.   "Leverage":
                     4.4.6.1.1.   ,
                     4.4.6.1.2.       1 ,
                     4.4.6.1.3.    ,
                     4.4.6.1.4.        1 ;
            4.4.6.2.   "Contract":
                     4.4.6.2.1.   ,
                     4.4.6.2.2.     ,
                     4.4.6.2.3.     ,
                     4.4.6.2.4.     ;
     4.4.7.         .


5. 

5.1.  ,      AIS3 Trading Robot Template.
5.2.      http://codebase.mql4.com/5447.




 1.    

1. .    1, 2.   ,  -,   .
2. . .  1.
3. . : 1)   ; 2)    .
4. . .
5. .
        5.1.        .
   5.2.      $100000.
   5.3.        20%.
   5.4. ,    $80000,   $20000.
   5.5.    .
   5.6.     $110000.
   5.7.     $88000,   $22000.
   5.8.     $105000.
   5.9.     $88000,   $17000.
   5.10.     $200000.
   5.11.     $160000,   $40000.
   5.12.     .
   5.13.    $180000    $160000,   $20000.
   5.14.    $170000    $160000,   $10000.
   5.15.    $160000    $160000,   ,  .
   5.16.         .
   5.17.       .
   5.18.       $170000,     $170000.
   5.19.  ,        .
   5.20.      .
6. . .
7. .
   7.1.        .
   7.2.          .
   7.3.       10%      20%.
   7.4.   1     2   .
   7.5.   ,    1      4   .
   7.6.        5%      20%.
   7.7.   1     4   .
   7.8.   ,    1      1   .
   7.9.         , ,     .
   7.10.          192-216.
8. . .     20%     4%.
9. .         1      $50000.
10. .  *******,  *******,  *******,  $100000,     .
11. . -  ,  - 1234.




 2.   

1. AIS3 Trading Robot Template  4     :
   1.1.  165-166        ;
   1.2.  394-395        ;
   1.3.  1186  "afr.TrailingStrategy ()"      -;
   1.4.  1193-1196  "afr.TradingStrategy ()"        .
2.        "afr.TrailingStrategy ()"  "avd.Stop".
3.    :
   3.1.   "avi.Command = OP_BUY"  "avi.Command = OP_SELL";
   3.2.     :
        3.2.1. "avd.Price" -   ,
        3.2.2. "avd.Stop"  -  -,
        3.2.3. "avd.Take"  -  -.
4.    :
   4.1.   165-166  :
"
//< 4.7. Trading Strategy Data 15 >```````````````````````````````````````````````````````````````````````````//<    >
                                                                                                              //<    >
int           avi.Period.1                                                                                  ; //<    >
int           avi.Period.2                                                                                  ; //<    >
                                                                                                              //<    >
double        avd.Low.1                                                                                     ; //<    >
double        avd.High.1                                                                                    ; //<    >
double        avd.Close.1                                                                                   ; //<    >
                                                                                                              //<    >
double        avd.Low.2                                                                                     ; //<    >
double        avd.High.2                                                                                    ; //<    >
double        avd.Close.2                                                                                   ; //<    >
                                                                                                              //<    >
double        avd.Average.1                                                                                 ; //<    >
                                                                                                              //<    >
double        avd.Range.1                                                                                   ; //<    >
double        avd.Range.2                                                                                   ; //<    >
                                                                                                              //<    >
double        avd.QuoteTake                                                                                 ; //<    >
double        avd.QuoteStop                                                                                 ; //<    >
double        avd.QuoteTrail                                                                                ; //<    >
                                                                                                              //<    >
double        avd.TrailStep                                                                                 ; //<    >
                                                                                                              //<    >
//</4.7. Trading Strategy Data 15 >```````````````````````````````````````````````````````````````````````````//<    >
";
   4.2.   394-395  :
"
//< 7.4.2. Trading Strategy Data 15 >                                                                         //<    >
       avi.Period.1      = aei.Timeframe.1                                                                  ; //<    >
       avi.Period.2      = aei.Timeframe.2                                                                  ; //<    >
                                                                                                              //<    >
       avd.Low.1         = iLow       ( aes.Symbol , avi.Period.1 , 1    )                                  ; //<    >
       avd.High.1        = iHigh      ( aes.Symbol , avi.Period.1 , 1    )                                  ; //<    >
       avd.Close.1       = iClose     ( aes.Symbol , avi.Period.1 , 1    )                                  ; //<    >
                                                                                                              //<    >
       avd.Low.2         = iLow       ( aes.Symbol , avi.Period.2 , 1    )                                  ; //<    >
       avd.High.2        = iHigh      ( aes.Symbol , avi.Period.2 , 1    )                                  ; //<    >
       avd.Close.2       = iClose     ( aes.Symbol , avi.Period.2 , 1    )                                  ; //<    >
                                                                                                              //<    >
       avd.Average.1     =            ( avd.High.1 + avd.Low.1           ) / 2                              ; //<    >
                                                                                                              //<    >
       avd.Range.1       =              avd.High.1 - avd.Low.1                                              ; //<    >
       avd.Range.2       =              avd.High.2 - avd.Low.2                                              ; //<    >
                                                                                                              //<    >
       avd.QuoteTake     = avd.Range.1             * aed.Parameter.1                                        ; //<    >
       avd.QuoteStop     = avd.Range.1             * aed.Parameter.2                                        ; //<    >
       avd.QuoteTrail    = avd.Range.2             * aed.Parameter.3                                        ; //<    >
                                                                                                              //<    >
       avd.TrailStep     = avd.QuoteSpread         * acd.TrailStepping                                      ; //<    >
//</7.4.2. Trading Strategy Data 15 >                                                                         //<    >
";
   4.3.   1186  :
"
         //<  Buy Orders Trailing Rules >                                                                     //<    >
         if ( OrderType       () == OP_BUY                                                                  ) //<    >
         if ( OrderProfit     ()  > 0                                                                       ) //<    >
         if ( NormalizeDouble ( avd.QuoteTrail     - avd.QuoteStops                      , avi.Digits ) > 0 ) //<    >
         if ( NormalizeDouble ( avd.QuoteTrail     - avd.QuoteFreeze                     , avi.Digits ) > 0 ) //<    >
         if ( NormalizeDouble ( OrderTakeProfit () - avd.QuoteBid       - avd.QuoteStops                      //<    >
                                                                                         , avi.Digits ) > 0 ) //<    >
         if ( NormalizeDouble ( avd.QuoteBid       - OrderStopLoss ()   - avd.TrailStep  - avd.QuoteTrail     //<    >
                                                                                         , avi.Digits ) > 0 ) //<    >
              avd.Stop        = NormalizeDouble (    avd.QuoteBid       - avd.QuoteTrail , avi.Digits     ) ; //<    >
         //</ Buy Orders Trailing Rules >                                                                     //<    >
                                                                                                              //<    >
         //<  Sell Orders Trailing Rules >                                                                    //<    >
         if ( OrderType       () == OP_SELL                                                                 ) //<    >
         if ( OrderProfit     ()  > 0                                                                       ) //<    >
         if ( NormalizeDouble ( avd.QuoteTrail     - avd.QuoteStops                      , avi.Digits ) > 0 ) //<    >
         if ( NormalizeDouble ( avd.QuoteTrail     - avd.QuoteFreeze                     , avi.Digits ) > 0 ) //<    >
         if ( NormalizeDouble ( avd.QuoteAsk       - OrderTakeProfit () - avd.QuoteStops                      //<    >
                                                                                         , avi.Digits ) > 0 ) //<    >
         if ( NormalizeDouble ( OrderStopLoss   () - avd.QuoteAsk       - avd.TrailStep  - avd.QuoteTrail     //<    >
                                                                                         , avi.Digits ) > 0 ) //<    >
              avd.Stop        = NormalizeDouble (    avd.QuoteAsk       + avd.QuoteTrail , avi.Digits     ) ; //<    >
         //</ Sell Orders Trailing Rules >                                                                    //<    >
";
   4.4.   1193-1196  :
"
//< Buy Rules 2 >                                                                                             //<    >
     if ( NormalizeDouble  ( avd.Close.1   -   avd.Average.1                             , avi.Digits ) > 0 ) //<    >
     if ( NormalizeDouble  ( avd.QuoteAsk  - ( avd.High.1 + avd.QuoteSpread )            , avi.Digits ) > 0 ) //<    >
//</Buy Rules 2 >                                                                                             //<    >
                                                                                                              //<    >
//< Trading Strategy Interface Set for Buy 8 >                                                                //<    >
        { avd.Price        = NormalizeDouble ( avd.QuoteAsk                                  , avi.Digits ) ; //<    >
          avd.Stop         = NormalizeDouble ( avd.High.1 + avd.QuoteSpread  - avd.QuoteStop , avi.Digits ) ; //<    >
          avd.Take         = NormalizeDouble ( avd.QuoteAsk                  + avd.QuoteTake , avi.Digits ) ; //<    >
                                                                                                              //<    >
          if               ( NormalizeDouble (                                                                //<    >
                           ( avd.Take  - avd.Price                    ) - avd.QuoteStops , avi.Digits ) > 0 ) //<    >
          if               ( NormalizeDouble (                                                                //<    >
                           ( avd.Price - avd.QuoteSpread - avd.Stop   ) - avd.QuoteStops , avi.Digits ) > 0 ) //<    >
               avi.Command = OP_BUY                                                                       ; } //<    >
//</Trading Strategy Interface Set for Buy 8 >                                                                //<    >
                                                                                                              //<    >
//< Sell Rules 2 >                                                                                            //<    >
     if ( NormalizeDouble  ( avd.Close.1     - avd.Average.1                             , avi.Digits ) < 0 ) //<    >
     if ( NormalizeDouble  ( avd.QuoteBid    - avd.Low.1                                 , avi.Digits ) < 0 ) //<    >
//</Sell Rules 2 >                                                                                            //<    >
                                                                                                              //<    >
//< Trading Strategy Interface Set for Sell 8 >                                                               //<    >
        { avd.Price        = NormalizeDouble ( avd.QuoteBid                                  , avi.Digits ) ; //<    >
          avd.Stop         = NormalizeDouble ( avd.Low.1                + avd.QuoteStop      , avi.Digits ) ; //<    >
          avd.Take         = NormalizeDouble ( avd.QuoteBid             - avd.QuoteTake      , avi.Digits ) ; //<    >
                                                                                                              //<    >
          if               ( NormalizeDouble (                                                                //<    >
                           ( avd.Price - avd.Take                     ) - avd.QuoteStops , avi.Digits ) > 0 ) //<    >
          if               ( NormalizeDouble (                                                                //<    >
                           ( avd.Stop  - avd.Price - avd.QuoteSpread  ) - avd.QuoteStops , avi.Digits ) > 0 ) //<    >
               avi.Command = OP_SELL                                                                      ; } //<    >
//</Trading Strategy Interface Set for Sell 8 >                                                               //<    >
";
   4.5.   ;
   4.6.        AIS2 Trading Robot.
