case128:
str="Истек срок ожидания совершения сделки.";
if(detailed) str=::StringConcatenate(str, "\n", "Прежде, чем производить повторную",
" попытку (не менее, чем через 1 минуту), необходимо убедиться,",
" что торговая операция действительно не прошла (новая позиция",
" не была открыта, либо существующий ордер не был изменён или",
" удалён, либо существующая позиция не была закрыта).");
break;
这是个什么样的错误呢?我从DC的角度来看,是一个糟糕的锻炼?
我认为这是个什么样的错误,我从特区方面的不良汇报中得知?
128
err_trade_timeout
超时过期
件的处理程序。
128
err_trade_timeout
交易执行的超时时间过期
件的处理程序。
我的代码中有这些错误处理程序,但它们从未存在过。 今天我决定在一家流行的经纪公司的演示中检查我的程序,并首次面临这样的错误。
我正确的理解是这是经纪公司的硬件问题,而不是我这边的问题?
请告诉我这个函数是否正确。 我的想法是计算在一定数量的以前的蜡烛中,价格是否突破了平均价格。
该函数根本没有被执行,结果应该是:如果它没有被破坏,returnToMA ==1,如果它被破坏,returnToMA ==0。
也许这个问题有别的解决办法?
returnToMA = MAtouch(TRADE_TF2,TRADE_TF2_MA,barscount)
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_H4, int tradema=10, int bars=100)
{
for(i=0;i<=bars;i++)
{
如果(iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i) ){return(0);break; }
如果(iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i){return(0);break; }
否则返回(1)。
}
请告诉我这个函数是否正确。 我的想法是计算在一定数量的以前的蜡烛中,价格是否突破了平均价格。
该函数根本没有被执行,结果应该是:如果它没有被破坏,returnToMA ==1,如果它被破坏,returnToMA ==0。
也许这个问题还有其他解决办法?
你的函数将总是有零,因为最大或最小值总是大于/小于或等于MA。
在你的情况下,烛台必须由至少两个参数来描述。
1)确定蜡烛图的开盘位置--在MA之上或之下
2.根据1,检查MA是否被触及。
在函数中你将总是有零--因为最大或最小值总是大于/小于或等于MA。
在你的情况下,烛台必须由至少两个参数来描述。
1.确定蜡烛图的开盘位置--高于或低于MA值
2.根据1,检查MA是否被触及。
谢谢你。我添加了条件,但它总是返回1,我可以在某个地方改变括号吗? 或者断裂不起作用,函数通过将返回值赋值为1而终止。
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_H4, int tradema=10, int bars=100)
{
for(i=0;i<=bars;i++)
{
if( iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
{return(0);break; }
如果( iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{return(0);break; }
else return(1);
}
谢谢。我添加了条件,但它总是返回1,我可以在某个地方改变括号吗? 或者断裂不起作用,函数通过将返回值赋值为1而终止。
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_H4, int tradema=10, int bars=100)
{
for(i=0;i<=bars;i++)
{
if( iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
{return(0);break; }
如果( iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{return(0);break; }
else return(1);
}
试试这样的方式
如果满足条件,它将返回1--有一个交叉点--这不正是我们想要的吗?
试试这个
如果条件得到满足,它将返回1--有一个交叉点--这不正是我们想要的吗?
谢谢你,用你的版本的代码,它像时钟一样工作。
下午好!
伙计们,你们能否告诉我,你们能否以编程方式在图表上 显示该指标?还是只能手动?
如果是这样,是什么命令?