首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【漆学军】EA编程速成教程(2)第一个程序:下单

我们写EA的目的就是为了自动下单做交易的,所以本课我们就来好好学习下MQL4语言中下单函数OrderSend的使用。...,交易手数都不会直接写死在源码里面,而是拿出来,让使用EA的人可以随意设置。...lots变量前面的double限定lots为双精度类型,也就是允许使用带小数点的数据。 double最前面的input,指定这个变量为外部变量,可以在EA的属性里面修改(即使没有源码也可以修改)。...b0a6f852036c1dfcf3c6575261ca3ea4.png 看看,为什么我们的变量是lots,但是在EA的输入参数里面显示的却是“交易手数”,因为我们在源码的第9行,指定了EA属性为严格模式...#property strict 在严格模式下 input 后面的变量将会显示为本行后面的注释“//”标记后面的字符。

1.8K51

【零基础】MT4量化入门一:跑一个简单的boll

2、代码结构说明   从前面的图可以看到,默认有三个函数,分别是: OnInit():启动EA时触发一次的函数 OnDeinit():结束EA时触发一次的函数 OnTick():来一个行情触发一次的函数...OrderSend 就是下单函数。 Symbol返回当前合约,其实填NULL也行。 OP_BUY、OP_SELL分别是买和卖。...一个点就是合约的最小变动价 Green、Red设置箭头的颜色,在跑EA时下单的话可以在K线上显示一个箭头表明下单了。...国外一般绿色是多、红色是空(跟我们反过来)   更多的参数说明可以看用户手册,英文版的在“帮助->MQL4帮助文件”,文末附上了中文版的说明(翻译的一般,看的吃力) 四、回测   由于今天刚好不是交易日...注意在“下单明细”中,除了我们操作的buy和sell外,还有自动执行的止盈和止损(下单时就设置了的)。 五、注意事项 1、回测的K线周期只是显示的周期,不是触发的周期。

