向擅长数学的人提问 - 页 4

 
根本就没有优化。只是演绎推理。
 
rbhauer:
根本就没有优化。只是演绎推理。

令人印象深刻...
 

我把Ubzen的和Vinin的战略游戏结合起来。

extern bool MMM_lots=1;
int      Dir;
double   Min,Price,lotc,profit,loss,spr;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int init(){
    Min=MarketInfo(Symbol(),MODE_LOTSTEP);lotc=Min;profit=AccountBalance();loss=profit;
    return(0);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int start(){
    Dir=-1;
    if(Close[1]<Open[1] && Bid<Open[0])Dir=OP_BUY;
    if(Close[1]>Open[1] && Bid>Open[0])Dir=OP_SELL;
    if(Dir>-1){spr=Ask-Bid;if(OrdersTotal()>0)Stop();if(OrdersTotal()<1)Send();}
    return(0);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int Send(){
    if(Dir==0)Price=Ask;if(Dir==1)Price=Bid;
    int Ticket=OrderSend(Symbol(),Dir,LotsCalc(),Price,999,0.0,0.0,"",0,0);return(Ticket);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool Stop(){
    OrderSelect(OrdersTotal()-1,SELECT_BY_POS);
    Price=MathAbs(OrderOpenPrice()-OrderClosePrice());
    if(OrderType()!=Dir&&Price>spr)
    OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),999);return(0);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double LotsCalc(){
   if(!MMM_lots)return(lotc);
   if(profit>AccountBalance()||loss>profit)lotc+=Min;  else {lotc=Min;loss=profit;}
   profit=AccountBalance();return(lotc);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
附加的文件:
 
rfb:

我把Ubzen的和Vinin的战略游戏结合起来。

不错的代码和很酷的东西 :-)
 

顺便说一句,我对样本数量的下降不太自豪。但这基本上是前一个截图的条目中的稳健决策树过滤。有4个阶段。A,B,C决定了条目的条件。A在顶部,B可能恢复到A或进行到C,ABC是基于A幅度的对立矢量序列。当A、B、C为真时,则进行交易。D是跟踪阶段(确保交易维持轨迹方向)。根本就没有预测,只是分类。我认为为了增加交易量,我应该使用树的忽略分支,并根据利润系数(以凯利为单位)为每个设置/信号分配其风险部分。如果需要的话,它将使用M1开盘价进行类似的回测(不完全是,但足够一致),以进一步优化研究。

令人惊讶的事实是:同样的算法在澳元兑美元和美元兑日元中并不奏效,但好消息是损失模式是一致的。我最初的预感是由于不同的之字形序列行为(因此我进一步调查了ABCD决策树)。到目前为止有124行代码,所以没有什么真正的花哨。


 
rbhauer: 我想为了增加交易量,我应该使用被忽略的树枝,并将每个设置/信号的风险部分分配给利润系数(以凯利为单位)所决定的。
很好的帖子,Rbhauer。你打算如何实现上述目标?
 

GBP喜欢被搔扰一下。这里没有疯狂的调整。注意PF从1.38提升到1.77。更高的信号质量,更少的频率。到目前为止都是一致的。这些都是非复利的(对静态银行资金而言,风险值是恒定的)。

复利,最大DD为38%,5万起步


 
rbhauer:

英镑喜欢被搔扰一下。这里没有疯狂的调整。注意PF从1.38提升到1.77。更高的信号质量,更少的频率。到目前为止都是一致的。这些都是非复利的(对静态银行资金而言,风险值是恒定的)。

复利,最大DD为38%,5万起步


这让人印象深刻。你能分享一下吗?我在GBDUSD上测试了我的策略,结果不是很好,大致上是收支平衡。其他货币对确实效果更好。

我正试图将票据-威廉斯交易系统添加到30M-1H的剥头皮程序中,使用ATR作为SL和BE的测量。随时向您汇报。

 
rbhauer:

英镑喜欢被搔扰一下。这里没有疯狂的调整。注意PF从1.38提升到1.77。更高的信号质量,更少的频率。到目前为止都是一致的。这些都是非复利的(对静态银行资金来说,风险值是恒定的)。

复利,最大DD为38%,5万起步


这看起来很有希望。 能否请你分享一下你所写的东西?

我一直在用一个成功的修改过的马丁格尔策略在手动模式下工作,并开始为它编写EA。 如果能与你的策略进行比较,那就太好了。

 

进入低层TF,看看是否可以利用同样的现象。到目前为止,这似乎是可能的。在过去8年中,信号频率大幅提升至1137(每年平均150个信号),这对统计学上的保证是很好的。股票DD似乎没有太多跳跃性。现在要调查中间延长的平坦期,看看是否可以将总体市场主题收入囊中,并确定一个稍有不同的设置调整。