龙哥量化:用deepseek编程要学习的公式编程的基础知识和常用的功能模块

 龙哥微信:Long622889
代写通达信技术指标、选股公式(通达信,同花顺,东方财富,大智慧,文华,博易,飞狐)
代写期货量化策略(TB交易开拓者,文华8,金字塔)

 我自己在公式编程非常熟练了,但是遇到deepseek的时候,非常惊喜,能理解我的思路,

也能明白我提出的修改思路,真的非常智能化,居然能像人脑一样思考。

这几天的使用体验交流一下:

第一:理解能力太强大了

第二:对函数特点和注意事项居然清清楚楚,知道怎么用,知道哪个思路应该用哪个函数,非常惊喜

第三:之前聊过的,要把逻辑和思路说清楚,一条条的罗列整理好,一把发给他,deepseek才能完整的理解

第四:有时候会理解出错,导致写的代码不对,编译运行不通过,解决办法是把不通过的原因告诉他,另一种办法是学点公式编程的基础知识和注意事项,这是本篇文章的核心内容

 

开始学基础知识

公式类型基本学会两种就可以,技术指标公式和条件公式

技术指标公式:可以画线,显示数值,显示文字,显示图标,这些都是在主图或者副图看的,

条件公式更简单了,只能有一个输出,也就是只能有一个冒号:,其他都是冒号等号:=     而且不能画线,不能显示数值/文字/图标,NODRAW函数,colorstick函数要删除。

第一、画线有两种方式

1、直接变量名后面跟个冒号就可以,(只能是英文的冒号)

比如20日均线,要在主图画线,变量名是MA20,后面跟个: 然后用分号;结尾

MA20:MA(C,20);

2、用画线函数,画特殊的线,比如横线和斜线的DRAWSL函数,比如折线的PLOYLINE函数,还有画飘带的DRAWBAND函数

这些函数都有说明, 函数的参数是需要自己设置的

这里举例DRAWSL函数

功能:绘制斜线.
用法:
 DRAWSL(COND,PRICE,SLOPE,LEN,DIRECT),当COND条件满足时,在PRICE位置画斜线,SLOPE为斜率,LEN为长度,DIRECT为0向右延伸,1向左延伸,2双向延伸.若COND太容易满足,此函数可能会很耗时
注意:
1.K线间的纵向高度差为SLOPE;
2.SLOPE为0时,为水平线;
3.SLOPE为10000时,为垂直线,LEN为向上的像素高度,DIRECT表示向上或向下延伸;
4.SLOPE和LEN支持变量;

我有个小思路, 想在每月的第一天画一条45度角的斜线,0.03是斜率,你可以自己调试,每月大概22个K,向右延伸画22个K

DIYI:=MONTH<>REF(MONTH,1);
DRAWSL(DIYI, C, 0.03, 22, 0),COLORYELLOW;

第二、显示数值,显示文字,显示图标

显示数值,一种是在公式的标题栏这里显示,

比如ma20:ma(c,20);  看图片效果

另一种是在每个K的h处显示数字,用函数DRAWNUMBER

比如在每月第一天显示,这是每月几日,效果图如下

DIYI:=MONTH<>REF(MONTH,1);

DRAWNUMBER(DIYI,H,DAY),DRAWABOVE,COLORYELLOW;

显示文字,用函数DRAWTEXT

DIYI:=MONTH<>REF(MONTH,1);
DRAWTEXT(DIYI,H,'每月第一天'),DRAWABOVE,COLORYELLOW;

显示图标,用函数DRAWICON

DIYI:=MONTH<>REF(MONTH,1);
DRAWICON(DIYI,H,5),DRAWABOVE;

仔细观察这三个函数, 第一个参数是diyi,条件成立就画,不成立,就不画,第二个H,是画在哪个位置,第三个是内容,熟练后,都不用看函数说明,直接手敲代码就可以啦。

 

第三、代码导出方式

直接在编辑器右侧,点导出公式/快捷导出,这种不会出错,导出的文件格式是.tn6

 

第四、常用的几个功能模块

1、去除掉8和4开头的,去除掉st开头的

ST84:=NAMELIKE('*ST') OR NAMELIKE('ST') OR CODELIKE('8') OR CODELIKE('4'); 

最后一句加上 and not(ST84);

 

2、在分钟K线主图看分时均线

T1:=DAY<>REF(DAY,1);
T2:=BARSLAST(T1)+1;
JX:SUM(AMOUNT,T2)/SUM(V,T2)/100,coloryellow;

 

3、涨幅(这个实际的使用频率非常高,模块化,不用再敲一次)

ZF:=(C-REF(C,1))/REF(C,1)*100;

 

4、各种均线
A1:=C; N1:=120; N2:=0.3;
MA1:=MA(A1,N1);  {简单移动平均}
MEMA1:MEMA(A1,N1); {平滑移动平均}
EMA1:EMA(A1,N1);  {指数移动平均}
WMA1:=WMA(A1,N1); {加权移动平均}
DMA1:=DMA(A1,N2); {以N2为权重A1的动态移动平均}
AMA1:=AMA(A1,N2); {以N2为权重A1的自适应均线}
XMA1:XMA(A1,N1);  {A1的N1日偏移移动平均}

 

5、小实体、大实体
ZF1:=(C-REF(C,1))/REF(C,1)*100;
ZF2:=(O-REF(C,1))/REF(C,1)*100;
A1:=ABS(ZF1-ZF2);

XG:  A1<1.6;

A1<1.6小实体    如果 A1>6就是大实体

龙哥微信:Long622889

posted @   龙哥量化  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示