新版MQL语言程序设计:键盘快捷键交易的设计与实现
文章目录
- 一、什么是快捷键交易
- 二、使用快捷键交易的好处
- 三、键盘快捷键交易程序设计思路
- 四、键盘快捷键交易程序具体实现
- 1.界面设计
- 2.键盘交易事件机制的代码实现
一、什么是快捷键交易
操盘中按快捷键交易是指在股票或期货交易中,通过使用快捷键来进行交易操作的一种方式。通常情况下,交易软件会提供一些预设的快捷键,用于执行常见的交易操作,如买入、卖出、撤单等。通过设置和使用这些快捷键,交易者可以更快速地进行交易,提高交易效率。
二、使用快捷键交易的好处
-
提高交易效率:使用快捷键可以快速执行交易指令,省去了鼠标操作的时间,大大提高了交易的效率。特别是在市场波动较大的情况下,快速反应和执行交易指令可以帮助投资者抓住更多的交易机会。
-
减少操作失误:通过设置好的快捷键,可以减少因为操作失误而导致的交易错误。比于手动输入指令或者点击鼠标操作,使用快捷键可以降低输入错误的概率,提高交易的准确性。
-
个性化定制:快捷键可以根据个人的习惯和需求进行定制,满足不同投资者的交易需求。投资者可以根据自己常用的交易指令设置相应的快捷键,方便快速执行。
-
提升操作流畅度:使用快捷键可以使操作更加流畅,不需要频繁切换鼠标操作和键盘输入,提高了操作的连贯性和流畅度。
-
降低心理压力:在市场行情剧烈波动时,使用快捷键可以帮助投资者快速应对,减少心理压力。通过快速执行交易指令,投资者可以更好地控制风险,避免因为迟疑而错失交易机会或者造成不必要的损失。
总之,操盘中按快捷键交易可以提高交易效率、减少操作失误、个性化定制、提升操作流畅度和降低心理压力,交易者可以根据自己的需求和习惯,设置适合自己的快捷键组合,以便快速执行各种交易操作。对于投资者来说是一种非常有益的交易方式。
三、键盘快捷键交易程序设计思路
-
定义快捷键:首先,你需要定义你希望使用的快捷键。可以选择一些常用的键盘按键,如F1、F2等,或者自定义一些组合键,如Ctrl+Alt+1等。
-
监听按键事件:在MQL语言中,你可以使用OnChartEvent函数来监听按键事件。通过在该函数中判断按下的按键是否是你定义的快捷键,来触发相应的交易操作。
-
执行交易操作:一旦检测到按下了定义的快捷键,你可以在相应的条件下执行交易操作。例如,如果按下了F1键,你可以执行买入操作;如果按下了F2键,你可以执行卖出操作。
-
设置交易参数:在执行交易操作之前,你需要设置相应的交易参数,如交易品种、交易数量、止损和止盈等。这些参数可以根据你的需求进行自定义设置。
-
错误处理:在编写交易程序时,你需要考虑到可能出现的错误情况,并进行相应的错误处理。例如,如果执行交易操作时出现错误,你可以在日志中记录错误信息或者发送警报通知。
-
测试和优化:完成代码编写后,你可以进行测试和优化。通过模拟交易环境,检查程序的稳定性和正确性,并根据实际情况进行必要的调整和优化。
四、键盘快捷键交易程序具体实现
1.界面设计
基本交易:包含交易类型,快捷键设置,交易参数设置等,用表格展示。
组合交易:是有基本交易组合二次,可实现一键执行多个交易操作。
2.键盘交易事件机制的代码实现
//+--+
//| Expert initialization function |
//+--+
int OnInit()
{// 监听键盘事件ChartSetInteger(0, CHART_EVENT_KEYDOWN, true);return(INIT_SUCCEEDED);
}//+--+
//| Expert deinitialization function |
//+--+
void OnDeinit(const int reason)
{// 取消监听键盘事件ChartSetInteger(0, CHART_EVENT_KEYDOWN, false);
}//+--+
//| Chart event function |
//+--+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{ string name = "";string text = "";// 中英文状态的切换if (m_lang == LANG_ZH){name = "错误";text = "请将键盘输入模式切换为英文模式!";}else{name = "Error";text = "Please switch the keyboard input mode to English mode!";}//MessageBox(text, name, MB_ICONERROR|MB_OK);return (false); if (id == CHARTEVENT_KEYDOWN){// 基本交易开关if ( m_keyboard_trade_base_onoff){// 基本交易事件实现// 按下F1键if (sparam == "F1"){// 执行买入操作OrderSend(Symbol(), OP_BUY, 1, Ask, 3, 0, 0, "Buy order", 0, 0, Green);}}// 组合交易开关if (m_keyboard_trade_comb_onoff){// 组合交易事件实现if ( OnKeyDownComb(lparam) ) return (true);} }
}
相关文章:

新版MQL语言程序设计:键盘快捷键交易的设计与实现
文章目录 一、什么是快捷键交易二、使用快捷键交易的好处三、键盘快捷键交易程序设计思路四、键盘快捷键交易程序具体实现1.界面设计2.键盘交易事件机制的代码实现 一、什么是快捷键交易 操盘中按快捷键交易是指在股票或期货交易中,通过使用快捷键来进行交易操作的…...
数据结构之基数排序
基数排序的思想是按组成关键字的各个数位的值进行排序,它是分配排序的一种。在该排序方法中把一个关键字 Ki看成一个 d 元组,即 K1i,K2i,,Kdi 其中,0≤ Kji<r,i1~ n,j1~d。这里的r 称为基数。若关键字是…...

