//--------------------------------------------------------------------// globalvar.mq4// Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------int Experts; // Колич. экспертовdouble Depo=10000.0, // Заданный депозит
Persent=30, // Заданный процент
Money; // Искомые средстваstring Quantity="GV_Quantity"; // Имя GV-переменной//--------------------------------------------------------------------int init() // Спец. функция init
{
Experts=GlobalVariableGet(Quantity); // Получим тек. знач.
Experts=Experts+1; // Колич. экспертовGlobalVariableSet(Quantity, Experts); // Новое значение
Money=Depo*Persent/100/Experts; // Средства для эксп.Alert("Для эксперта в окне ", Symbol()," выделено ",Money);
return; // Выход из init()
}
//--------------------------------------------------------------------int start() // Спец. функция start
{
int New_Experts= GlobalVariableGet(Quantity);// Новое колич. эксп.if (Experts!=New_Experts) // Если изменилось
{
Experts=New_Experts; // Теперь текущ. такое
Money=Depo*Persent/100/Experts; // Новое знач. средств Alert("Новое значение для эксперта ",Symbol(),": ",Money);
}
/*
...
Здесь долен быть указан основной код эксперта,
в котором используется значение переменной Money
...
*/return; // Выход из start()
}
//--------------------------------------------------------------------int deinit() // Спец. ф-ия deinit
{
if (Experts ==1) // Если эксперт один..GlobalVariableDel(Quantity); //..удаляем GV-переменelse// А иначе..GlobalVariableSet(Quantity, Experts-1); //..уменьшаем на 1Alert("Эксперт выгружен из окна ",Symbol()); // Сообщ. о выгрузкеreturn; // Выход из deinit()
}
//--------------------------------------------------------------------
找到酒吧的时间,并重新计算它与高级TF的酒吧编号。
你为什么不写代码呢?
如何使(i=1; i<StartBar; i++)StartBar成为较早的时间框架(extern int = ... ; /W1, MN1)的指定弯曲(extern int b= 2)的条。
纠正
匹配指定时间范围内的两个顶点(比方说一个星期和一个月)
这是正确的方法吗?
条件 tf1 >tf2
问题如下。在 MQL4书中 ,可以在MQL4.community ,在 "GlobalVariables "一章的 "GV-Variables的属性 "部分,它说。"GV变量只能有double类型"。下面,在 "GlobalVariableDel()函数"部分,有一个专家 globalvar.mq4 的例子,内容如下。
问题:为什么在这个例子中,GV变量 Expert 和 New_Expert 是int 类型的 ,尽管如前所述,这些变量 应该是double类型 的?
预先感谢您的回答
这是正确的方法吗?
条件 tf1 >tf2
有些事情是错的。
在第一个周期中,我试图在高位TF上找到指定弯曲的价格。我在低位TF上开始第二个周期,在那里我寻找每条弯曲的价格,只要它在图表上,并与第一个周期中发现的价格进行比较。如果我找到了这样的价格,我就返回这个TF中给定的弯道的时间。
我在测试器中从2000.01.01开始。
日志中的内容
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.1688
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.2495
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.1192
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.2315
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.1069
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.3161
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.2351
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.4535
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.338
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.4249
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.3
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.416
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.2596
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.3353
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.2658
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.3138
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.0344
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.1537
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.0608
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.1216
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.079
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.2401
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.0104
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 1.0917
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 0.8227
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p2= 0.9596
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: t1 1992.09.01 00:00
2012.06.17 10:29:39 2001.07.06 03:30 zz_date v3 EURUSD,M15: p1 1.4104
2000年也是如此,即在测试期的初期。
错在哪里。我是一个薄弱的程序员。我想写一个测试程序。我很难受。我不能要求程序员这样做,因为它正在分步进行,取决于我收到的数据。
我在这里需要一些帮助。我还在上一页请求帮助,写出NewZZ()函数。
如果有人能纠正错误并加以解释,我将不胜感激。
有些事情是错的。
帮助弱者。
下午好。在网站上发现了一个尾随功能。
for(i=0; i<OrdersTotal(); i++)
{
如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 继续。
如果(OrderType()==OP_BUY)
{
如果(Bid-OrderOpenPrice()>Point*TrailingStop_)
{
{ 如果(OrderStopLoss()<Bid-Point*TrailingStop_)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop_, OrderTakeProfit(),0,Green)。
return(0);
}
}
}
如果(OrderType()==OP_SELL)
{
如果((OrderOpenPrice()-Ask)>(Point*TrailingStop_))
{
如果((OrderStopLoss()>(Ask+Point*TrailingStop_)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop_, OrderTakeProfit(),0,Red)。
return(0);
}
}
}
}
在测试策略时,在第一笔订单开仓后,这个函数工作正常,即拖曳运行,订单关闭。但打开二阶后,在引用尾部函数时出现了除零 错误。请帮助我使尾随函数在二阶、三阶等方面发挥作用。
我不能代表整个论坛,但就我个人而言,当我看到一个没有缩进的源头时,我就会觉得向作者解释什么都是无用的。
我在编辑器里有缩进,但当我把它复制到这里时,缩进就不见了......。