int start()
{
string scrdate,nametf;
if (Period()==PERIOD_M1) nametf="9_M1";
if (Period()==PERIOD_M5) nametf="8_M5";
if (Period()==PERIOD_M15) nametf="7_M15";
if (Period()==PERIOD_M30) nametf="6_M30";
if (Period()==PERIOD_H1) nametf="5_H1";
if (Period()==PERIOD_H4) nametf="4_H4";
if (Period()==PERIOD_D1) nametf="3_D1";
if (Period()==PERIOD_W1) nametf="2_W1";
if (Period()==PERIOD_MN1) nametf="1_Monthly";
///////////////// for(int i = ObjectsTotal()-1; i >= 0; i--)//мониторим все объекты
{
string name = ObjectName(i);//имя объектов берем из i переменной
scrdate=StringConcatenate(Symbol()," ",TimeToStr(TimeCurrent(), TIME_DATE),"_",Hour(),".",Minute()," ",nametf," ",".jpg");//,nameif(ObjectType(name) == OBJ_TREND)//отбираем тип по имени
{
double value = ObjectGetValueByShift(name, 0);//функция для объектовComment("\n\n Alert running \n ", TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS),"\n\n M",Period()," ",name);
if(Bid <= value + Point && Bid >= value - Point)
{
if (LastAlertTime < Time[0]){
LastAlertTime = Time[0];
Alert(Symbol()," M",Period()," ",name);
/////////////////////////////////////////////////
WindowScreenShot(scrdate,1920,1200,0,-1,-1);
////////////////////////////////////////////////////////
}
}
}
}
return(0);
}
该EA在交易后的33个柱子上退出。
在真实的和测试的情况下,它在43条上退出。我试着在第五条杠上设置退出参数,一切正常。在您看来,问题可能是什么?
该EA在交易后的33个柱子上退出。
在真实的和测试的情况下,它在43条上退出。我试着在第五条杠上设置退出参数,一切正常。在您看来,问题可能是什么?
也许如果 (条件) 被执行了几次(例如在10条时再执行一次),而这次执行推迟了生命时间?
也许如果 (条件) 被执行了几次(例如在10个柱子时再执行一次)? 而这种执行延迟了生命时间
一笔交易:15:37进场,16:19出场。更正确地说,是在41个小节时退出。
如果我们用iBarShift 代替它,我不知道错误是否会继续存在?也许历史上有缺失的酒吧(肯定没有洞?
在条件满足后,进入开盘条,看看有多少条真正开盘,因为参考时间不是很正确。
如果我们用iBarShift 代替它,我不知道错误是否会继续存在?也许在历史上,酒吧是缺失的(肯定没有孔?
在条件满足后,输入一个开放条数,看看到底有多少条是开放的,因为参考时间似乎并不正确。
代码应该是这样的吗?
这种代码会锁定专家顾问。
你好,请你帮助我使警报在每条线上通过一次,而不仅仅是在第一条线上。
我已经按时间限制了警报的数量,但我不明白如何为一个酒吧做缓冲
datetime LastAlertTime = 0;
该EA在交易后的33个柱子上退出。
在真实的和测试的情况下,它在43条上退出。我试着在第五条杠上设置退出参数,一切正常。你认为问题可能是什么?
让我们以清醒的头脑开始。
标志Opn_B = true的 时间并不意味着什么, 因为订单可能不会在同一秒内打开。
你可以使用订单的开仓时间OrderOpenTime,或者你可以把成功开仓后的时间值赋给变量t。
下一篇: 你已经使用了
1)如果使用相同的货币和时间框架,你需要iLow,还是只使用Low 会更好?
2)Symbol()和 Period() 值在重复使用时最好放到变量中。一切都会影响到性能 - 习惯于此。
分钟图--如果一分钟内没有一个刻度线--就不会画出新的条形图(可能是一种技巧)。
那么iBarShift呢?
目前最充分的似乎是
你好,请你帮助我使警报在每条线上通过一次,而不仅仅是在第一条线上。
我已经按时间限制了警报的数量,但我不明白如何对一个柱状物进行缓冲。
是否值得在每次打勾时对变量重新估值?
字符串 tf = Period() 是否影响1000000次循环运行的性能,还是 inttf = Period() 更正确? 我自己也不知道。
这个条件正确吗?如果循环有4个峰值呢?
这里我们还有一个问题。也就是说,如果第一行的条件成立,那么第二行的条件显然是假的,警报就不会弹出。
它甚至不会在下一个tick上弹出,因为蜡烛的开盘时间只会随着新蜡烛的到来而改变。
目前最合适的选择似乎是
对不起,但试图通过时间来计算条数 是一个非常不恰当的方法。
是否值得在每次勾选时重新编码变量?
字符串 tf = Period() 是否会影响1000000次循环运行的性能, 还是inttf = Period() 更正确? 我自己也不知道。
这个条件正确吗?如果循环有4个峰值呢?
这里我们还有一个问题。也就是说,如果第一行的条件成立,那么第二行的条件显然是假的,警报就不会弹出。
它甚至不会在下一个tick上弹出,因为蜡烛的开启时间只会随着新蜡烛的到来而改变。
1.删除
2.我同意如果缺口不是信号(应该是),没有信号->没有价格->没有交易。
3.这就是我上面说的,但该怎么做?
PS 谢谢你的答复