Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:金字塔K逐线模式下 自编的函数是否正确?动态止盈止损功能有时好用有时不好用 没有规律。。。。请高手指点错误在哪?

1楼
tclstn 发表于:2013/1/14 10:47:17

Function DTZYZS(Formula,T,K,D,F,W)
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '函数机能:动态止盈止损
 '参数说明:T 0:收阳止盈 1:收阴止盈 2:收阳止损 3:收阴止损 4:价格收阳止盈 5:价格收阴止盈
 '         K 持仓价
 '         D 指定值
 '         F 浮动点
 '         W 委托量  
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
   
    If order.Holding2=0 Then
     Exit Function
    End If

 


    
 DTZYZS=1
 W=abs(W)
 ' 得到框架名称为"Technic",窗格名称为"Main"的窗格对象
 Set Grid = Technic.GetGridByName("Main")
 
 '最新价格取得
 Set Report1=marketdata.GetReportData(Grid.StockLabel,Grid.Market)
 NewPrice=Report1.NewPrice

 '分别处理
 Select Case T
  Case 0 '收阳止盈
   If NewPrice >= K + D Then
    call order.Sell(0,W,NewPrice-F,0,Grid.StockLabel,Grid.Market,"",0)
    Application.msgout Cdate(time) & ":【止盈】委托价:" & NewPrice-F & "委托量:" & W
    DTZYZS=0
      End If
      Exit Function
  Case 1 '收阴止盈
   If NewPrice <= K - D Then
    call order.SellShort(0,W,NewPrice+F,0,Grid.StockLabel,Grid.Market,"",0)
    Application.msgout Cdate(time) & ":【止盈】委托价:" & NewPrice+F & "委托量:" & W
    DTZYZS=0
      End If
      Exit Function
  Case 2 '收阳止损
   If NewPrice <= K - D Then
call order.Sell(0,W,NewPrice-F,0,Grid.StockLabel,Grid.Market,"",0)
    Application.msgout Cdate(time) & ":【止损】委托价:" & NewPrice-F & "委托量:" & W
    DTZYZS=0
      End If
      Exit Function
  Case 3 '收阴止损
   If NewPrice >= K + D Then
    call order.SellShort(0,W,NewPrice+F,0,Grid.StockLabel,Grid.Market,"",0)
    Application.msgout Cdate(time) & ":【止损】委托价:" & NewPrice+F & "委托量:" & W
    DTZYZS=0
      End If
      Exit Function
  Case 4 '价格收阳止盈
   If NewPrice >= D Then
    call order.Sell(0,W,NewPrice-F,0,Grid.StockLabel,Grid.Market,"",0)
    Application.msgout Cdate(time) & ":【止盈】委托价:" & NewPrice-F & "委托量:" & W
    DTZYZS=0
      End If
      Exit Function
  Case 5 '价格收阴止盈
   If NewPrice <= D Then
    call order.SellShort(0,W,NewPrice+F,0,Grid.StockLabel,Grid.Market,"",0)
    Application.msgout Cdate(time) & ":【止盈】委托价:" & NewPrice-F & "委托量:" & W
    DTZYZS=0
      End If
      Exit Function
 End Select

End Function

 

 

1.金字塔K逐线模式下 自编的函数是否正确?
2.动态止盈止损功能有时好用有时不好用 没有规律。。。。请高手指点错误在哪?

 


2楼
rushtaotao 发表于:2013/1/14 11:17:38

首先我们给出的建议是,自定义函数中尽量不要去用逐k线,这样容易导致问题。具体问题可能还要经过测试才知道。

 

3楼
tclstn 发表于:2013/1/14 11:26:19

那我用什么方法实现动态止盈止损?。。。谢谢

4楼
tclstn 发表于:2013/1/14 13:49:21
动态止盈止损
回撤止盈止损
分批止盈
动态下单撤单
 哪个能写成自定义函数 用在K逐线下
不能的话
K逐线下如何实现
5楼
rushtaotao 发表于:2013/1/14 14:09:49
不是非常明白您为什么一定要用逐k线 如果你要止赢止损 系统有自带的 如果不满足 直接往你策略里用相对应得最新价和开仓价格完成固定止盈 用最高价做出移动的止盈止损
6楼
王锋 发表于:2013/1/14 18:04:43

调用 DTZYZS 自定义函数时,注意用 ISLASTBAR限定到最后一个BAR时试试

7楼
just 发表于:2013/1/15 11:09:36
会不会是没有检测到持仓呢?
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02344 s, 2 queries.