if(OrderSelect(tik)==true)
{
if(ORDER_TYPE_BUY)
{
if(Bid-ORDER_PRICE_OPEN>_Point *(TrailingStop/10))
{
if(ORDER_SL<Bid-_Point*(TrailingStop/10))
{
bool Ans=trade.OrderModify(tik,ORDER_PRICE_OPEN,NormalizeDouble(Bid-_Point*(TrailingStop/10),5),ORDER_TP,ORDER_TIME_GTC,ORDER_TIME_EXPIRATION);
if(Ans==true)
{
Alert("Цена Stop Loss ордера успешно модифицирована.");
return;
}
}
}
}return;
Заходя в первое условие перескакивает на return, хотя переменная tik определена и является глобальной. Подозреваю что неправильно получаю данные выбранного ордера, есть идеи в чем косяк?
Заходя в первое условие перескакивает на return, хотя переменная tik определена и является глобальной. Подозреваю что неправильно получаю данные выбранного ордера, есть идеи в чем косяк?
调试时,EA 崩溃,尽管理论上它应该在 OnTIck 中循环,直到 Tik==0 条件变为 false。
调试时,专家顾问崩溃了,尽管在理念上它必须在OnTIck中执行一个循环,直到条件Tik==0变成假的。
寻找错误。编译时要注意错误信息。
说你正试图创建一个变量,而该变量已经存在于全局声明中。
诸如此类,不一而足。
你好!一年前我轻松地掌握了MQL4,现在我想把我的EA翻译成MQL5,但我甚至不能掌握新语言的基本知识。如果可以的话,请发给我一个简单的程序,用于在穿越快速和慢速移动指标时开仓,并设置止损和盈利。下面是一个在MQL4中工作的程序例子。
#define Lot 0.1
外来的int Magic = 105;
extern int St=70;
Extern int Pr=50。
static int prevtime = 0;
外置 int PerF=15;
外部int PerL=55。
int init() { return(0); }int deinit() { return(0); }
int start() {
如果(Time[0] == prevtime)返回(0)。
prevtime = Time[0];
if( iMA(NULL,0,PerF,0,MODE_SMMA,PRICE_MEDIAN,1)>iMA(NULL,0,PerL,0,MODE_SMMA,PRICE_MEDIAN,1)
&& iMA(NULL,0,PerF,0,MODE_SMMA,PRICE_MEDIAN,2)<iMA(NULL,0,PerL,0,MODE_SMMA,PRICE_MEDIAN,2) )
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-St*Point,Ask+Pr*Point, "2014",Magic,0,Green);}
return(0); }
安装Internet Explorer 8版或更高版本,即使你从不使用它。开发者是否出于某种原因将终端中的市场与这个浏览器联系起来?
市场上有各种剥头皮的EA,在测试器中显示出惊人的结果。但它们会在真实的账户 上工作吗?
只有在有免费版EA的情况下才能在真实账户上进行测试。许多卖家把他们的付费EA的免费版本挂出来,这样他们不仅可以在测试器中测试。
但建议在真实账户上测试之前,确保我们不是在模拟账户上处理测试者的圣杯。否则,你将没有运气。
StrangerNet:
数一数括号,看看它们是否成对了。我数了一下,开放的比关闭的多。
进一步的条件很简单,它重复了我为卖出订单类型 写的东西。
问题仍然存在。为什么它不比第一个条件更进一步呢?
这里的条件很简单,它重复了我为Sell订单类型 写的东西。
问题仍然存在!为什么它不比第一个条件更进一步?
请附上整个代码或在代码片段前初始化你的变量。我不知道你的变量里有什么,比如说在