zoukankan      html  css  js  c++  java
  • 量化投资_EasyLanguage/PowerLanguage教学课程__【第二篇专题】__【第一章限价单发单价格】

     第一章:限价单发单价格

      1、在进行limit,也就是限价单下单时,需要指定下单的价格。如果有一下代码:

    var:ma(0);
    
    ma = Average(close,5);
    
    if marketposition <> 1 and close > ma then 
        buy 1 shares next bar at open limit;
        
    
    if marketposition = 1 and close < ma then
        sell 1 shares next bar at open limit;

      此时,指定的下单价格为open limit,也就是按照open价格的limit(限价单)进行发单。

      2、如果这样写的话会存在一个问题。

       我们发现下单的价格并不是下一个Next bar的open价格,并制定open limit价格进行发单。这是因为,如果按照上述代码写的话,open limit中的open价格并不是Next bar(下一个bar)的open价格,而是当前if.....判断时的那根K线的价格。如果下一个的open价格与当前的open价格相等,此时也会按照open价格下单,如果价格不相等,会按照下一个的open价格进行发单(因为价格不存在,所以只能取下一个bar的open价格)。但是这样会造成逻辑的错误

      3、正确写法如下:

    var:ma(0);
    
    ma = Average(close,5);
    
    if marketposition <> 1 and close > ma then 
        buy 1 shares next bar at open of next bar limit;
        
    
    if marketposition = 1 and close < ma then
        sell 1 shares next bar at open of next bar limit;

      图示:此时价格就能对应起来了。

     

       因此正确的逻辑是(未开启Bar内条件):

      第一:在当前K线的close价格完成计算时,也即是最后一个完成tick来到时,公式会进行一次运算,会进行逻辑判断,并且对于发单指令也会进行识别。

      第二:判断逻辑满足后,指定buy的条件是在Next bar进行发单操作,而不是this bar,并且告诉在Next Bar 指定Next bar 的open价格作为limit价格。(站在当前最后一时刻给下一时刻的新K线发送指令和价格

      第三:新的一个K线来到时,也就是第一个开盘tick来到时,会根据第二步的指定做相关的动作,在此时指令为买入,并且是当根的open价格。(站在新的一根K线,接收上一时刻K线发送的指令和价格,而作相应的动作

    =================================================

    之前的文章感谢大家的转载,希望转载时请注明出处,本人转自其它网站的图表一并感谢,谢谢~!

    https://www.cnblogs.com/noah0532/

  • 相关阅读:
    SQL的join使用图解
    归并排序的JAVA实现
    java 快速排序 时间复杂度 空间复杂度 稳定性
    哈希表(HashMap)分析及实现(JAVA)
    外部排序
    海量数据面试题整理
    《CSS3秘籍》第6、7章
    《CSS3秘籍》第3-5章
    《CSS3秘籍》第1、2章
    《HTML5与CSS3基础教程》第11、14-16、18章
  • 原文地址:https://www.cnblogs.com/noah0532/p/13706245.html
Copyright © 2011-2022 走看看