通达信编写,上一根K线是阴K线 当前K线突破上一根K线最高价,画一横 线
时间: 2023-06-23 15:50:49 浏览: 347
以下是通达信代码实现:
```
HH :=HHV(HIGH,2); //取前两个周期最高价的最高值,即上一根K线的最高价
LC :=REF(CLOSE,1); //取昨收价,即上一根K线的收盘价
COND1:=LC<REF(OPEN,1); //判断上一根K线是否为阴K线
COND2:=HIGH>HH; //判断当前K线是否突破上一根K线最高价
DRAWCOND(1,COND1 AND COND2,HIGH,0); //画一条横线,条件为上一根K线是阴K线并且当前K线突破上一根K线最高价
```
这段代码的意思是,先取前两个周期最高价的最高值,即上一根K线的最高价;然后取昨收价,即上一根K线的收盘价。接着判断上一根K线是否为阴K线,判断当前K线是否突破上一根K线最高价。最后,如果上一根K线是阴K线并且当前K线突破上一根K线最高价,就在当前K线的最高价处画一条横线。
相关问题
图文手把手教你一步步用vc 2010编写通达信缠论插件(2-k线包含处理)
### 回答1:
通达信缠论插件是基于VC 2010编写的,下面我将用图文的形式,一步步教你编写k线包含处理。
第一步:创建项目
在VC 2010中,依次选择“文件”-“新建”-“项目”,选择“Win32项目”。填写项目名称,选择保存路径,点击“确定”按钮。
第二步:设置项目属性
在解决方案资源管理器中,右击项目名称,选择“属性”。
在“属性页”中选择“配置属性”-“常规”,将“项目类型”更改为“动态链接库(.dll)”。
在“属性页”中选择“配置属性”-“常规”,将“字符集”更改为“使用多字节字符集”。
点击“应用”按钮,再点击“确定”按钮。
第三步:添加头文件
在解决方案资源管理器中,右击“源文件”文件夹,选择“添加”-“新建项”。
选择“C++文件(.cpp)”,填写文件名称,点击“添加”按钮。
打开新增的文件,在代码编辑器中,添加以下头文件:
#include <windows.h>
#include <tchar.h>
第四步:编写k线包含处理函数
在代码编辑器中,添加以下函数:
BOOL KLineContain(HDC hdc, int x1, int x2, int y1, int y2){
// 在这里编写k线包含处理函数的代码
// ...
return TRUE;
}
第五步:处理插件入口函数
在代码编辑器中,找到以下函数,并进行修改:
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){
switch(fdwReason){
case DLL_PROCESS_ATTACH:
// 在这里进行初始化操作
// ...
break;
case DLL_PROCESS_DETACH:
// 在这里进行清理操作
// ...
break;
}
return TRUE;
}
第六步:编译和运行插件
点击“生成”菜单,选择“生成解决方案”。
插件编译完成后,将生成的.dll文件复制到通达信安装目录的“/gpc”文件夹中。
重新打开通达信软件,插件已经加载成功。
以上是使用VC 2010编写通达信缠论插件的步骤,通过这个插件,你可以方便地进行k线包含处理。希望对你有帮助!
### 回答2:
通达信是一款流行的股票分析软件,而编写通达信插件是一项常见的需求。本文将用图文详细说明,在使用VC 2010编写通达信缠论插件中的第二个步骤,即K线包含处理。
首先,打开VC 2010软件,并创建一个新的项目。选择Visual C++空项目,并为其命名。
接下来,右键单击解决方案资源管理器上的项目名称,并选择添加->新建项。在对话框中选择基于文档的项目,并为其命名。
然后,在解决方案资源管理器中,找到新创建的项目文件,右键单击并选择属性。在属性窗口中,选择常规->字符集,将字符集选项设置为“使用多字节字符集”。
现在,创建一个新的类。右键单击项目文件,并选择添加->类。在类向导对话框中,填写类的名称,并选择该类的类型为“派生自”->“文件”。
在类编辑器中,找到OnRcvMsg函数并打开它。在该函数中,添加代码来处理K线包含逻辑,例如:
```c++
void OnRcvMsg(LPCSTR Msg)
{
// 从通达信软件接收到的消息处理
if (strstr(Msg, "K线包含处理"))
{
// 执行K线包含处理逻辑
}
else
{
// 其他逻辑
}
}
```
在K线包含处理逻辑的代码块中,你可以添加任何你认为适合的代码。例如,你可以解析接收到的消息,并根据其中的指令执行相应的操作。
完成以上步骤后,保存并构建项目。确保没有任何错误或警告。如果有错误,可以通过检查代码并纠正错误来解决问题。
总结起来,这就是使用VC 2010编写通达信缠论插件(2-K线包含处理)的步骤。通过创建一个新的类,并在OnRcvMsg函数中添加K线包含处理的代码块,可以开始构建自己的插件。这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。
### 回答3:
编写通达信缠论插件是一项相对复杂的任务,需要有一定的编程基础和对通达信软件的了解。下面将以图文的方式,一步步教您用VC 2010编写通达信缠论插件中的K线包含处理部分。
第一步:打开VC 2010,创建一个新的项目。选择“Win32控制台应用程序”,命名为“ChanPlugin”。
第二步:在“stdafx.h”中添加必要的头文件,如包含“Windows.h”和“t2sdk.h”,以及定义一些常量和变量。
第三步:在“ChanPlugin.cpp”中,添加一个名为“HandleKLine”的函数来处理K线包含。
第四步:在“HandleKLine”函数中,首先获取通达信软件的K线数据。可以使用通达信提供的API函数来获取K线数据,如“T2SGetKLineData”。
第五步:对获取到的K线数据进行处理,判断K线之间的包含关系。可以使用循环来遍历每个K线,通过比较前后两个K线的最高价和最低价来判断是否有包含关系。
第六步:加入处理包含关系的代码,可以使用条件语句来处理不同的情况。例如,如果前一根K线包含后一根K线,可以做出相应的操作。
第七步:根据需要,在插件中显示处理结果。可以将结果输出到通达信软件的窗口或者绘制到图表上。
第八步:编译并运行插件,将其安装到通达信软件中。测试插件的功能是否正常,并根据需要进行调整和修改。
通过以上步骤,您可以一步步用VC 2010编写通达信缠论插件中的K线包含处理部分。当然,这只是一个示例,实际编写插件时还需要考虑更多的因素和细节。希望以上内容对您有所帮助。
编写通达信代码,日K线大于60均线为向上趋势,比较相邻两根K线,当根收盘价比前一根最高价高,最低价比前一根K线最低价高,符合无遮蔽原则,画线
以下是一份可能实现您需求的通达信代码:
```javascript
// 计算60日均线
ma60 = MA(C, 60);
// 判断是否处于向上趋势
trendUp = C > ma60;
// 判断是否符合无遮蔽原则并画线
if (trendUp && Ref(H, 1) < C && L > Ref(L, 1)) {
PlotLine("无遮蔽", 0, H, barssince(!trendUp), colorRed);
}
```
解释:
- MA(C, 60):使用通达信自带的MA函数计算60日均线。
- trendUp = C > ma60:判断当前收盘价是否大于60日均线值,如果是则说明当前处于向上趋势。
- Ref(H, 1) < C && L > Ref(L, 1):判断当前K线的收盘价是否比前一根K线的最高价高,最低价是否比前一根K线的最低价高,如果是则说明符合无遮蔽原则。
- PlotLine("无遮蔽", 0, H, barssince(!trendUp), colorRed):使用通达信自带的PlotLine函数画线,"无遮蔽"为线段名称,0为线段起始点位于当前K线的收盘价,H为线段终止点位于当前K线的最高价,barssince(!trendUp)为线段长度,即从当前K线开始,向前找到第一个不符合向上趋势的K线(即第一个!trendUp),此时线段的长度就是符合无遮蔽原则的K线数量,colorRed为线段的颜色。
希望这份代码能够实现您的需求,如有任何问题请随时提出。