python 网格交易源码_网格交易策略源码(MT4.0源码)
//+------------------------------------------------------------------+
//| Grid1.1.mq4 |
//| Copy* 顺势加码 2006 |
//| |
//+------------------------------------------------------------------+
#property copy* "Copy* 顺势加码 2006"
#property link "bonnyshi@gmail.com"
#include
extern double GridStep=50; //格幅
extern double GridLength=100; //格长
double PivotPr, Multiple, i, Lots=0.1, STOPLEVEL, TP, ST;
string Text="Grid";
int Magic, j, BuyCount, SellCount, DTS, Ticket;
//+------------------------------------------------------------------+
int init() //初始化部分将定义参数赋值: 每次在start里面都可能被赋值一次,消耗时间
if (DTS==4) DTS=2;
else DTS=0;
Magic =105;
GridStep =GridStep*Point;
GridLength =GridLength*Point;
STOPLEVEL =MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;
return(0);
//+------------------------------------------------------------------+
int start()
{
Multiple =NormalizeDouble((Bid-NormalizeDouble(Bid,DTS))/GridStep, 0); // 评rint 检查这地方出值为0
PivotPr =NormalizeDouble(Bid,DTS) +GridStep*Multiple;
// 下网格布网
for(i=PivotPr; i>=PivotPr-GridLength; i=i-GridStep)
{
BuyCount=0; SellCount=0;
for(j=0; j
{
if(OrderSelect(j,SELECT_BY_POS)==false) return(0);
if(OrderMagicNumber()==Magic && NormalizeDouble(OrderOpenPr(),DTS)==NormalizeDouble(i,DTS) )
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT ) BuyCount++;
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP ) SellCount++;
}
}
if(BuyCount==0)
{
TP =i+GridStep; ST=0;
if(Ask-i>=STOPLEVEL)
{
Ticket =OrderSend(Symbol(),OP_BUYLIMIT,Lots,i,0,ST,TP,"Grid - BuyLimit",Magic,0,0);
if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid - BuyLimit=",i," 开仓成功");
else Alert( Symbol(),"Grid - BuyLimit=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
if(Ask==i)
{
Ticket=OrderSend(Symbol(),OP_BUY,Lots,i,0,ST,TP,"Grid - Buy",Magic,0,0);
if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid - Buy=",i," 开仓成功");
else Alert( Symbol(),"Grid - Buy=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
}
if(SellCount==0)
{
TP=i-GridStep;ST=0;
if(Bid-i>=STOPLEVEL)
{
Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,i,0,ST,TP,"Grid - SellStop",Magic,0,0);
if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid - SellStop=",i," 开仓成功");
else Alert( Symbol(),"Grid - SellStop=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
if(Bid==i)
{
Ticket=OrderSend(Symbol(),OP_SELL,Lots,i,0,ST,TP,"Grid - Sell",Magic,0,0);
if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid - BuyLimit=",i," 开仓成功");
else Alert( Symbol(),"Grid - BuyLimit=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
}
}
// 上网格布网
for(i=PivotPr+GridStep;i<=PivotPr+GridLength;i=i+GridStep)
{
BuyCount=0;SellCount=0;
for(j=0;j
{
if(OrderSelect(j,SELECT_BY_POS)==false) return(0);
if(OrderMagicNumber()==Magic && NormalizeDouble(OrderOpenPrice(),DTS)==NormalizeDouble(i,DTS) )
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP) BuyCount++;
if(OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT) SellCount++;
}
}
if(BuyCount==0)
{
TP=i+GridStep;ST=0;
if(i-Ask>=STOPLEVEL)
{Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,i,0,ST,TP,"Grid + BuyStop",Magic,0,0);
if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid + BuyStop=",i," 开仓成功");
else Alert( Symbol(),"Grid + BuyStop=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
if(i==Ask)
{
Ticket=OrderSend(Symbol(),OP_BUY,Lots,i,0,ST,TP,"Grid + Buy",Magic,0,0);
if(Ticket>0) Alert(Symbol()," ",Ticket,"Grid + Buy=",i," 开仓成功");
else Alert( Symbol(),"Grid + Buy=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
}
if(SellCount==0)
{
TP=i-GridStep;ST=0;
if(i-Bid>=STOPLEVEL)
{
Ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,i,0,ST,TP,"Grid + SellLimit",Magic,0,0);
if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid + SellLimit=",i," 开仓成功");
else Alert( Symbol(),"Grid + SellLimit=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
if(i==Bid)
{
Ticket=OrderSend(Symbol(),OP_SELL,Lots,i,0,ST,TP,"Grid + Sell",Magic,0,0);
if(Ticket>0) Alert(Symbol()," ",Ticket,"Grid + Sell=",i," 开仓成功");
else Alert( Symbol(),"Grid + Sell=",i," 开仓失败:",ErrorDescription(GetLastError()));
Sleep(10000);
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
python 网格交易源码_网格交易策略源码(MT4.0源码)相关推荐
- python 网格交易源码_网格交易策略(难度:中级)
什么是网格交易策略 网格交易又名渔网交易,就是跌买涨卖.它适合震荡市,震荡市就是行情价围着一个数字上下浮动的,这个数字就是设置的价格中轴线. 设定中枢价格后,对投资标的进行机械式操作,下跌时,进行分档 ...
- python 网格交易源码_网格交易法策略源码
网格交易法的源码 //+------------------------------------------------------------------+ //| Grid1.1.mq4 | // ...
- python窗口动态实时显示时间_量化交易实时动态监视系统(纯Python,只需要浏览器就能用)-直接GitHub开源可下载...
APP demo(还在优化):http://silverzy.com/tradings/ Github:https://github.com/jianwang0212/Dash_eth(如果可以sta ...
- python历史性分布计算代码_量化交易中,如何使用Python计算「筹码分布」指标【附代码】 [量化小讲堂-64]...
引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总] 请点击此处 这是邢不行第 64 ...
- android 快传 源码_最新安卓仿茄子快传APP源码包括服务端源码Android开发快传类项目源码全套...
适使用范围: 安卓APP茄子快传源码 Android项目源码相似茄子快传的快传项目包括服务端 运行环境: Android app 源码详细: 本项目是一个基于安卓的相似茄子快传的项目源码,包括安卓 ...
- python 网格交易源码_网格交易策略[tb源码]
Params Numeric InitMP(0); // 初始仓位,+-表示多空 Numeric FirstGrid(3); // 第一格的间距,点数 Numeric To ...
- python网格交易法详解_网格交易法(期货)
1. 原理 什么是网格交易法? 网格交易法是一种利用行情震荡进行获利的策略.在标的价格不断震荡的过程中,对标的价格绘制网格,在市场价格触碰到某个网格线时进行加减仓操作尽可能获利. 网格交易法属于左侧交 ...
- python工资管理系统课程设计_高校教师绩效工资管理系统设计开发,源码下载
大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个高校教师绩效工资管理系统(高校教师绩效工 ...
- 基于python的股票程序化交易软件_程序化交易(三):基于 Python 的股票程序化交易/量化框架 easyquant...
续前贴,在前面的基础上弄了一个简单的程序化交易框架 easyquant 开源在 github 上,欢迎大家 star & fork.下面是简单介绍: 交易模块 easytrader 支持 华泰 ...
最新文章
- spark代码中添加logger_Spark的日志配置
- java第十三章总结
- ubuntu php 中文乱码,Ubuntu环境下,图例中文乱码怎么办?
- 桶排序/Bucket Sort
- 使用RMAN备份数据库和归档日志合二为一
- 整理: JAVA错误处理集锦
- Sitecore 8.2 页面架构设计:模板与组件
- [Google Guava]学习--新集合类型BiMap
- Kettle入门操作——输入流(表输入、excel)详细
- java中的时间片概念_java中常用的时间处理类TimeUtil
- win10-linux双系统安装教程
- 计算机WIN7动态硬盘分区,win7电脑硬盘分区的具体操作方法
- 华为服务器的系统,华为服务器系统
- 学完python可以从事哪些工作?
- 机器人URDF文件和xacro文件介绍
- Neuroink的8个疯狂梦想
- vue重复访问同一路由报错
- nyoj 541 最强DE 战斗力(大数问题)
- Bootstrap Table 中文文档(完整翻译版)
- html编辑doc,HTMLDOC