<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[大道至簡的博客]]></title><description><![CDATA[You were always consuming.What did you produce?]]></description><link>https://blog.youkuaiyun.com/woshiwangbiao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; woshiwangbiao]]></copyright><item><title><![CDATA[MT4/MT5手机App没有警报功能怎么办？那就自己写一个]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/113795638</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/113795638</guid><author>woshiwangbiao</author><pubDate>Fri, 12 Feb 2021 17:17:24 +0800</pubDate><description><![CDATA[MT4/MT5手机App没有警报功能怎么办？那就自己写一个。作为一个外汇交易者，深感MT4手机App功能有限，无法满足自己更多的交易需求，于是自己开发了一款交易助手App。希望能更方便高效地进行外汇交易。目前的主要功能是外汇价格警报功能，这是MT4手机App不具备，但我觉得又是很必要的功能，因此最先开发了这个功能。]]></description><category></category></item><item><title><![CDATA[如何编写一个模块化交易系统EA]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/106414608</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/106414608</guid><author>woshiwangbiao</author><pubDate>Fri, 29 May 2020 10:24:06 +0800</pubDate><description><![CDATA[引言
本人之前在用MQL4开发EA交易系统的时候，总是习惯性的将所有的代码逻辑都放在一个.mql4文件里，新写一个EA的时候，也是直接把老的EA直接复制粘贴过来再改。这样做在当时觉得很快很爽，但是当我写了很多EA的时候就发现问题来了。第一，重复的样板代码太多，有时一个EA的某个功能改了，你去修改另一个EA的时候，发现这个功能还得再改一遍，像这种情况，完全可以把一些通用的功能抽取出来，让所有EA都去依赖它就可以了，这样只用修改一处即可。第二，把所有的逻辑都堆到一个文件中，也不符合软件设计中的单一职责原则，随着]]></description><category></category></item><item><title><![CDATA[简单三步教你在MT4/5中设置邮箱email提醒]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/106189777</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/106189777</guid><author>woshiwangbiao</author><pubDate>Mon, 18 May 2020 11:53:29 +0800</pubDate><description><![CDATA[1、到你的邮箱 设置 里 找到pop3/smtp 服务，默认是 已关闭状态，点击 开启，并记住复制下 独立密码 或 授权码，下面以QQ邮箱为例：



2、到邮箱帮助中心，搜索找到官方提供的 smtp服务器地址及端口



3、在 mt4 的 工具-&gt;选项 中 的 电邮 tab 中 填写相关信息，电邮密码 填写 第一步得到的那个密码(授权码)，

然后点击 测试 按钮 ，如果 你的邮箱马上收到邮件，说明设置成功。接下来点 确定，关闭选项对话框，在代码中可以愉快地调用 SendMail("标题","正.]]></description><category></category></item><item><title><![CDATA[亚马逊EC2部署turnserver穿透/中继服务指北]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/85344357</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/85344357</guid><author>woshiwangbiao</author><pubDate>Sat, 29 Dec 2018 19:29:06 +0800</pubDate><description><![CDATA[安装版本：turnserver-3.2.3.95.tar.gz  系统环境：AWS ec2

 

一、下载必要库

 

sudo yum install -y make auomake gcc cc gcc-c++ wget
			sudo yum install -y openssl-devel libevent libevent-devel mysql-devel mysql-server...]]></description><category></category></item><item><title><![CDATA[ScrollView和Fragment中的ListView、WebView滑动冲突问题的解决]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/72842312</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/72842312</guid><author>woshiwangbiao</author><pubDate>Fri, 02 Jun 2017 10:54:36 +0800</pubDate><description><![CDATA[日常开发中很少会碰到ScrollView中嵌套listview或webview的情况，而且谷歌官方也不推荐这么做，但是也不是一定不会有这样的需求，毕竟定需求的不是我们程序员，而是产品经理。比如像下面这种需求：





       可以看到，整个页面有一个共同的头部，下面有两个tab，左边tab下是个可以滚动的webview，右边是个listview。要求listview和webvi]]></description><category></category></item><item><title><![CDATA[Java8 Lambda表达式教程]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/62042348</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/62042348</guid><author>woshiwangbiao</author><pubDate>Tue, 14 Mar 2017 14:18:09 +0800</pubDate><description><![CDATA[1. 什么是λ表达式

 

λ表达式本质上是一个匿名方法。让我们来看下面这个例子：

    public int add(int x, int y) {
        return x + y;
    }

转成λ表达式后是这个样子：
    
    (int x, int y) -> x + y;

参数类型也可以省略，Java编译器会根据上下文推断出来：]]></description><category></category></item><item><title><![CDATA[C语言register关键字—最快的关键字]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/56278036</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/56278036</guid><author>woshiwangbiao</author><pubDate>Tue, 21 Feb 2017 10:54:28 +0800</pubDate><description><![CDATA[register：这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中，而不是通过内存寻址访问，以提高效率。注意是尽可能，不是绝对。你想想，一个CPU
 的寄存器也就那么几个或几十个，你要是定义了很多很多register 变量，它累死也可能不能全部把这些变量放入寄存器吧，轮也可能轮不到你。


一、皇帝身边的小太监----寄存器

    不知道什么是寄存器？那见过太监没有？没有？]]></description><category></category></item><item><title><![CDATA[C语言external-internal-none链接属性浅析]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/54970972</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/54970972</guid><author>woshiwangbiao</author><pubDate>Fri, 10 Feb 2017 15:31:02 +0800</pubDate><description><![CDATA[很多C语言初学者对C语言的链接属性不是很清楚，通过自己的学习将C语言的链接属性浅析总结如下：






工具/原料






GNU-gcc





方法/步骤










㈠. external和internal以及none链接属性的讲解

备注:1.链接属性分为external，internal，none。

]]></description><category></category></item><item><title><![CDATA[2016年终总结]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/54631895</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/54631895</guid><author>woshiwangbiao</author><pubDate>Fri, 20 Jan 2017 16:00:56 +0800</pubDate><description><![CDATA[憋了半个小时，终于憋出上面四个大字，说实话，作为一个程序员，宁愿写一千行的代码，也不想写几百字的文章。为什么会这样呢？因为我们平时代码写得多，而文章写的少，写总结自然没有写代码溜。人总是喜欢做自己熟练的事情，而不想做不熟练的事情，因为做熟练的事情不用怎么思考，而对于不熟练的事情还需要不停的思考和摸索。人总是倾向于能不思考就不思考，这是人的惰性使然。这种惰性，是阻碍人进一步提升自己的最大]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_13  十大遗漏知识点]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53884054</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53884054</guid><author>woshiwangbiao</author><pubDate>Mon, 26 Dec 2016 10:26:28 +0800</pubDate><description><![CDATA[#1.  运算符

递增与递减


递增将数字加1，递减将数字减1



++i;  // 递增1，返回新值i++;  // 递增1，返回旧值--i;  // 递减1，返回新值i--;  // 递减1，返回旧值//这些表达式都会改变 i 的值//++ 和 -- 的位置决定了表达式返回i 的原始值还是新值，例如：int i = 3;int j = i++; //这行代码执行以后，j]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_12  线程：平行世界]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53884006</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53884006</guid><author>woshiwangbiao</author><pubDate>Mon, 26 Dec 2016 10:22:11 +0800</pubDate><description><![CDATA[难道每当想要同时做几件事时都得创建进程吗？

不见得，有以下几个原因:

1.创建进程要花时间
有的机器新建进程只要花一丁点时间。虽然时间很短，但还是需要时间。如果你想要执行的任务才用几十毫秒，每次都创建进程就很低效。
2.共享数据不方便
当创建子进程时，子进程会自动包含父进程所有数据的副本。但这些只是副本，如果子进程想把数据发回父进程，就需要借助管道之类的东西。
3.进程真的很难]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_11  网络与套接字]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53883990</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53883990</guid><author>woshiwangbiao</author><pubDate>Mon, 26 Dec 2016 10:18:26 +0800</pubDate><description><![CDATA[内容待更新！]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_10  进程间通信：沟通的艺术]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53788250</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53788250</guid><author>woshiwangbiao</author><pubDate>Wed, 21 Dec 2016 17:58:24 +0800</pubDate><description><![CDATA[输入输出重定向

在命令行运行程序时，可以用“>”运算符把标准输出重定向到文件：




命令：python ./rssgossip.py Snooki > stories.txt


标准输出是三大默认数据流之一。顾名思义，数据流就是流动的数据，数据从一个进程流出，然后流入另一个进程。除了标准输入、标准输出和标准错误，还有其他形式的数据流，例如文件连接和网络连接也属于数据流。]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_9  进程与系统调用：打破疆界]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53743260</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53743260</guid><author>woshiwangbiao</author><pubDate>Mon, 19 Dec 2016 16:50:54 +0800</pubDate><description><![CDATA[操作系统热线电话

C程序无论做什么事都要靠操作系统。如果它想与硬件打交道，就要进行系统调用。系统调用是操作系统内核中的函数，C标准库中大部分代码都依赖于它们。




system()


sytem()是一个系统函数，它接收一个字符串参数，并把它当成命令执行：


system("dir D:"); // windows上  打印D盘内容。system("gedit"]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_8  静态库与动态库：热插拔代码]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53705301</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53705301</guid><author>woshiwangbiao</author><pubDate>Sat, 17 Dec 2016 11:06:32 +0800</pubDate><description><![CDATA[#include中的尖括号代表标准头文件
如果在 #include 语句中使用尖括号，编译器就会在标准头文件目录中查找头文件，而不是当前目录。
为了用本地头文件编译程序，需要把尖括号换成双引号("xxx.h")：



#include   // 标准头文件#include "encrypt.h"  // 本地头文件#include "checksum.h"



标准头文]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_7  高级函数：发挥函数的极限]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53671409</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53671409</guid><author>woshiwangbiao</author><pubDate>Thu, 15 Dec 2016 15:54:59 +0800</pubDate><description><![CDATA[寻找真命天子……


完成find()函数，用它过滤出ADS列表中所有运动迷，同时他们不能是Bieber的粉丝。



#include #include #include int NUM_ADS = 7;char *ADS[] = { "William: SBM GSOH likes sports, TV, dining",                "Matt: SWM NS]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_6  数据结构与动态存储：牵线搭桥]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53640696</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53640696</guid><author>woshiwangbiao</author><pubDate>Wed, 14 Dec 2016 15:48:13 +0800</pubDate><description><![CDATA[保存可变数量的数据
由于数组长度是固定的，为了保存可变数量的数据，需要一个比数组更灵活的东西，即链表。
链表就是一连串的数据
链表是一种抽象数据结构。链表是通用的，可以用来保存很多不同类型的数据，所以被称之为抽象数据结构。
链表保存了一条数据和一个指向另一条数据的链接。
如果想在A和B之间插入C,只要将A中原]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_5  结构、联合与位字段：创建自己的结构]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53609211</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53609211</guid><author>woshiwangbiao</author><pubDate>Tue, 13 Dec 2016 14:26:56 +0800</pubDate><description><![CDATA[有时要传很多数据

C语言可以处理很多不同类型的数据：小数字、大数字、浮点数、字符与文本。但现实世界中的事物往往需要一条以上
的数据来记录。比如:





/* 打印目录项 */void catalog(const char *name, const char *species, int teeth, int age){    printf("%s is a %s with %]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_4  使用多个源文件：分而治之]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53542413</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53542413</guid><author>woshiwangbiao</author><pubDate>Fri, 09 Dec 2016 17:54:07 +0800</pubDate><description><![CDATA[简明数据类型指南








char

字符在计算机的存储器中以字符编码的形式保存，字符编码是一个数字，因此在计算机看 来， A 与数字65完全一样。65是A的ASCII码



int

如果你要保存一个整数，通常可以使用 int 。不同计算机中 int 的大小不同，但至少应该有16 位。一般而言， int 可以保存几万以内的数字



short]]></description><category></category></item><item><title><![CDATA[HeadFirstC笔记_3  创建小工具：做一件事并把它做好]]></title><link>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53513261</link><guid>https://blog.youkuaiyun.com/woshiwangbiao/article/details/53513261</guid><author>woshiwangbiao</author><pubDate>Thu, 08 Dec 2016 09:10:29 +0800</pubDate><description><![CDATA[先写个小工具

这个工具能从命令行读取用逗号分隔的数据，然后以JSON格式显示


#include int main() {	float latitude;	float longitude;	char info[80];	int started = 0;	puts("data=[");	while (scanf("%f,%f,%79[^\n]", &latitude,&longitud]]></description><category></category></item></channel></rss>