77范文网 - 专业文章范例文档资料分享平台

海龟交易法则与matlab程序代码(3)

来源:网络收集 时间:2018-11-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

HoldingPosition(1,i*5-3)=(VN); HoldingPosition(1,i*5-2)=(1);

HoldingPosition(1,i*5-1)=(EnterH-2*N); %% 注:预设2倍止损! HoldingPosition(1,i*5)=(j);

HoldingPosition(2:4,i*5-4:i*5)=zeros;

Balance(j,1)=Balance(j-1,1)-PriceVN_B; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_B;

BQ=BQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end %{

为了保证全部头寸的风险最小,如果另外增加单位,前面单位的止损就提高1/2N。 这一般意味着全部头寸的止损将被设置在踞最近增加的单位的2N处。

然而,在后面单位因市场波动太快造成“打滑(skid)”或者因开盘跳空而以较大的间隔设置的情况下,止损就有所不同。 %} elseif HoldingPosition(1,i*5-3)~=0 && HoldingPosition(2,i*5-3)==0 && H>=HoldingPosition(1,i*5-4)+0.5*N if Balance(j-1,1)>PriceVN_B

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(2,i*5-4)=(HoldingPosition(1,i*5-4)+0.5*N); HoldingPosition(2,i*5-3)=(VN); HoldingPosition(2,i*5-2)=(1);

HoldingPosition(2,i*5-1)=(HoldingPosition(2,i*5-4)-2*N); %% 注:预设2倍止损! HoldingPosition(2,i*5)=(j);

HoldingPosition(1,i*5-1)=(HoldingPosition(1,i*5-4)-2*N+0.5*N); %% 止损水平提高 HoldingPosition(3:4,i*5-4:i*5)=zeros;

Balance(j,1)=Balance(j-1,1)-PriceVN_B; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_B;

BQ=BQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end

elseif HoldingPosition(2,i*5-3)~=0 && HoldingPosition(3,i*5-3)==0 && H>=HoldingPosition(2,i*5-4)+0.5*N if Balance(j-1,1)>PriceVN_B

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(3,i*5-4)=(HoldingPosition(2,i*5-4)+0.5*N); HoldingPosition(3,i*5-3)=(VN); HoldingPosition(3,i*5-2)=(1);

HoldingPosition(3,i*5-1)=(HoldingPosition(3,i*5-4)-2*N); %% 注:预设2倍止损! HoldingPosition(3,i*5)=(j);

HoldingPosition(1,i*5-1)=(HoldingPosition(1,i*5-4)-2*N+N); %% 止损水平提高 HoldingPosition(2,i*5-1)=(HoldingPosition(2,i*5-4)-2*N+0.5*N); %% 止损水平提高 HoldingPosition(4,i*5-4:i*5)=zeros;

Balance(j,1)=Balance(j-1,1)-PriceVN_B; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_B;

BQ=BQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end elseif HoldingPosition(3,i*5-3)~=0 && HoldingPosition(4,i*5-3)==0 && H>=HoldingPosition(3,i*5-4)+0.5*N if Balance(j-1,1)>PriceVN_B

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(4,i*5-4)=(HoldingPosition(3,i*5-4)+0.5*N); HoldingPosition(4,i*5-3)=(VN); HoldingPosition(4,i*5-2)=(1);

HoldingPosition(4,i*5-1)=(HoldingPosition(4,i*5-4)-2*N); %% 注:预设2倍止损! HoldingPosition(4,i*5)=(j);

HoldingPosition(1,i*5-1)=(HoldingPosition(1,i*5-4)-2*N+1.5*N); %% 止损水平提高 HoldingPosition(2,i*5-1)=(HoldingPosition(2,i*5-4)-2*N+1*N); %% 止损水平提高 HoldingPosition(3,i*5-1)=(HoldingPosition(3,i*5-4)-2*N+0.5*N); %% 止损水平提高

Balance(j,1)=Balance(j-1,1)-PriceVN_B; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_B;

BQ=BQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ;

PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end else end end else end end

if PS>0

i=sr2(ll); % 首先从RSV最小的开始

O=data(j,i*5-4);H=data(j,i*5-3);L=data(j,i*5-2);C=data(j,i*5-1); EnterL=min(DailyData(Today-Str1_in:Today-1,i*5-2)); EnterH=max(DailyData(Today-Str1_in:Today-1,i*5-3)); N= NMatrix(Today-1,i);

ValuePerPoint=N*Size(i)/Margin(i); % 一手波动全部损失所值价值 VN= fix(0.01*sum(Balance(j-1,:))/ValuePerPoint); % 每个标准风险单位 PriceVN_S=VN*L*Margin(i)*Size(i); % 做多每组所需资金 if L<=EnterL

if PLI(2,i)==1 || PLI(3,i)==-1 || PLI(2,i)==-1 && EnterH -PLI(1,i)>=2*N || L<=min(DailyData(Today-Str2_in:Today-1,i*5-2));

