如何写一个自动止盈的公式 (文华财经)

投资者咨询:如何写一个自动止盈的公式 (文华财经)
来源:文华财经  日期:2021-1-22 2:57
 1、原代码如下,是在文华6使用的:
MID:=MA(C,N);// 
TMP:=STD(C,M)*SDEV;//
DISPTOP:=REF(MID,P)+TMP;//
DISPBOTTOM:=REF(MID,P)-TMP;//
Q:=BARSLAST(H>=DISPTOP);
W:=BARSLAST(L<=DISPBOTTOM);

DRAWICON(CROSS(W,Q) ,L*0.998,'ICO4'),SOUND('B');
DRAWICON(CROSSDOWN(W,Q),H,'ICO5'),SOUND('D');
 
以上通过收盘价变化发出信号,标记。红箭头代表做多,绿箭头代表做空(以信号正式生效的收盘价为准,即下单价位)
能否写一个止盈代码:

即以标记正式生效的收盘价为下单价,下单后如果曾经浮盈超过22大点(不是指最小跳动单位0.2),则最少保住6个大点,计算公式为:曾经最大浮盈/2-5。并在不干扰信号继续运算的情况下,在止盈的k线上做个小标记 “△”同时sound (e)。




2、 原代码如下,是在文华8使用的:
MID:=MA(C,N);//计算中轨       
TMP:=STD(C,M)*SDEV;//计算标准差
DISPTOP:=REF(MID,P)+TMP;//平移BOLL通道上轨
DISPBOTTOM:=REF(MID,P)-TMP;//平移BOLL通道下轨
CROSS(H,DISPTOP),BPK;
CROSSDOWN(L,DISPBOTTOM),SPK;
CROSS(H,DISPTOP),SOUND('A');
CROSSDOWN(L,DISPBOTTOM),SOUND('B');

//CLOSEKLINE(2,10);
AUTOFILTER;

和上述1请求相同,bpk或spk后,进场价格如果曾经浮盈超过22大点(不是指最小跳动单位0.2),则最少保住6个大点,计算公式为:曾经最大浮盈/2-5。
符合止盈条件后,这里需要做平仓指令,同时做一个sound(e)通知下,然后让程序继续运行计算,直到下一个信号出来。

辛苦了!





技术人员回复
日期:2021-1-22 8:09

WH6 参考:

 

MID:=MA(C,N);//
TMP:=STD(C,M)*SDEV;//
DISPTOP:=REF(MID,P)+TMP;//
DISPBOTTOM:=REF(MID,P)-TMP;//
Q:=BARSLAST(H>=DISPTOP);
W:=BARSLAST(L<=DISPBOTTOM);


DRAWICON(CROSS(W,Q) ,L*0.998,'ICO4'),SOUND('B');
A:=W>Q&&C<=VALUEWHEN(CROSS(W,Q),C)+(HHV(H,BARSLAST(CROSS(W,Q)))-VALUEWHEN(CROSS(W,Q),C))/2-5;
DRAWTEXT(A&&COUNT(A,BARSLASTCOUNT(W>Q))=1,H,'▼'),COLORGREEN;
A&&COUNT(A,BARSLASTCOUNT(W>Q))=1,SOUND('E');

DRAWICON(CROSSDOWN(W,Q),H,'ICO5'),SOUND('D');
B:=W<Q&&C>=VALUEWHEN(CROSSDOWN(W,Q),C)-((VALUEWHEN(CROSSDOWN(W,Q),C)-LLV(L,BARSLAST(CROSSDOWN(W,Q))))/2-5);
DRAWTEXT(B&&COUNT(B,BARSLASTCOUNT(W<Q))=1,L,'▲'),COLORRED;
B&&COUNT(B,BARSLASTCOUNT(W<Q))=1,SOUND('F');

 
技术人员回复
日期:2021-1-22 9:12

 wh8参考:

 

MID:=MA(C,N);//计算中轨      
TMP:=STD(C,M)*SDEV;//计算标准差
DISPTOP:=REF(MID,P)+TMP;//平移BOLL通道上轨
DISPBOTTOM:=REF(MID,P)-TMP;//平移BOLL通道下轨
CROSS(H,DISPTOP),BPK;
CROSSDOWN(L,DISPBOTTOM),SPK;
C<=BKPRICE+(BKHIGH-BKPRICE)/2-5,SP;
C>=SKPRICE-((SKPRICE-SKLOW)/2-5),BP;
CROSS(H,DISPTOP),SOUND('A');
CROSSDOWN(L,DISPBOTTOM),SOUND('B');
BKVOL>0&&C<=BKPRICE+(BKHIGH-BKPRICE)/2-5,SOUND('E');
SKVOL>0&&C>=SKPRICE-((SKPRICE-SKLOW)/2-5),SOUND('F');
//CLOSEKLINE(2,10);
AUTOFILTER;

投资者咨询:如何写一个自动止盈的公式 (文华财经)
来源:文华财经  日期:2021-1-22 2:57
1、 

图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:1.png

截图箭头所指部分有点不同,这个不碍事吧?

2、咱提出的请求:进场后曾经浮盈22大点以上的情况下,然后计算止盈公式:最大浮盈/2-5=至少保盈的点位,请问曾经浮盈22大点,这个变量应该填写在什么地方?


