如果价格达到某个对象,该怎么办?可以说,该对象是手动绘制的干草叉或趋势线。我猜,它应该以这种方式开始:
public String getNextId(Patient patient) {
String query = "SELECT idpatient FROM virtualclinic.patient ORDER BY idpatient DESC LIMIT 1";
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
con = dataSource.getConnection();
ps = con.prepareStatement(query);
rs = ps.executeQuery();
while (rs.next()){
int PID;
PID = Integer.parseInt(rs.getString(1));
int nextPID = PID + 1;
patient.setId(String.valueOf(nextPID));
}
return patient.getId();
}catch(SQLException e){
e.printStackTrace();
}
答案 0 :(得分:4)
让我们一步一步地讲述故事。
{ Ask, Bid }
- 虽然大多数技术分析都来自基于 Bid
的观点,但必须经历过某些XTO事件与 Ask
价格水平相关。
为了简单起见,让我们将Bid
作为唯一的价格,而框架可以扩展为具有完整的PriceDOMAIN
二元性。< / p>
听起来很奇怪?好吧,不是那么令人惊讶,MetaTrader Terminal 4图形不允许任意放置GUI对象。虽然这不需要从一开始就实现,但如果尝试将GUI对象放在精确的TimeDOMAIN
坐标上,则会失败。 PriceDOMAIN
坐标不受限制,但如果其中一个GUI对象定义点落入远期或近期,但相应的市场会话在行政上关闭(FRI / MON-gap,午夜),则会出现其他意外情况。 -gap,DE.30 / DAX post-Market / pre-Market-gap etc.)在实时到达&#34; future&#34;之前时间点。如果没有完全跳出屏幕,这些物体会变形。
除此之外,TimeFrames的概念引入了另一个问题 - 我们刚刚组装的条件 if(Bid....)
- 保持并在D1
中产生相同的结果,H4
,H1
,M5
和M1
?虽然这似乎只是在PriceDOMAIN
中决定(并且它实际上并没有,另一个令人惊讶的是等待在幕后),但很确定,的TimeDOMAIN
坐标满足条件星座,并且会有所不同,具体取决于TimeFrame,GUI对象放置在该TimeFrame上并使用算法进行挑战。
简单地说,虽然GUI对象被绘制为&#34; 连续&#34;但它们不是。它们在MQL4
生态系统中的内部表示是离散的,所以人们宁愿忘记线性和二次对象的所有代数。
最好的方法是将GUI对象想象为[x-TimeDOMAIN, y-PriceDOMAIN]
坐标的有序集合 - 是,有序的点集,其中 {{1} (令人惊讶与否)在视觉上是最具误导性的 - 酒吧表示的中间不是&#34;中间&#34;实时流动,但行政市场挂钟 - x
开始的时间。
要获得MQL4方面的至少一些帮助,有一些实用功能:
Bar
加
int ObjectGetShiftByValue( string anObjectNAME, // ...
double aTargetPriceLEVEL // a price to reach
)
这个方便的功能可以节省很多麻烦,但是仍然需要仔细处理周末/市场差距(现在是#34;现在&#34;可见,但是在不久的将来会消失,并且敢于拥有一个带有定义点的GUI对象&#34;忘记&#34;就在那里......)。
double ObjectGetValueByShift( string anObjectNAME, // guess what
int aShiftInTimeDOMAIN // bar index
)
的危险......不仅在==
中(一个Orwellish&#34) ;我们都是平等的,但我们中的一些人更平等......&#34;) 猜猜那些花了一些时间使用自定义指标构建的人,也遇到了IEEE-float数字(im)精度的黑暗面。平滑和深度卷积计算很快就会引入这种现象,而急救if(Bid...)
并没有消除数值精度的主要损失,这些非整数值的表示只是必须受到影响。
这就是说,人们应该故意使用不精确的数字并替换二进制严格的相等测试( ( double-precision float )
),这些测试无法在嘈杂的不精确数字上得出公平的答案,并且而是使用这个故障:
==
当然,相同的逻辑适用于#define EQUALITY_TOLERANCE 0.000005
if ( EQUALITY_TOLERANCE > MathAbs( Bid - aTargetPRICE ) )
{ // EQUAL
}
else
{
}
交叉测试和其他派生PriceDOMAIN
条件。