Hi ,
First , sorry for my english .
I try to compiled this code to have otofication on telegram but i've got error and i don't find why .
Does anyone can help ?
Thanks a lot .
Best regards
First , sorry for my english .
I try to compiled this code to have otofication on telegram but i've got error and i don't find why .
Code:
//+------------------------------------------------------------------+
//| Telegram_Signal_EA_v1.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Includes |
//+------------------------------------------------------------------+
#include <Telegram.mqh>
//--- Input parameters
input string InpChannelName="@Signaux Mt4";//Channel Name
input string InpToken="529620876:AAHKz0xg-K9mxvLLIhrZ7dXJAQ_iURTMHuY";//Token
//--- Global variables
CCustomBot bot;
int macd_handle;
datetime time_signal=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
time_signal=0;
//--- set token
bot.Token(InpToken);
//--- get an indicator handle
macd_handle=iMACD(NULL,0,12,26,9,PRICE_CLOSE);
if(macd_handle==INVALID_HANDLE)
return(INIT_FAILED);
//--- done
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//--- get time
datetime time[1];
if(CopyTime(NULL,0,0,1,time)!=1)
return;
//--- check the signal on each bar
if(time_signal!=time[0])
{
//--- first calc
if(time_signal==0)
{
time_signal=time[0];
return;
}
double macd[2]={0.0};
double signal[2]={0.0};
if(CopyBuffer(macd_handle,0,0,2,macd)!=2)
return;
if(CopyBuffer(macd_handle,1,0,2,signal)!=2)
return;
time_signal=time[0];
//--- Send signal BUY
if(macd[1]>signal[1] &&
macd[0]<=signal[0])
{
string msg=StringFormat("Name: MACD Signal\nSymbol: %s\nTimeframe: %s\nType: Buy\nPrice: %s\nTime: %s",
_Symbol,
StringSubstr(EnumToString(_Period),7),
DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits),
TimeToString(time[0]));
int res=bot.SendMessage(InpChannelName,msg);
if(res!=0)
Print("Error: ",GetErrorDescription(res));
}
//--- Send signal SELL
if(macd[1]<signal[1] &&
macd[0]>=signal[0])
{
string msg=StringFormat("Name: MACD Signal\nSymbol: %s\nTimeframe: %s\nType: Sell\nPrice: %s\nTime: %s",
_Symbol,
StringSubstr(EnumToString(_Period),7),
DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits),
TimeToString(time[0]));
int res=bot.SendMessage(InpChannelName,msg);
if(res!=0)
Print("Error: ",GetErrorDescription(res));
}
}
}
//+------------------------------------------------------------------+
Does anyone can help ?
Thanks a lot .
Best regards