% 上次交易为做多 或上次交易亏损 或 上次交易也是做空,不过开仓位置与这一次最高点没有超过2N

if HoldingPosition(1,i*5-3)==0 % 虚位以待!

if Balance(j-1,1)>PriceVN_S

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(1,i*5-4)=(EnterL); HoldingPosition(1,i*5-3)=(VN); HoldingPosition(1,i*5-2)=(-1);

HoldingPosition(1,i*5-1)=(EnterL+2*N); %% 注:预设2倍止损! HoldingPosition(1,i*5)=(j);

HoldingPosition(2:4,i*5-4:i*5)=zeros;

Balance(j,1)=Balance(j-1,1)-PriceVN_S; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_S;

SQ=SQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end

%{

为了保证全部头寸的风险最小,如果另外增加单位,前面单位的止损就提高1/2N。 这一般意味着全部头寸的止损将被设置在踞最近增加的单位的2N处。 然而,在后面单位因市场波动太快造成“打滑(skid)”或者因开盘跳空而以较大的间隔设置的情况下,止损就有所不同。 %} elseif HoldingPosition(1,i*5-3)~=0 && HoldingPosition(2,i*5-3)==0 && L<=HoldingPosition(1,i*5-4)-0.5*N if Balance(j-1,1)>PriceVN_S

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(2,i*5-4)=(HoldingPosition(1,i*5-4)-0.5*N); HoldingPosition(2,i*5-3)=(VN); HoldingPosition(2,i*5-2)=(-1);

HoldingPosition(2,i*5-1)=(HoldingPosition(2,i*5-4)+2*N); %% 注:预设2倍止损! HoldingPosition(2,i*5)=(j);

HoldingPosition(1,i*5-1)=(HoldingPosition(1,i*5-4)+2*N-0.5*N); %% 止损水平提高 HoldingPosition(3:4,i*5-4:i*5)=zeros;

Balance(j,1)=Balance(j-1,1)-PriceVN_S; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_S;

SQ=SQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end elseif HoldingPosition(2,i*5-3)~=0 && HoldingPosition(3,i*5-3)==0 && L<=HoldingPosition(2,i*5-4)-0.5*N if Balance(j-1,1)>PriceVN_S

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(3,i*5-4)=(HoldingPosition(2,i*5-4)-0.5*N); HoldingPosition(3,i*5-3)=(VN); HoldingPosition(3,i*5-2)=(-1);

HoldingPosition(3,i*5-1)=(HoldingPosition(3,i*5-4)+2*N); %% 注:预设2倍止损! HoldingPosition(3,i*5)=(j);

HoldingPosition(1,i*5-1)=(HoldingPosition(1,i*5-4)+2*N-N); %% 止损水平提高 HoldingPosition(2,i*5-1)=(HoldingPosition(2,i*5-4)+2*N-0.5*N); %% 止损水平提高 HoldingPosition(4,i*5-4:i*5)=zeros;

Balance(j,1)=Balance(j-1,1)-PriceVN_S; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_S;

SQ=SQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end elseif HoldingPosition(3,i*5-3)~=0 && HoldingPosition(4,i*5-3)==0 && L<=HoldingPosition(3,i*5-4)-0.5*N if Balance(j-1,1)>PriceVN_S

% % 持仓,针对每一个品种,描述出其(开仓价格,持仓量,开仓方向,预设止损值,,开仓时间)

% 4×(5×i)

HoldingPosition(4,i*5-4)=(HoldingPosition(3,i*5-4)-0.5*N); HoldingPosition(4,i*5-3)=(VN); HoldingPosition(4,i*5-2)=(-1);

HoldingPosition(4,i*5-1)=(HoldingPosition(4,i*5-4)-2*N); %% 注:预设2倍止损! HoldingPosition(4,i*5)=(j);

HoldingPosition(1,i*5-1)=(HoldingPosition(1,i*5-4)+2*N-1.5*N); %% 止损水平提高 HoldingPosition(2,i*5-1)=(HoldingPosition(2,i*5-4)+2*N-1*N); %% 止损水平提高 HoldingPosition(3,i*5-1)=(HoldingPosition(3,i*5-4)+2*N-0.5*N); %% 止损水平提高

Balance(j,1)=Balance(j-1,1)-PriceVN_S; % 资金账户划转 Balance(j,2)=Balance(j-1,2)+PriceVN_S;

SQ=SQ+1; % 可买卖单位调整

PB=min([CB+SQ-BQ PosLim(1,5)-BQ]) ; PS=min([CS+BQ-SQ PosLim(1,5)-SQ]) ; end else end end else end end end end %%

elseif STRATEGY==2

for j=max([Str1_in,Str2_in,P_RSV/Freq])*Freq+1:Days*Freq Today=fix(j/Freq)+1; % 现在所处的交易日

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库海龟交易法则与matlab程序代码(3)在线全文阅读。

海龟交易法则与matlab程序代码(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/322973.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: