Author: Copyright � 2009, ������� ��������
Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains close prices for each barSeries array that contains open prices of each bar
0 Views
0 Downloads
0 Favorites
for_max_v2
//+------------------------------------------------------------------+
//|                                                   for_max_v2.mq4 |
//|                               Copyright © 2009, Íèêîëàé Ñòàâèíîâ |
//|                                           http://kontrik.ucoz.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Íèêîëàé Ñòàâèíîâ"
#property link      "http://kontrik.ucoz.ru"

extern int bTp  =  100; //Ïðîôèò ñäåëîê â áàé
extern int sTp  =  100; //Ïðîôèò ñäåëîê â ñåëë
extern int zazor= 1; // Îòñòóï îò õàÿ èëè ëîó ïðåäûäùèõ áàðîâ äëÿ âûñòàâëåíèÿ îðäåðîâ
extern int Max_Search = 100; // êîëè÷åñòâî áàðîâ äëÿ ïîèñêà ýêñòðåìóìîâ öåíû
extern int OrderExp = 8; // âðåìÿ æèçíè îòëîæåííîãî îðäåðà â ÷àñàõ
extern int MagicType1   =  11111; // Ìàãèê ïåðâîãî òèïà ñäåëîê
extern int MagicType2   =  22222; // àãèê âòîðîãî òèïà ñäåëîê
extern int MagicType3   =  33333; // Ìàãèê òðåòüåãî òèïà ñäåëîê
extern double StartLot  =  0.1; // Îáúåì ñäåëîê


#include <Kimiv.mqh>


int start()
  {
 
 MovingInWL(Symbol(), -1, -1);
 
 //------------ Ïðîâåðêà íà íàëè÷èå îðäåðîâ è ïîçèöèé
  bool exist_pos1= ExistPositions(Symbol(),-1, MagicType1, 0);
  bool exist_pos2= ExistPositions(Symbol(),-1, MagicType2, 0);
  bool exist_pos3= ExistPositions(Symbol(),-1, MagicType3, 0);
  bool exist_ord1= ExistOrders(Symbol(),-1, MagicType1, 0);
  bool exist_ord2= ExistOrders(Symbol(),-1, MagicType2, 0);
  bool exist_ord3= ExistOrders(Symbol(),-1, MagicType3, 0);
 //------------ Âûñòàâëåíèå îðäåðîâ
  if (!exist_pos1 && !exist_ord1 && !vhod_1(0)==0)  
    { 
      SetOrder(Symbol(), OP_BUYSTOP, StartLot, iHigh(Symbol(),0,1)+zazor*Point, iLow(Symbol(),0,2)-zazor*Point, iHigh(Symbol(),0,1)+(zazor+bTp)*Point, MagicType1, TimeCurrent()+60*Period()*OrderExp); 
      SetArrow(241, Yellow, "Ïîêóïêà ïåðâîãî òèïà", 0, iLow(Symbol(),0,1)-15*Point, 2); 
      SetOrder(Symbol(), OP_SELLSTOP, StartLot, iLow(Symbol(),0,1)-zazor*Point, iHigh(Symbol(),0,2)+zazor*Point, iLow(Symbol(),0,1)-(zazor+sTp)*Point, MagicType1, TimeCurrent()+60*Period()*OrderExp); 
      SetArrow(242, Yellow, "Ïðîäàæà ïåðâîãî òèïà", 0, iHigh(Symbol(),0,1)+15*Point, 2);
    }
  //if (!exist_pos1 && !exist_ord1 && vhod_1(0)==-1) { SetOrder(Symbol(), OP_SELLSTOP, StartLot, iLow(Symbol(),0,1)-zazor*Point, iHigh(Symbol(),0,2)+zazor*Point, iLow(Symbol(),0,1)-(zazor+sTp)*Point, MagicType1, TimeCurrent()+60*Period()*OrderExp); SetArrow(242, Yellow, "Ïðîäàæà ïåðâîãî òèïà", 0, iHigh(Symbol(),0,1)+15*Point, 2); }
  if (!exist_pos2 && !exist_ord2 && !vhod_2(0)==0)  
    { 
      SetOrder(Symbol(), OP_BUYSTOP, StartLot, iHigh(Symbol(),0,1)+zazor*Point, iLow(Symbol(),0,1)-zazor*Point, iHigh(Symbol(),0,1)+(zazor+bTp)*Point, MagicType2, TimeCurrent()+60*Period()*OrderExp); 
      SetArrow(241, SteelBlue, "Ïîêóïêà âòîðîãî òèïà", 0, iLow(Symbol(),0,1)-15*Point, 2); 
      SetOrder(Symbol(), OP_SELLSTOP, StartLot, iLow(Symbol(),0,1)-zazor*Point, iHigh(Symbol(),0,1)+zazor*Point, iLow(Symbol(),0,1)-(zazor+sTp)*Point, MagicType2, TimeCurrent()+60*Period()*OrderExp); 
      SetArrow(242, SteelBlue, "Ïðîäàæà âòîðîãî òèïà", 0, iHigh(Symbol(),0,1)+15*Point, 2);
    }
  //if (!exist_pos2 && !exist_ord2 && vhod_2(0)==-1) { SetOrder(Symbol(), OP_SELLSTOP, StartLot, iLow(Symbol(),0,1)-zazor*Point, iHigh(Symbol(),0,1)+zazor*Point, iLow(Symbol(),0,1)-(zazor+sTp)*Point, MagicType2, TimeCurrent()+60*Period()*OrderExp); SetArrow(242, SteelBlue, "Ïðîäàæà âòîðîãî òèïà", 0, iHigh(Symbol(),0,1)+15*Point, 2); }
 //if (!exist_pos3 && !exist_ord3 && vhod_3(0)==1)  OpenPosition(Symbol(), OP_BUY, StartLot, Ask-bSl*Point, Bid+bTp*Point, MagicType3);
 // if (!exist_pos3 && !exist_ord3 && vhod_3(0)==-1) OpenPosition(Symbol(), OP_SELL, StartLot, Bid+sSl*Point, Ask-sTp*Point, MagicType3);


 //------------ Óäàëåíèå îòëîæåê åñëè ñëîìàëñÿ ïàòòåðí
 if (ExistOrders(Symbol(),OP_BUYSTOP, -1, 0) && ExistPositions(Symbol(),OP_SELL, -1, 0)) DeleteOrders(Symbol(), OP_BUYSTOP, -1); 
 if (ExistOrders(Symbol(),OP_SELLSTOP, -1, 0) && ExistPositions(Symbol(),OP_BUY, -1, 0)) DeleteOrders(Symbol(), OP_SELLSTOP, -1); 


  SimpleTrailing(Symbol(),-1,-1);
  return(0);
  }
  