咱的请求是。。原代码会在符合条件的时候发出红绿箭头代表信号,且会发出信号的预警声,以当时红绿箭头标记成立的收盘价为基准,来计算入场后的曾经浮盈最大有没超过22,超过就做以上的保盈动作
 

并不是指入场后的那根k线,是指入场后。。。随着价格的波动,如果出现曾经出现浮盈22大点的情况后。。。。此时咱就根据计算公式保盈。。。也就是说。。只要入场浮盈曾经超过22大点。。咱就至少要保赢5个点出场的意思。。。


文华8这个也是同样的意思。请帮忙
投资者咨询:如何写一个自动止盈的公式 (文华财经)
来源:文华财经  日期:2021-1-22 2:57
 好的,辛苦了。
投资者咨询:如何写一个自动止盈的公式 (文华财经)
来源:文华财经  日期:2021-1-22 2:57
 Q:=100;
C<=BKPRICE-Q*MINPRICE,SP;
C>=SKPRICE+Q*MINPRICE,BP;


您可以类似给我留点变量操作。比如我可以在Q这里填上不同的数字,代表不同的保盈方案。

我这是随便举例的哈。说错难免
技术人员回复
日期:2021-1-22 13:46

 1.因为wh8可以直接取开仓价以及开仓以来最高价最低价等,wh6只能根据条件去编写,不一样是正常的。

 

2.加入盈利到22价差的条件,参考:

 

wh6:

 

MID:=MA(C,N);//
TMP:=STD(C,M)*SDEV;//
DISPTOP:=REF(MID,P)+TMP;//
DISPBOTTOM:=REF(MID,P)-TMP;//
Q:=BARSLAST(H>=DISPTOP);
W:=BARSLAST(L<=DISPBOTTOM);


DRAWICON(CROSS(W,Q) ,L*0.998,'ICO4'),SOUND('B');
A:=W>Q&&C<=VALUEWHEN(CROSS(W,Q),C)+(HHV(H,BARSLAST(CROSS(W,Q)))-VALUEWHEN(CROSS(W,Q),C))/2-5&&HHV(H,BARSLAST(CROSS(W,Q)))-VALUEWHEN(CROSS(W,Q),C)>=22;
DRAWTEXT(A&&COUNT(A,BARSLASTCOUNT(W>Q))=1,H,'▼'),COLORGREEN;
A&&COUNT(A,BARSLASTCOUNT(W>Q))=1,SOUND('E');

DRAWICON(CROSSDOWN(W,Q),H,'ICO5'),SOUND('D');
B:=W<Q&&C>=VALUEWHEN(CROSSDOWN(W,Q),C)-((VALUEWHEN(CROSSDOWN(W,Q),C)-LLV(L,BARSLAST(CROSSDOWN(W,Q))))/2-5)&&VALUEWHEN(CROSSDOWN(W,Q),C)-LLV(L,BARSLAST(CROSSDOWN(W,Q)))>=22;
DRAWTEXT(B&&COUNT(B,BARSLASTCOUNT(W<Q))=1,L,'▲'),COLORRED;
B&&COUNT(B,BARSLASTCOUNT(W<Q))=1,SOUND('F');

 

wh8:

 

MID:=MA(C,N);//计算中轨      
TMP:=STD(C,M)*SDEV;//计算标准差
DISPTOP:=REF(MID,P)+TMP;//平移BOLL通道上轨
DISPBOTTOM:=REF(MID,P)-TMP;//平移BOLL通道下轨
CROSS(H,DISPTOP),BPK;
CROSSDOWN(L,DISPBOTTOM),SPK;
C<=BKPRICE+(BKHIGH-BKPRICE)/2-5&&BKHIGH-BKPRICE>=22,SP;
C>=SKPRICE-((SKPRICE-SKLOW)/2-5)&&SKPRICE-SKLOW>=22,BP;
CROSS(H,DISPTOP),SOUND('A');
CROSSDOWN(L,DISPBOTTOM),SOUND('B');
BKVOL>0&&C<=BKPRICE+(BKHIGH-BKPRICE)/2-5&&BKHIGH-BKPRICE>=22,SOUND('E');
SKVOL>0&&C>=SKPRICE-((SKPRICE-SKLOW)/2-5)&&SKPRICE-SKLOW>=22,SOUND('F');
//CLOSEKLINE(2,10);
AUTOFILTER;

 

 

投资者咨询:如何写一个自动止盈的公式 (文华财经)
来源:文华财经  日期:2021-1-22 2:57
 辛苦了,这里的22是指最小跳动点对吧。因为我主要观察if,到时22得改成110对吧 


这个22变量就是允许我以后可以自己根据要求来修改的对吗
技术人员回复
日期:2021-1-22 13:51

 回复6楼:

 

您的止盈思路,价位是跟随最大盈利变化的,不是6楼这种固定的,

 

具体相对什么设置参数?“最大浮盈/2-5”,把5设置成参数?

投资者咨询:如何写一个自动止盈的公式 (文华财经)
来源:文华财经  日期:2021-1-22 2:57
 是的,我说错了,不是固定的。是个变动的。

我能改变的就是曾经最大浮盈发生过22大点(或110个跳动点)。。。。这里的22,我可以自己改。这个问题忽略哈。