//+------------------------------------------------------------------+//| Sonic the hedge hog.mq4 |//| Copyright 2018, Marco vd Heijden, MetaQuotes Software Corp. |//| https://www.mql5.com |//| The code should be used for educational purpose only.|//+------------------------------------------------------------------+#property copyright"Copyright 2018, Marco vd Heijden, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strictdatetime time;
int TrailingStop=100;
double Lots=0.01;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---
time=iTime(_Symbol,PERIOD_D1,0);
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
exit();
enter();
}
//+------------------------------------------------------------------+//| enter//+------------------------------------------------------------------+void enter()
{
//--- new bar ?if(time!=iTime(_Symbol,PERIOD_D1,0))
{
int ticket_buy=-1;
{
while(ticket_buy<0)
{
ticket_buy=OrderSend(_Symbol,OP_BUY,Lots,Ask,3,NULL,NormalizeDouble(Bid+100*Point,Digits),"Sonic",1234,0,clrGreen);
}
}
int ticket_sell=-1;
{
while(ticket_sell<0)
{
ticket_sell=OrderSend(_Symbol,OP_SELL,Lots,Bid,3,NULL,NormalizeDouble(Ask-100*Point,Digits),"Sonic",1234,0,clrRed);
}
}
if(ticket_buy>0 && ticket_sell>0)
{
time=iTime(_Symbol,PERIOD_D1,0);
}
}
}
//+------------------------------------------------------------------+//| exit//+------------------------------------------------------------------+void exit()
{
//--- it is important to enter the market correctly, but it is more important to exit it correctly... for(int cnt=OrdersTotal(); cnt>=0; cnt--)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true)
{
if(TimeDay(OrderOpenTime())!=TimeDay(time))
{
bool close=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,clrBlue);
{
if(close==0)
{
Print("OrderCloseError"+IntegerToString(OrderTicket()));
}
}
}
}
}
}
//+------------------------------------------------------------------+
相当直截了当。
我在去年运行了它。
所以我期待同样的结果,或者像有些人说的那样,其他技术甚至更好。
我不会有任何问题,接受这个结果,我不是想通过无效的真理来推动。
我只是想保持论坛的活力,在所有 "我需要,我想要 "的话题之外,有一点竞争。
相当直截了当。
我在去年运行了它。
所以我期待同样的结果,或者像有些人说的那样,其他技术甚至更好。
我不会有任何问题,接受这个结果,我不是想通过无效的真理来推动。
我只是想保持论坛的活力,在所有 "我需要,我想要 "的话题中保持一点竞争。
高马可。
这是修改后的代码,可以在没有对冲的情况下工作。
对不起。
小错误。
很快就会回来。
以下是无套期保值的代码
好的,谢谢,我编译了它,结果如下。
好的,谢谢,我把它编译了,这里是结果。
请在每个Tick上试一下,开盘价 对于测试这种交易类型没有好处,因为交易是在一定水平上进入的。
当然,也可以在相同的数据上与你的测试一下。
好吧,它们在每一次 运行时看起来都非常相似。
所以......在不应用本主题中提到的所谓对冲技术的情况下,我们论坛上受人尊敬的编码员表明,马可提出的策略也可以用不同的方式实施,并带来一些额外的经济效益。
事实上,"任何任意选择的 "策略都可以被证明是这样的......这也普遍证明了基思在他的第一篇文章中所说的 "外汇中的'对冲'是无益的、无意义的,这不仅仅是我的观点,这是一个事实。"
注意到了吗?
这个结果符合奥卡姆剃刀的说法,即 "没有必要就不应该提出多元性 "或 "实体不应该超出必要的乘积"。
所以,简单是为了完美......或者说简单是为了把自己从额外的成本和不必要的风险中拯救出来,但在这种情况下没有任何实际的好处。
快乐的战略设计 )
节目还没有结束,直到胖女人唱歌。
请继续关注。
好吧,它们在每一次 运行时看起来都非常相似。
你没有看到我的版本产生的利润略有增加吗?