e_CheckSampler

Author: Copyright 2012, her.human
Miscellaneous
Uses files from the file systemIt reads information from a file
0 Views
0 Downloads
0 Favorites
e_CheckSampler
//+------------------------------------------------------------------+
//|                                               e_CheckSampler.mq5 |
//|                                        Copyright 2012, her.human |
//|                                              her.human@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, her.human"
#property link      "her.human@gmail.com"
#property version   "1.00"

#include <Trade\Trade.mqh>

input double lot=1.0;

int signal[];
CTrade trade;
MqlTick tick;
datetime time[],prevtime;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ResetLastError();
   string namefile;
   StringConcatenate(namefile,_Symbol,"_Sampler.BIN");
   int filehandle=FileOpen(namefile,FILE_READ|FILE_BIN|FILE_COMMON);
   if(filehandle!=INVALID_HANDLE)
     {
      FileReadArray(filehandle,signal,0,WHOLE_ARRAY);
      FileClose(filehandle);
      Print(namefile," FileOpen OK");
     }
   else Print(namefile,"  FileOpen failed, error ",GetLastError());
   ArraySort(signal);
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   CopyTime(_Symbol,_Period,0,1,time);

   if(time[0]==prevtime) return;
   prevtime=time[0];

   int sig=0,index;
   index=ArrayBsearch(signal,time[0]);
   if(signal[index]==time[0]) sig=1;
   index=ArrayBsearch(signal,-time[0]);
   if(signal[index]==-time[0]) sig=-1;

   SymbolInfoTick(_Symbol,tick);
   if(sig==1)
     {
      if(PositionSelect(_Symbol) && PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
         trade.PositionClose(_Symbol);
      trade.Buy(lot,NULL,tick.ask);
     }
   if(sig==-1)
     {
      if(PositionSelect(_Symbol) && PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
         trade.PositionClose(_Symbol);
      trade.Sell(lot,NULL,tick.bid);
     }
//   if(MathAbs(sig)==0) trade.PositionClose(_Symbol);
  }
//+------------------------------------------------------------------+

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