区间dp 笔记
区间dp一般是先枚举区间长度,再枚举左端点,再枚举分界点,时间复杂度为 环形石子合并 将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。 规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该…...

MySQL-SQL优化
文章目录 1. SQL性能分析1.1 SQL执行频率1.2 慢查询日志1.3 profile详情1.4 explain 2. SQL优化2.1 Insert 优化2.2 Group By 优化2.3 Order By 优化2.4 Limit 优化2.5 Count() 优化2.6 Update 优化 3. 拓展3.1 请你说一下MySQL中的性能调优的方法?3.2 执行 SQL 响应…...

详细了解ref和reactive.
这几天看到好多文章标题都是类似于: 不用 ref 的 xx 个理由不用 reactive 的 xx 个理由历数 ref 的 xx 宗罪 我就很不解,到底是什么原因导致有这两批人: 抵触 ref 的人抵触 reactive 的人 看了这些文章,我可以总结出他们的想法…...

使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问
文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…...

Redis Centos7 安装到启动
文章目录 安装Redis启动redis查看redis状况连接redis服务端 安装Redis 1.下载scl源 yum install centos-release-scl-rh2.下载redis yum install rh-redis5-redis 3. 创建软连接 1.cd /usr/bin 2. In -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server 3. …...

「数据结构」二叉搜索树1:实现BST
🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇欢迎点赞收藏加关注哦! 实现BST 🍉二叉搜索树的性质🍉实现二叉搜索树🍌插入🍌查找🍌删除 &am…...

可达鸭二月月赛——基础赛第六场(周五)题解,这次四个题的题解都在这一篇文章内,满满干货,含有位运算的详细用法介绍。
姓名 王胤皓 T1 题解 T1 题面 T1 思路 样例输入就是骗人的,其实直接输出就可以了,输出 Hello 2024,注意,中间有一个空格! T1 代码 #include<bits/stdc.h> using namespace std; #define ll long long int …...

ELFK日志采 - QuickStart
文章目录 架构选型ELKEFLK ElasticsearchES集群搭建常用命令 Filebeat功能介绍安装步骤Filebeat配置详解filebeat常用命令 Logstash功能介绍安装步骤Input插件Filter插件Grok Filter 插件Mutate Filter 插件常见的插件配置选项:Mutate Filter配置案例: O…...

微信小程序的图片色彩分析,窃取网络图片的主色调
1、安装 Mini App Color Thief 包 包括下载包,简单使用都有,之前写了,这里就不写了 网址:微信小程序的图片色彩分析,窃取主色调,调色板-CSDN博客 2、 问题和解决方案 问题:由于我们的窃取图片的…...
Leetcode 121 买卖股票的最佳时机
题意理解: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交…...
SQL语言复习-----1
1,前言 SQL是计算机的一门基础语言,无论在开发还是数据库管理上都是非常重要,最近总结归纳了一下相关知识,记录如下。 2,归纳 SQL是结构化查询语言。 关系数据库有三级模式结构。 基本表和视图一样都是关系。 举例…...

爬虫2—用爬虫爬取壁纸(想爬多少张爬多少张)
先看效果图: 我这个是爬了三页的壁纸60张。 上代码了。 import requests import re import os from bs4 import BeautifulSoupcount0 img_path "./壁纸图片/"#指定保存地址 if not os.path.exists(img_path):os.mkdir(img_path) headers{ "User-Ag…...
学习Android的第九天
目录 Android Button 按钮 基本的按钮 StateListDrawable 范例 使用颜色值绘制圆角按钮 自制水波纹效果 Android ImageButton 图片按钮 ImageButton 不同状态下的 ImageButton Android RadioButton 单选按钮 RadioButton 获得选中的值 Android Button 按钮 在 And…...
课时21:内置变量_脚本相关
2.4.1 脚本相关 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 脚本相关的变量解析 序号变量名解析1$0获取当前执行的shell脚本文件名2$n获取当前执行的shell脚本的第n个参数值,n1…9,当n为0时表示脚本的文…...
ubuntu22.04@laptop OpenCV Get Started: 006_annotating_images
ubuntu22.04laptop OpenCV Get Started: 006_annotating_images 1. 源由2. line/circle/rectangle/ellipse/text 应用Demo3 image_annotation3.1 C应用Demo3.2 Python应用Demo3.3 重点过程分析3.3.1 划线3.3.2 画圆3.3.3 矩形3.3.4 椭圆3.3.5 文字 4. 总结5. 参考资料 1. 源由 …...

【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏10(附项目源码)
本节最终效果演示 文章目录 本节最终效果演示系列目录前言快捷栏绘制UI代码控制快捷列表信息 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第23篇中,我们将探索如何制作…...

uniapp vue3怎么调用uni-popup组件的this.$refs.message.open() ?
vue2代码 <!-- 提示信息弹窗 --><uni-popup ref"message" type"message"><uni-popup-message :type"msgType" :message"messageText" :duration"2000"></uni-popup-message></uni-popup>typ…...

【深度学习:语义分割】语义分割简介
【深度学习:语义分割】语义分割简介 什么是图像分割?了解语义分割数据采集语义分割的深度学习实现全卷积网络上采样跳跃连接U-NetDeepLab多尺度物体检测金字塔场景解析网络(PSPNet) 语义分割的应用医学影像自动驾驶汽车农业图片处…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...