//------- global variables ------------------------------------------+ double Hilo_Handle = INVALID_HANDLE; //Hilo Handle double Hilo_ma[1]; //hilo ma double Hilo_cl[1]; //hilo close int Shift=1; //Bar on which indicators are checked: 0 - shaped bar, 1 - the first shaped bar datetime ctm[1]; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- if(CopyTime(_Symbol,PERIOD_CURRENT,0,1,ctm)==-1) { return(false); }
//---- get Hilo Moving Average Hilo_Handle=iCustom(_Symbol,PERIOD_CURRENT,"gann_hi_lo_activator_ssl",Hilo_Periodo,Hilo_Metodo); if(Hilo_Handle!=INVALID_HANDLE) ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),Hilo_Handle); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ voidOnDeinit(constint reason) { //---
//------- global variables ------------------------------------------+ double Hilo_Handle = INVALID_HANDLE; //Hilo Handle double Hilo_ma[1]; //hilo ma double Hilo_cl[1]; //hilo close int Shift=1; //Bar on which indicators are checked: 0 - shaped bar, 1 - the first shaped bar datetime ctm[1]; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- if(CopyTime(_Symbol,PERIOD_CURRENT,0,1,ctm)==-1) { return(false); }
//---- get Hilo Moving Average Hilo_Handle=iCustom(_Symbol,PERIOD_CURRENT,"gann_hi_lo_activator_ssl",Hilo_Periodo,Hilo_Metodo); if(Hilo_Handle!=INVALID_HANDLE) ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),Hilo_Handle); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ voidOnDeinit(constint reason) { //---
亲爱的mladen。
所附的EA在保存设置时冻结,我不得不重启mt4!
代码有问题吗?
谢谢你。
亲爱的mladen。
所附的EA在保存设置时冻结,我不得不重启mt4!
代码有问题吗?
谢谢你。
没有明显的问题可能导致这种情况
谢谢你的兴趣。
@mladen,
所附的EA非常有利可图。但它在最新的MT4上有很多错误。
你能修复它们吗?
谢谢你。
谢谢你的兴趣。
@mladen,
所附的EA非常有利可图。但它在最新的MT4上有很多错误。
你能修复它们吗?
谢谢你。
试试吧(这个也是有效的:我不知道它是否能工作,因为代码中还有一些警告)。
我将测试它 :)
谢谢你所做的一切。
你好。
我试图从江恩希洛获得信号,但没有成功。
比如说。
我设置了hilo gan=30分钟和4个平滑值,因为我想看到交易方向。
但我没有从指标中获得正确的买入或卖出信号 到EA中。
Hilo_Handle "没有得到正确的值;-(
//| ea-hilo.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//------- input -----------------------------------------------------+
input ushort Hilo_Periodo=4;
input ENUM_MA_METHOD Hilo_Metodo=MODE_SMA;
//------- global variables ------------------------------------------+
double Hilo_Handle = INVALID_HANDLE; //Hilo Handle
double Hilo_ma[1]; //hilo ma
double Hilo_cl[1]; //hilo close
int Shift=1; //Bar on which indicators are checked: 0 - shaped bar, 1 - the first shaped bar
datetime ctm[1];
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
if(CopyTime(_Symbol,PERIOD_CURRENT,0,1,ctm)==-1)
{
return(false);
}
//---- get Hilo Moving Average
Hilo_Handle=iCustom(_Symbol,PERIOD_CURRENT,"gann_hi_lo_activator_ssl",Hilo_Periodo,Hilo_Metodo);
if(Hilo_Handle!=INVALID_HANDLE)
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),Hilo_Handle);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
if(CopyBuffer(Hilo_Handle,0,Shift,1,Hilo_ma)==-1 ||
CopyClose(_Symbol,PERIOD_CURRENT,0,1,Hilo_cl)==-1
//CopyClose(_Symbol,PERIOD_CURRENT,Shift,1,Hilo_cl)==-1
) return;
//Hilo Buy
if (Hilo_cl[0]>Hilo_Handle) {
Comment ("BUY SIGNAL "+Hilo_cl[0]+">"+Hilo_Handle);
return;
}
else
//Hilo Sell
if (Hilo_cl[0]<Hilo_Handle) {
Comment ("SELL SIGNAL "+Hilo_cl[0]+"<"+Hilo_Handle);
return;
}
Comment ("NO SIGNAL");
}
//+------------------------------------------------------------------+
最亲爱的MLADEN
这里有一个错误的问题,它可以通过所有2种方式删除.....,在(tdelete)之前添加 "t",并在删除后添加 "pendingorder"(deletependingorder)......,我的问题是,哪一种是最好的正确方式?
你的指导和意见是最真实的。
问候
你好。
我试图从江恩希洛获得信号,但没有成功。
比如说。
我设置了hilo gan=30分钟和4个平滑值,因为我想看到交易方向。
但我没有从指标中获得正确的买入或卖出信号到EA中。
Hilo_Handle "没有得到正确的值;-(
//| ea-hilo.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//------- input -----------------------------------------------------+
input ushort Hilo_Periodo=4;
input ENUM_MA_METHOD Hilo_Metodo=MODE_SMA;
//------- global variables ------------------------------------------+
double Hilo_Handle = INVALID_HANDLE; //Hilo Handle
double Hilo_ma[1]; //hilo ma
double Hilo_cl[1]; //hilo close
int Shift=1; //Bar on which indicators are checked: 0 - shaped bar, 1 - the first shaped bar
datetime ctm[1];
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
if(CopyTime(_Symbol,PERIOD_CURRENT,0,1,ctm)==-1)
{
return(false);
}
//---- get Hilo Moving Average
Hilo_Handle=iCustom(_Symbol,PERIOD_CURRENT,"gann_hi_lo_activator_ssl",Hilo_Periodo,Hilo_Metodo);
if(Hilo_Handle!=INVALID_HANDLE)
ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),Hilo_Handle);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
if(CopyBuffer(Hilo_Handle,0,Shift,1,Hilo_ma)==-1 ||
CopyClose(_Symbol,PERIOD_CURRENT,0,1,Hilo_cl)==-1
//CopyClose(_Symbol,PERIOD_CURRENT,Shift,1,Hilo_cl)==-1
) return;
//Hilo Buy
if (Hilo_cl[0]>Hilo_Handle) {
Comment ("BUY SIGNAL "+Hilo_cl[0]+">"+Hilo_Handle);
return;
}
else
//Hilo Sell
if (Hilo_cl[0]<Hilo_Handle) {
Comment ("SELL SIGNAL "+Hilo_cl[0]+"<"+Hilo_Handle);
return;
}
Comment ("NO SIGNAL");
}
//+------------------------------------------------------------------+
最亲爱的MLADEN
这里有一个错误的问题,它可以通过所有2种方式删除.....,在(tdelete)之前添加 "t",并在删除后添加 "pendingorder"(deletependingorder)......,我的问题是,哪一种是最好的正确方式?
你的指导和意见是最真实的。
问候
在新的metatrader 4中,删除是保留词。如果一个函数、变量或任何代码部分(除了常规的新的删除操作符)使用该名称,它需要被重新命名 - 添加 "t "只是一个快速解决方案,但除了 "删除 "之外的任何名称都可以。
亲爱的MLADEN
谢谢你的指导帮助,现在明白了,谢谢。
我们如何删除这些警告?.....,如果让这些警告保持原样,是否会影响代码的功能。
"检查运算符的优先级,以确定可能的错误;使用括号来澄清优先级"
要添加什么,或者做什么?
问候