TrendMeLeaveMe解析
来源:互联网 发布:零基础学算法 光盘 编辑:程序博客网 时间:2024/06/05 20:22
在启动"TrendMeLeaveMe"EA之前只要画出趋势是向上还是向下. 设置属性, 运行EA,然后就可以去睡觉或者工作了.
1. 本EA不会自动工作. 您必须画出是向上趋势, 向下趋势, 或者水平趋势. 把它称为buystop 或者 sellstop ,设置 BuyStop_StepUpper, BuyStop_StepLower, SellStop_StepUpper和SellStop_StepLower 属性.
2. 当价格进入您的buystop趋势和BuyStop_StepLower之间的区域时,EA将会在价格BuyStop_StepUpper设置止损买入挂单.
当价格进入您的sellstop趋势和SellStop_StepUpper之间的区域时,EA将会在价格SellStop_StepLower设置止损卖出挂单.
3. 当价格在趋势中变动时, EA会一直修改两个订单的建仓价格直到价格移动到之前的区域.
4. 对于buystop, 您可以设置BuyStop_StopLoss , BuyStop_Takeprofit 和BuyStop_Lot.
对于sellstop, 您可以设置 SellStop_StopLoss , SellStop_Takeprofit 和SellStop_Lot.
看一下这个图表就更好解释了:
1. 本EA不会自动工作. 您必须画出是向上趋势, 向下趋势, 或者水平趋势. 把它称为buystop 或者 sellstop ,设置 BuyStop_StepUpper, BuyStop_StepLower, SellStop_StepUpper和SellStop_StepLower 属性.
2. 当价格进入您的buystop趋势和BuyStop_StepLower之间的区域时,EA将会在价格BuyStop_StepUpper设置止损买入挂单.
当价格进入您的sellstop趋势和SellStop_StepUpper之间的区域时,EA将会在价格SellStop_StepLower设置止损卖出挂单.
3. 当价格在趋势中变动时, EA会一直修改两个订单的建仓价格直到价格移动到之前的区域.
4. 对于buystop, 您可以设置BuyStop_StopLoss , BuyStop_Takeprofit 和BuyStop_Lot.
对于sellstop, 您可以设置 SellStop_StopLoss , SellStop_Takeprofit 和SellStop_Lot.
看一下这个图表就更好解释了:
这是另一个例子:
//+------------------------------------------------------------------+
//| TrendMeLeaveMe.mq4 |
//| Copyright?2006, Eng. Waddah Attar |
//| waddahattar@hotmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2007,Eng Waddah Attar"
#property link "waddahattar@hotmail.com"
//---外部可输入性变量,首先赋默认值,在MT4中可根据个人要求作设置?-
extern string BuyStop_Trend_Info ="_______________________";
extern string BuyStop_TrendName = "buystop";
extern int BuyStop_TakeProfit = 50;
extern int BuyStop_StopLoss = 30;
extern double BuyStop_Lot = 0.1;
extern int BuyStop_StepUpper = 10;
extern int BuyStop_StepLower = 50;
extern string SellStop_Trend_Info ="_______________________";
extern string SellStop_TrendName = "sellstop";
extern int SellStop_TakeProfit = 50;
extern int SellStop_StopLoss = 30;
extern double SellStop_Lot = 0.01;
extern int SellStop_StepUpper = 50;
extern int SellStop_StepLower = 10;
//------定义全局变量?
//编程中的「魔数」(magicnumber)是什么意思?
//Magicnumber一般是指硬写到代码里的整数常量,数值是编程者自己指定的,其他人不知道数值有什么具体意义,表示不明觉厉,就称作magicnumber。
//下边的MagicBuyStop、MagicSellStop就是两个自定义变量,并储存自已确定的魔数值。专门指定本EA生成的订单。(用魔数标识),仔细琢磨,与OrderTicket、订单序列号结合使用,有点特殊用处呢!
int MagicBuyStop = 1101;
int MagicSellStop = 1102;
int glbOrderType;
int glbOrderTicket;
//+------------------------------------------------------------------+
//| |
//+--------------------------初始化,在图的左上角显示内容?-------------------------+
int init()
//+------------------------------------------------------------------+
//| |
//+---------------当数据变动时触发,将上步内容“刷空”---------------------------------------------------+
int deinit()
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
//---使用自定义函数,SetObject(string name,datetime T1,double P1,datetimeT2,double P2,color clr)
//因为已经”人工手动“事先划出是向上趋势, 向下趋势, 或者水平趋势. 把它称为buystop 或者 sellstop,
//此处系统自动划出本文开始部分示意图中的buystop_stepupper、buystop_steplower这两条损买的上限(线)及下限(线)
//---如果有(如果没有则创建)名为"Highbuystop_trend“的趋势线,即损买的上线、下线,
//NormalizeDouble 给出环绕浮点值的精确度,计算止损和赢利值,挂单交易交易的开盘价必须正常化。精确值需要在小数点中预定义。
//--ObjectGetValueByShift,函数计算并返回指定柱的值(转移当前相关的柱)
//当前时间(柱)对应损买上、中、下线(限)的价格
//--ObjectGetValueByShift,函数计算并返回指定柱的值(转移当前相关的柱)
//当前时间(柱)对应损买上、中、下线(限)的价格
//ObjectGetValueByShift("High"+BuyStop_TrendName,0)------获得当前系统自动画的K线柱(0表示当前)所在时间点所对应的自划线的价格。就是自划的趋势线这个函数方程,指定时间(系统K线柱对应的时间),计算出趋势线方程对应的价格。
//损买对应的止损、止盈价格
------------------------------------------------------------------------
---当前价格运行在在“损买”自划趋势线下方,
if Ask
-----1---可“损买”情况(认为价格将“突破”,并突破后买入)
if (rsisjp<65 && kdsjp<65)
OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vH, 3, sl, tp,"",MagicBuyStop, 0, Green) < 0);
if (rsisjp<50 && kdsjp<50)
OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vH, 3, sl, tp,"",MagicBuyStop, 0, Green) < 0);
OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vH, 3, sl, tp,"",MagicBuyStop, 0, Green) <0);
if (rsisjp<30 && kdsjp<30)
OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot*2, vH, 3, sl, tp,"",MagicBuyStop, 0, Green) < 0);
OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot*2, vH, 3, sl, tp,"",MagicBuyStop, 0, Green) <0);
if Ask
-----1---可“损买”情况(认为价格将“突破”,并突破后买入)
-------突破买入后,如果以上指标出现反向,要做平仓操作
if rsisjp>75 && kdsjp>75 &&此货币损买n=OrdersTotal()持仓量>lot 则平此货币n-1倍lot仓位;
if rsisjp>85 && kdsjp>85 &&此货币损买n=OrdersTotal()持仓量>lot则平引货币全部仓位;
if //平损买仓量lot
if rsisjp<50 && kdsjp<50 //买入量lot
if rsisjp>90 && kdsjp90 //平损买仓量lot*3
OrderClose
-----2---可“限卖”情况(认为价格在“通道”之间震荡)
if rsisjp>65 && kdsjp>65 //限卖量lot
if rsisjp>80 && kdsjp>80 //限卖量lot*2
if rsisjp>90 && kdsjp>90 //限卖量lot*3
-----2---可“限卖”情况(认为价格在“通道”之间震荡)
简言:如果价格到达区间,并且没有相应的订单,则执行如下操作:
产生一个本窗口货币对,“损买”单,外部输入的手数,以处划趋势线高位线对应的,滑点值设为3,以外部输入值设定止损、止盈,内空为空,以EA首部的自定义变量“MagicBuyStop”的值作为本订单的魔数值,此订单过期值不设定,箭头设置绿色。
简言:如果价格到达区间,并且存在相应的订单(开仓类型相同),则执行如下操作:
选择这个订单
如果这个的订单的价格不等于策略的开仓价(损买价)
为本订单按策略值修改开仓价、止损、止盈、不过期、绿箭头。
如果修改失败,提示错误信息!
//自动划出损卖的上线、下线
if(Bid >= vM && Bid <= vH &&OrderFind(MagicSellStop) == false)
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool OrderFind(int Magic)
//+------------------------------------------------------------------+
//| |
//-----------------自定义函数setobject?--------------------------------------+
//函数相当于y=f(x),输入参数值X,经过此函数运算,加工出对应的Y值!
//setobject函数的意义,输入name、T1、P1、T2等值,输出结果:
//如果存在名称为name的趋势线,则用T1、P1、T2、P2对其相应属性赋值
//如果趋势线name不存在,创建并用变量用T1、P1、T2、P2对其相应属性赋值
//T1、P1、T2、P2对应属性值为锚点1的时间和价格、锚点2的时间和价格
//-------------
//+------------------------------------------------------------------+
0 0
- TrendMeLeaveMe解析
- TrendMeLeaveMe,sjp改
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析
- 解析[ ]
- 解析
- ffmpeg解析-----解析文件格式
- Xen解析 netfilter解析
- JSON解析,XML解析
- 硬解析 软解析
- 解析xml dom 解析
- MQL4基础知识学习(系统保留字区分…
- np.r_ 数组合并
- office宏
- 外汇交易术语详解
- 8583协议(来自个人理解)
- TrendMeLeaveMe解析
- 一步一步解读MT4的例子EA(init,sta…
- Android——GPS定为当前位置
- 写Dll,当然是用CodeBlocks+wxWidg…
- daterangepicker 读取不到年份
- mql4 and forex news web
- MQL语言命令中子段的含义
- OrderTicket( ) ,OrderM…
- 怎么修改Myeclipse中的JDK版本