Peceptron_Mult

Orders Execution
It automatically opens orders when conditions are reachedChecks for the total of open orders
Indicators Used
Bill Williams Accelerator/Decelerator oscillator
0 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
Peceptron_Mult




extern string s1 = "EURUSD";
extern int    x1 = 100;
extern int    x2 = 100;
extern int    x3 = 100;
extern int    x4 = 100;
extern double sl1 = 60;
extern int    tp1 = 60;
extern string s2 = "GBPJPY";
extern int    x5 = 100;
extern int    x6 = 100;
extern int    x7 = 100;
extern int    x8 = 100;
extern double sl2 = 60;
extern int    tp2 = 60;
extern string s3 = "AUDNZD";
extern int    x9  = 100;
extern int    x10 = 100;
extern int    x11 = 100;
extern int    x12 = 100;
extern double sl3 = 60;
extern int    tp3 = 60;
extern double    lot           = 0.2;
extern double    sl            = 85;
extern int       MagicNumber   = 777;
static int       prevtime = 0;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if (Time[0] == prevtime) return(0);
       prevtime = Time[0];
//---
      double s1_bid = MarketInfo(s1,MODE_BID);
      double s1_ask = MarketInfo(s1,MODE_ASK);
      double s2_bid = MarketInfo(s2,MODE_BID);
      double s2_ask = MarketInfo(s2,MODE_ASK);
      double s3_bid = MarketInfo(s3,MODE_BID);
      double s3_ask = MarketInfo(s3,MODE_ASK);

   if(retOrders(s1)==0 && perceptron(s1,x1,x2,x3,x4)>0){
         OrderSend(s1,OP_BUY, lot, s1_ask, 3, s1_bid - sl1 * Point, s1_bid + tp1 * Point, "", MagicNumber, 0, Blue);}else{prevtime = Time[1];}
   if(retOrders(s2)==0 && perceptron(s2,x5,x6,x7,x8)>0){
         OrderSend(s2,OP_BUY, lot, s2_ask, 3, s2_bid - sl2 * Point, s2_bid + tp2 * Point, "", MagicNumber, 0, Blue);}else{prevtime = Time[1];}
    if(retOrders(s3)==0 && perceptron(s3,x9,x10,x11,x12)>0){
         OrderSend(s3,OP_BUY, lot, s3_ask, 3, s3_bid - sl3 * Point, s3_bid + tp3 * Point, "", MagicNumber, 0, Blue);}else{prevtime = Time[1];}       
    if(retOrders(s1)==0 && perceptron(s1,x1,x2,x3,x4)<0){
        OrderSend(s1,OP_SELL,lot, s1_bid, 3, s1_ask + sl1 * Point, s1_ask - tp1 * Point, "", MagicNumber, 0, Red);}else{prevtime = Time[1];}
   if(retOrders(s2)==0 && perceptron(s2,x5,x6,x7,x8)<0){
         OrderSend(s2,OP_SELL,lot, s2_bid, 3, s2_ask + sl2 * Point, s2_ask - tp2 * Point, "", MagicNumber, 0, Red);}else{prevtime = Time[1];}
    if(retOrders(s3)==0 && perceptron(s3,x9,x10,x11,x12)<0){
         OrderSend(s3,OP_SELL,lot, s3_bid, 3, s3_ask + sl3 * Point, s3_ask - tp3 * Point, "", MagicNumber, 0, Red);}else{prevtime = Time[1];}       
////////////////////////////////////////////////////////////////////////////////////////////
   return(0);
  }
//+------------------------------------------------------------------+
double perceptron(string Sy,int y1,int y2,int y3,int y4) 
  {
   double w1 = y1 - 100;
   double w2 = y2 - 100;
   double w3 = y3 - 100;
   double w4 = y4 - 100;
   double a1 = iAC(Sy, 0, 0);
   double a2 = iAC(Sy, 0, 7);
   double a3 = iAC(Sy, 0, 14);
   double a4 = iAC(Sy, 0, 21);
   return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
   }
//+------------------------------------------------------------------+
int retOrders(string sym){

   int total = OrdersTotal();
   int OrderCount=0;
   for(int i = 0; i <= total; i++) 
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
       if( OrderMagicNumber() == MagicNumber && OrderSymbol() == sym) 
         {
          OrderCount++;
         }
      }
     return(OrderCount);
 }
 //+------------------------------------------------------------------+

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 ---