开拓者期货期权程序化系统交易论坛

标题: 【免费】TB策略代写 [打印本页]

作者: yimatouzi    时间: 2017-1-17 21:46:50     标题: 【免费】TB策略代写

     主要用于保持写程序的习惯,怕过些时间不写程序就生疏了。

    所以免费提供程序代写服务...  晚上时间比较多,做一点稍微强度点的练习.

     要求:不要拿一些最初级的没有经过思考的指标什么的来做测试,需要有一点思想深度的策略。
     QQ:740628383   微信同上.
作者: zzscome    时间: 2017-2-11 19:30:07

请教一下:N=账户资金*5%/【(20日最高点-10日最低点)*每手吨数】
开仓条件:突破20日最高点(20日最低点),开多(空)N手。
平仓条件:跌破10日最低点(10日最高点),平N手。
这个N手数如何用TB语言写出来?谢谢回复
作者: yimatouzi    时间: 2017-2-12 23:38:21

zzscome 发表于 2017-2-11 19:30
请教一下:N=账户资金*5%/【(20日最高点-10日最低点)*每手吨数】
开仓条件:突破20日最高点(20日最低点 ...

Params

Vars
    Numeric Enter;
    NumericSeries  TotalCapital;
        Bool    Entrycon;
        Bool    Entrycon2;
        numeric  EntryLots;
Begin
     If(barstatus==0)
         {SetGlobalVar(0,0);}
         else Enter=GetGlobalVar(0);
  
     TotalCapital=Portfolio_CurrentCapital+Portfolio_CurrentEquity;
         EntryCon=(Enter==0 and High>Highest(high[1],20));
         EntryCon2=(TotalCapital*0.05>Portfolio_CurrentCapital);
         EntryLots=IntPart(TotalCapital*0.05/(Open*ContractUnit()*BigPointValue*Marginratio()));//以当前开盘价计算交易手数 取整
         
         If(EntryCon==true  and EntryCon2==true)
     {
             Buy(EntryLots,Max(open,Highest(High[1],20)+minmove*pricescale));
         SetGlobalVar(0,1);
     }
     If(barssinceentry>1 and Low<lowest(low[1],10) and getglobalvar(0)==1 )
      {
        Sell(0,min(open,Lowest(low[1],10)-minmove*pricescale));
        SetGlobalVar(0,0);
       }

End          
       

     看能不能满足你的 想法.
作者: yimatouzi    时间: 2017-2-12 23:52:12

yimatouzi 发表于 2017-2-12 23:38
Params

Vars

这句要改一下
TotalCapital=Portfolio_CurrentCapital+Portfolio_CurrentUsdMargin;

然后论坛里面  有在讨论。好像不能直接用 Portfolio_currentEquity 来直接求值,不知道为什么,这个地方
需要 在持仓过程中看看 到底怎么回事。

大体的 N的计算可以参考上面,应该没太大问题。
作者: PLHY    时间: 2017-2-13 00:22:32

本帖最后由 PLHY 于 2017-2-17 15:30 编辑


作者: lhyfantasy    时间: 2017-2-13 10:01:16

Begin
        AvgValue1 = AverageFC(Close,FastLength);
        AvgValue2 = AverageFC(Close,SlowLength);

        PlotNumeric("MA1",AvgValue1);
        PlotNumeric("MA2",AvgValue2);               
       
        // 集合竞价和小节休息过滤
        If(!CallAuctionFilter()) Return;
        If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
        {
                Buy(1,Open);
        }  
       
        If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
        {
                SellShort(1,Open);
        }

请问如何加一条语句可以限制成在金叉形成第一个第一个close的时候开仓后不再开仓,直到下一次金叉或者死叉
作者: zzscome    时间: 2017-2-15 14:25:59

yimatouzi 发表于 2017-2-12 23:38
Params

Vars

谢谢。我学习学习
作者: haqh810302    时间: 2017-2-18 12:31:12

当参数(例如60均线)上穿参数(200均线)开多,反之开空。开仓条件:向上金叉需价格在双线上方参数(例如1-100以内),反之死叉空单也一样。固定止参数(例如1-300或写成%百分比的止)。固定止赢为破短期均线平仓。手数参数(^^)。这个如何写?




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2