金字塔决策交易系统

用户名  找回密码
 

微信登录

微信扫一扫,快速登录

帖子
查看: 3493|回复: 1

网格交易策略

 关闭 [复制链接]

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-5 13:08 | 显示全部楼层 |阅读模式
本帖最后由 技术009 于 2023-5-5 13:10 编辑

    网格交易策略(Grid Trading Strategy)是一种在金融市场中常用的交易方法。该策略的核心思想是在预先设定的价格区间内,通过设立多个买卖点,进行反复买进和卖出操作,以实现盈利。网格交易策略不依赖于市场方向,而是试图从市场波动中获利

通常实施网格交易策略有以下几个要素:

1.选择交易品种:选择一个波动性较高,流动性大,市场趋势不明确的品种,以确保有足够的价格波动来实施网格策略。另外由于网格策略可能会进行大量的买卖操作,因此通常建议选择交易成本较低的品种

2.确定价格区间:观察所选品种的历史价格波动,确定一个合理的价格区间,例如,可以选择最近几个月内的最高价和最低价作为区间边界。

3.设置网格大小:根据价格区间和自己的风险承受能力,将价格区间划分为多个小区间,每个小区间就是一个网格。网格大小可以根据交易者的经验和风险偏好来调整。

4.设定买卖点:在每个网格的边界处设立买入和卖出挂单。当价格跌到一个买入点时,执行买入操作;当价格升到一个卖出点时,执行卖出操作。

5.持续调整:根据市场波动和自己的盈亏情况,持续调整网格大小、买卖点等参数。适时调整能确保策略适应市场的变化。

    需要注意的是,虽然网格交易策略可以在震荡市场中获得稳定收益,但它也存在一定的风险。当市场出现大幅度趋势行情时,如果网格设置不合理,可能会导致大量亏损。因此,在实施网格交易策略时,需要仔细研究市场,合理设定网格参数,并密切关注市场动态,及时调整策略。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
 楼主| 发表于 2023-5-6 15:24 | 显示全部楼层
本帖最后由 技术009 于 2023-7-6 15:24 编辑

    以下是一个简单的在图表程序化上实现的网格交易策略,本策略仅供大家作为实现网格策略的思路参考。大家在实际编写中可以参考范例的思路,自行调整网格交易策略的几个核心要素(品种,价格区间,网格间隔,买卖逻辑)来实现自己的交易策略。实际交易中通常是建议大家在后台程序化使用小周期和较小的轮训间隔来运行网格策略 ,范例里的图表代码经过简单调整也可以在后台上运行:

[PEL] 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
input:dif(5,1,1000,1);//dif为网格间隔参数,单位是最小变动价位;按照此间隔来划分价格区间(也可以按照指定的网格数量来划分价格区间)
input:ss(1,1,1000,1);//ss是手数参数
variable:level:=-1;//全局变量用来记录最近一次 买和卖 时候的价位所在的档位。
 
 
//确定网格价格边界。可自行定义价格区间的计算逻辑,但是务必要在价格区间发生变化的时候 进行仓位处理或者全局变量的重置。
h1:=callstock('',vthigh,6,-1);
l1:=callstock('',vtlow,6,-1);
 
//以昨日最高最低价为基准,上下轨数值调整为 dif整数倍
up:(floor(h1/(dif*mindiff))+1)*(dif*mindiff);//上轨
down:(floor(l1/(dif*mindiff)))*(dif*mindiff);//下轨
 
//划分出来总的层数
r:(up-down)/(dif*MINDIFF),NODRAW;
 
if  todaybar=1 then //开盘初始化一次
begin
level:=-1;
end       
 
n:floor((up-c)/(dif*mindiff)),nodraw;   //当前价格在上轨下 n个dif 之下位置
if level=-1 then level:=max(0,n);
 
 
买:=level<n  and level>0 and n<r;
卖:=holding>0 and  level>0 and n<level;
 
 
if 卖  then
begin
sell(1,holding,marketr);
level:=n;
end
 
 
if 买  then
begin
buy(1,ss,marketr);
level:=n;
end
 
 
 
if time=closetime(0) then
begin
收盘平仓:sell(1,holding,market);       
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-7-20 13:37 , Processed in 0.130461 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表