全新的编码和交易。
两个问题
我无法理解:
Q1:为什么这不起作用?
Q2:这个甚至可能有利可图吗?
{
double DayOpen = iOpen( NULL, PERIOD_D1, 1 );
double TakeProfitLevel;
double StopLossLevel;
int TakeProfit = 10;
int StopLoss = 10;
TakeProfitLevel = Bid + Point * TakeProfit; // 0.0001
StopLossLevel = Bid - Point * StopLoss;
int total = OrdersTotal();
if ( total <= 0 && Bid < DayOpen - StopLossLevel )
{
OrderSend( "EURUSD", OP_BUY, 1.0, Ask, 0, StopLossLevel, TakeProfitLevel, "1st Order" );
}
}
答案 0 :(得分:1)
您可能已经注意到,您的FxMarketEVENTs
数据原则上永远不会与条件匹配:
<强> Bid < DayOpen - StopLossLevel
强>
微积分的解剖学如下:
/* ----------------------------------------------------------------------------
...............dHIGH[1] ~ 1.22ooo
|
| ....... dHIGH[0] ~ 1.2oooo
| |
dOPEN[0]...|..... | ~ 1.18ooo
[ ] [ ]
[ ] [ ]
[ ] [ ]______ dCLOSE[0] _______________ <Bid> ~ 1.12345 _________
[ ] |
[ ] |
dOPEN[1] _[ ] | ..... dLOW[0] ~ 1.1oooo
|
|
| ............. dLOW[1]
------------------------------------------------------------------------------ */
StopLossLevel = Bid - Point * StopLoss;
// -------------
// StopLossLevel ~ 1.12345 - 0.00010;
// StopLossLevel ~ 1.12335;
if ( Bid < DayOpen - StopLossLevel ){...}
if ( 1.12345 < 1.10000 - 1.12335 ){...}
if ( 1.12345 < -0.02335 ){...} // which it NEVER could be
比较数字并在XTO中使用PriceDOMAIN
值需要在MQL4中更加小心。
安全MQL4代码执行的良好编程习惯建议:
// StopLossLevel = Bid - ( _Point * StopLoss ); Calculus-safe
// StopLossLevel = NormalizeDouble( Bid - ( _Point * StopLoss ),
// _Digits XTO-safe
);
Q2 已涵盖in another answer。
在这里添加几美分,根据其提供的推理,盈利能力在很大程度上取决于许多属性。
为了说明行业经验,让我向您展示一个利润敏感度的视角,从视觉上简化为单维图:
您可能会观察到相同算法的配置,以提供大约 + 1500%利润的产量与设置,不允许产生具有相同行为的产品,大于 + 20%.. + 80%。
在量子建模中通常具有相当高维度的参数化空间,这些空间没有任何简单的投影到2D,3D,4D或5D可显示图形。
因此,如果没有完整的定量数据,任何关于任何策略盈利能力的陈述都是用着名的戴明引用,而不仅仅是另一种意见&#34;。