int vhod_1(int i=0)
  {
    {
      if (iLowest(Symbol(), 0, MODE_LOW, Max_Search, 1) == 2 && iHigh(Symbol(), 0, i+2) > iHigh(Symbol(), 0, i+1) && iLow(Symbol(), 0, i+2) < iLow(Symbol(), 0, i+1)) return (1);
      else
      if (iHighest(Symbol(), 0, MODE_HIGH, Max_Search, 2) == 2 && iHigh(Symbol(), 0, i+2) > iHigh(Symbol(), 0, i+1) && iLow(Symbol(), 0, i+2) < iLow(Symbol(), 0, i+1)) return (-1);
      else return(0);
    }
  }
  
int vhod_2(int i=0)
  {
  if (iLowest(Symbol(), 0, MODE_LOW, Max_Search, 1) == 1 && iHigh(Symbol(), 0, i+1) > iHigh(Symbol(), 0, i+2) && iLow(Symbol(), 0, i+1) < iLow(Symbol(), 0, i+2)) return (1);
  else
  if (iHighest(Symbol(), 0, MODE_HIGH, Max_Search, 1) == 1 && iHigh(Symbol(), 0, i+2) <= iHigh(Symbol(), 0, i+1) && iLow(Symbol(), 0, i+2) > iLow(Symbol(), 0, i+1)) return (-1);
  else return(0);
  
  }
  
int vhod_3(int i = 0, int koeff = 5)
  {
  if ((iHigh(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))/(iHigh(Symbol(), 0, i+1)-iClose(Symbol(), 0, i+1)) >= koeff  &&
      (iHigh(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))/(iHigh(Symbol(), 0, i+1)-iOpen(Symbol(), 0, i+1))  >= koeff  &&
      (iHigh(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))/(iOpen(Symbol(), 0, i+1)-iClose(Symbol(), 0, i+1)) >= koeff) return(1);
  else
  if ((iHigh(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))/(iClose(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))  >= koeff  &&
      (iHigh(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))/(iOpen(Symbol(), 0, i+1) -iLow(Symbol(), 0, i+1))  >= koeff  &&
      (iHigh(Symbol(), 0, i+1)-iLow(Symbol(), 0, i+1))/(iOpen(Symbol(), 0, i+1) -iClose(Symbol(), 0, i+1))>= koeff) return(-1);
  else return(0);
  }

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