1.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MQL5从入门到精通【第二章】变量与数据类型(四)

    这些变量展示在程序的属性窗口。 输入变量由input关键字声明。放置在程序顶部,在所有程序代码和任意函数之前定义。输入变量可以是任意类型,包括枚举。但是数组和结构体不能用于输入变量。...# 局部变量 Local Varables 本地变量,或局部变量,是定义在一个function内的变量,函数首次运行时,分配内存空间。函数一旦退出,变量也就从内存中销毁了,这很好理解。...为什么?因为变量varInt是在if语句内定义的,if语句之外,不是其作用域。那样怎么改?...不过MQL4的用户可能不填习惯了,因为MQL4的局部变量,无论定义在函数的那个地方,函数体内均有效!这个不同之处,希望大家清楚。...为什么?为什么没有在进入函数的时候执行初始化?这是static静态类型决定的。函数退出了,sv还在内存里呢!再次进入函数,直接拿来就开始用了。

    1K20

    11月编程语言排行榜,Java第一,iOS真的没人要了?

    脚本语言所面临的问题: 脚本语言中的大多数错误都是运行时发生的,在程序运行时显示。 尽管可以编写所有类型的单元测试来弥补这些错误。但如果在生产中运行应用程序时发生这样的错误,就会很快陷入危险的境地。...甚至像 JavaScript 这样的脚本语言,在网页编程中也无法避免错误的发生,所以不得不演变成更安全的语言。...大型语言的优势: 另一方面,面对脚本语言存在的威胁,静态类型语言对它们在类型方面的繁琐操作进行了简化:它们都以 C# 中的“var”关键字开始,接着是 Java 中的类型推断和 C++ 中的自动指定符。..., Euphoria, F#, Forth, Haskell, Icon, IDL, Inform, Io, J, Korn shell, Ladder Logic, Maple, ML, MOO, MQL4...排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。

    91590

    面向面试编程连载(一)

    进行修改,且这种机制仅在自动装箱的时候有用,在使用构造器创建Integer对象时无用。...在MySQL5.6下,varchar长度超过255字节时是不适合建立索引的,MySQL会自动只建立255字节长的前缀索引,而不是抛出错误。...重点关注 where 语句后边的情况 2、 当列中不重复值的个数在总记录条数中的占比很大时,才为列建立索引。...context switches:显示自动或非自动context switches的数量 cpu:显示系统和用户CPU使用的时间 ipc:显示信息发送和接受的数量 memory:内存的信息 page...(可以给一个例子让其画出来) 缺页查询,减少io 9.结合树的特点说说,为什么推荐使用自增ID来做索引?为什么不使用红黑树、hash树? 自增主键的插入数据模式,正符合了递增插入的场景。

    84050

    数据库工程师常见面试题

    答: 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的 记录所在的数据块,从而大大减少读取数据块的 I/O 次数,因此可以显著提高性能。...而自定义函数,用户定义函数不能用于执行一组修改全局数据库状态的操作。 存储过程,可以使用非确定函数。自定义函数,不允许在用户定义函数主体中内置非确定函数。 存储过程,可返回记录集。...原则上是只有查询用的字段才建立索引。 问题 21: STR 函数在遇到小数时如何处理?...答: 在使用 STR 函数时,如果数字为小数,则在转换为字符串数据类型时,只返回其整数部分,如果 小数点后的数字大于等于 5,则四舍五入返回其整数部分。...聚集索引和非聚集索引都可以是唯一的。因此,只要列中的数据是唯一的,就可以在同一个表上创建 一个唯一的聚集索引和多个唯一的非聚集索引。 只有当唯一性是数据本身的特征时,指定唯一索引才有意义。

    3K40

    《逆袭进大厂》第十二弹之MySQL重点篇27问27答

    很显然,这些字并不是真正的分别位于"张"字的上下方,现在您看到的连续的"驰、张、弩"三字实际上就是他 们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。...36、MySQL 索引使用的注意事项 MySQL 索引通常是被用于提高 WHERE 条件的数据行匹配时的搜索速度,在索引的使用过程中,存在一些使用细节和注意事项。...使用的是B+树作为索引的存储结构,非叶子节点都是索引关键字,但非叶子节点中的关键字中不存储对应记录的具体内容或内容地址。...,这会造成无法命中索引 在中到大型表索引都是非常有效的,但是特大型表的维护开销会很大,不适合建索引,建立用逻辑索引 在经常用到连续的列上,这些列主要是由一些外键,可以加快连接的速度 与业务无关时多使用逻辑主键...46、为什么MySQL索引要使用B+树,而不是B树或者红黑树? 我们在MySQL中的数据一般是放在磁盘中的,读取数据的时候肯定会有访问磁盘的操作,磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。

    65450

    MySQL3_外键及查询

    (not null) (3).引用的完整性 应用外键(foreign key) (4).自定义完整性 1.存储过程(相当于python中的自定义函数) 2.触发器 2.外键 外键:从表的公共字段 外键的约束主要是用来保证引用的完整性的...#特点 1.主表中不存在的记录,从表中不能插入 2.从表已存在的记录,主表中不能删除 3.先删除从表,再删除主表 #学生表 create table stuinfo( id int primary key...= 逻辑运算符 and 与 or 或 not 非 (6)聚合函数 max() #最大值 min() #最小值 sum() #求和 avg() #平均值 count() #计数 #聚合函数使用在结果集上...(7)通配符 _ #一次只匹配一个字符 % #一次匹配任意数量的字符 #在模糊查询的时候使用 (8)模糊查询 关键字:like #like写在where后面 select * from stuinfo...,limit位置放在最后 select * from stuinfo limit 3; #显示前三行 #从索引为0开始,向后取3行 select * from stuinfo limit 0,3

    3K20

    史上最全的大厂Mysql面试题在这里

    mysql为什么这么设计 对大多数应用没有意义,只是规定一些工具用来显示字符的个数;int(1)和int(20)存储和计算均一样; 4、问了innodb的事务与日志的实现方式 (1)、有多少种日志; 错误日志...使用以下函数的语句也无法被复制: LOAD_FILE() UUID() USER() FOUND_ROWS() SYSDATE() (除非启动时启用了 --sysdate-is-now 选项) 同时在...,但不一定被查询使用 key 显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULL key_len 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度 ref 表示上述表的连接匹配条件...第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。...第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。

    1.1K90

    Redis为什么这么快?

    根据多线程的运行状态来说明:多线程环境中,当一个线程的状态由Runnable转换为非Runnable(Blocked、Waiting、Timed_Waiting)时,相应线程的上下文信息(包括CPU的寄存器和程序计数器在某一时间点的内容等...基于内存 以MySQL为例,MySQL的数据和索引都是持久化保存在磁盘上的,因此当我们使用SQL语句执行一条查询命令时,如果目标数据库的索引还没被加载到内存中,那么首先要先把索引加载到内存,再通过若干寻址定位和磁盘...所以,阻塞IO模型的特点就是在IO执行的两个阶段(等待数据和拷贝数据)都被阻塞了。 非阻塞IO模型 在Linux中,可以通过设置socket使IO变为非阻塞状态。...当对一个非阻塞的socket执行read操作时,读操作流程如下图所示: 从图中可以看出,当用户进程发出 read 操作时,如果内核中的数据还没有准备好,那么它不会阻塞用户进程,而是立刻返回一个错误。...非阻塞IO在执行recvfrom这个系统调用的时候,如果内核的数据没有准备好,这时候不会阻塞进程。但是当内核中数据准备好时,recvfrom会将数据从内核拷贝到用户内存中,这个时候进程则被阻塞。

    75720

    MySQL数据库入门

    连接测试,如果连接成功就OK了 启动画面 Sqlyog软件安装与使用 无脑安装 注册 打开连接数据库 新建一个数据库 school 每一个sqlyog的执行操作,本质就是对应了一个sql,可以在软件的历史纪录中查看...提取句子主干,就可以得到索引的本质:索引就是数据结构 索引的分类 在一个表中,主键索引只能有一个,唯一索引可以有多个 主键索引(PRIMARY KEY) 唯一的标识,主键不可重复,只能有一个列作为主键...唯一索引(UNIQUE KEY) 避免重复的列出现,唯一索引可以重复,多个列都可以标识为 唯一索引 常规索引(KEY/INDEX) 默认的,index/key关键字来设置 全文索引(FullText)...在特定的数据库引擎下才有,MyISAM 快速定位数据 基础语法 -- 索引的使用 -- 1、在创建表的时候给字段增加索引 -- 2、创建完毕后,增加索引 -- 显示所有的索引信息 USE school...: 保证重要的数据不丢失 数据转移 MySQL数据库备份的方式 直接拷贝物理文件 在Sqlyog这种可视化工具中手动导出 在想要导出的表或者库中,右键,选择备份或导出 使用命令行导出 mysqldump

    58120

    清华系ChatGPT发布!唐杰团队打造,专对中文优化,还能把握最新新闻动态

    不幸的是,论文挑战没有通过,我们把GLM-130B的链接扔给它,让它简要概括一下主题时,它说的根本不是这篇。 跟ChatGPT胡邹参考文献的操作简直有得一拼(手动狗头)。...不同于BERT、GPT-3以及T5的架构,GLM-130B是一个包含多目标函数的自回归预训练模型。...它的优势包括: 在Stanford报告的30个世界主流大模型评测中,GLM-130B也成为了亚洲唯一入选的模型。...而就在CCF最近的一场会议上,有现场观众提问:ChatGPT为什么没有诞生在中国?是我们没有关注这件事吗? 嘉宾就把GLM-130B搬了出来(它也入选了ICLR’23)。...但它主打的就是一个低门槛,在单张2080Ti上就能进行推理使用,硬件需求不高。 因此,只要有兴趣都可以下载下来试试,进行研究和(非商用的)应用开发都可以。

    75320

    史上最详细的一线大厂Mysql面试题详解

    mysql为什么这么设计 对大多数应用没有意义,只是规定一些工具用来显示字符的个数;int(1)和int(20)存储和计算均一样; 4、问了innodb的事务与日志的实现方式 (1)、有多少种日志; 错误日志...,但不一定被查询使用 key 显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULL key_len 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度 ref 表示上述表的连接匹配条件...事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 22、使用索引查询一定能提高查询的性能吗?...第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。...第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。

    69120

    3 万字,关系型数据库性能体系,设计和效率提升

    、用表更新表 17.3、竖向显示变横向显示 18、完成事务及时 commit 19、数据库连接及时关闭 20、索引的使用 20.1、避免在索引列上使用函数或运算 20.2、避免改变索引列的类型 20.3...由于 null 值在参加任何计算时,结果均为 null,所以在程序中必须用 nvl() 函数把可能为 null 值的字段或变量转换 非null 的默认值。...3.1、指定表空间规范 每个索引在创建时,必须指定表空间,不要采用默认表空间,以防止索引建立在system 空间和非索引专用空间,以减少IO 冲突,提高性能。...由于函数索引在使用时,使用形式必须和创建形式一致,故应该尽量避免使用函数索引,尽量采用如下方法转化 SQL 以避免函数索引的使用: 原本在 WHERE 中列上添加函数的,取函数的反意义函数添加到 = 另一侧的常数项上...在 ORACLE 选择执行路径时,唯一性索引的等级高于非唯一性索引。然而这个规则只有当 WHERE 子句中索引列和常量比较才有效。

    1.9K22

    MySQL数据索引与优化

    内容包括: 概念和基本使用 索引的优缺点及使用场景 索引底层结构(B,B+树及优缺点对比) 高效使用索引 聚簇索引与非聚簇索引 概念 索引存储在内存中,为服务器存储引擎为了快速找到记录的一种数据结构。...因为非终结点只是关键字的索引,所以任何关键字的查找必须走一条根到叶子的路。 B+树中叶子结点也形成一个链表,所以B+树在面对范围查询时比B树更加高效。...多列索引合并 很多时候我们为了查询方便,为很多列单独创建索引。但我们在使用where筛选时,却多使用AND,OR等条件。...在创建多列索引时注意: - 通常将选择性高的字段放在前面 - 多列字段的前缀也可以作为索引(例如(a,b)索引时,可以单独使用a索引,但不能单独使用b索引) 聚簇索引 聚簇索引指的是一种数据组织结构...使用索引查询数据时,索引节点和数据被一起载入内存,不需要根据指针再进行一次IO读取。 无需维护辅助索引。当出现数据页分裂时,无需更新索引中的数据块指针。 非聚簇索引图: ?

    99951

    mysql数据库面试题目及答案_数据库面试题2021

    在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。...而 B+ 树只在叶子结点存储数据,非叶子结点存储关键字,且不同非叶子结点的关键字可能重复,因此查询数据时,时间复杂度固定为 O(log n)。...由于索引文件很大因此索引文件存储在磁盘上,B+ 树的非叶子结点只存关键字不存数据,因而单个页可以存储更多的关键字,即一次性读入内存的需要查找的关键字也就越多,磁盘的随机 I/O 读取次数相对就减少了。...在不使用索引下推的情况下,在使用非主键索引进行查询时,存储引擎通过索引检索到数据,然后返回给 MySQL 服务器,服务器判断数据是否符合条件。...那为什么 InnoDB 没有使用这样的变量呢?因为InnoDB的事务特性,在同一时刻表中的行数对于不同的事务而言是不一样的。 5)InnoDB 支持表、行(默认)级锁,而 MyISAM 支持表级锁。

    67510

    mysql数据库面试题目及答案_数据库面试常问问题

    在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。...而 B+ 树只在叶子结点存储数据,非叶子结点存储关键字,且不同非叶子结点的关键字可能重复,因此查询数据时,时间复杂度固定为 O(log n)。...由于索引文件很大因此索引文件存储在磁盘上,B+ 树的非叶子结点只存关键字不存数据,因而单个页可以存储更多的关键字,即一次性读入内存的需要查找的关键字也就越多,磁盘的随机 I/O 读取次数相对就减少了。...在不使用索引下推的情况下,在使用非主键索引进行查询时,存储引擎通过索引检索到数据,然后返回给 MySQL 服务器,服务器判断数据是否符合条件。...那为什么 InnoDB 没有使用这样的变量呢?因为InnoDB的事务特性,在同一时刻表中的行数对于不同的事务而言是不一样的。 5)InnoDB 支持表、行(默认)级锁,而 MyISAM 支持表级锁。

    40970

    Amazon DynamoDB 工作原理、API和数据类型介绍

    DynamoDB 使用此值作为其哈希函数的输入值,从而生成可从中找到该项目的分区。(此时,分区键必须是唯一的,不可重复。) 下图显示了名为 Pets 的表,该表跨多个分区。...表的主键为 AnimalType(仅显示此键属性)。在这种情况下,DynamoDB 会根据字符串 Dog 的哈希值,使用其哈希函数决定新项目的存储位置。请注意,项目并非按排序顺序存储的。...DynamoDB 将自动维护索引。当添加、更新或删除基表中的某个项目时,DynamoDB 会添加、更新或删除属于该表的任何索引中的对应项目。 当创建索引时,可指定哪些属性将从基表复制或投影到索引。...+125 到 -1E-130 在 DynamoDB 中,数字以可变长度形式表示。...#(哈希)和 :(冒号)在 DynamoDB 中具有特殊含义 DynamoDB允许使用这些关键字和特殊符号用于命名,但我们不建议这么做 有关更多信息,请参阅 为属性名称和值使用占位符(2)。

    5.9K30
    领券