外汇论坛 外兔财经

开启左侧

老大帮我改个简单的ea 谢谢

[复制链接]
发表于 2011-10-6 13:50 | 显示全部楼层 |阅读模式
https://www.y2cn.com
老大们大家好 我想问一下怎样让ea判断余额然后自己按照我设定的比例开仓下单 就是比如10000元的账户 比如我设置百分之十 它每次下单就是1手 如果这个一手没有平仓 他还是以余额计算加仓手数 就是还是10000的十分之一 再开1手 完成交易后 再开就判断新的余额 比如9500了 就开0.95手 谢谢啦
 楼主| 发表于 2011-10-6 20:29 | 显示全部楼层
帮帮忙吧
发表于 2011-10-6 20:48 | 显示全部楼层
double a=AccountBalance( ) ;//用此语句返回,账户余额
if(a>9500);//用此语句计算账户余额状态,如果大于9500,那么开仓多少,和你的杠杆比例,不明白你说的意思
OrderSend( ) ;//开仓手数、止损需要根据杠杆比例、承受最大损失计算
[:2-123:]
耐心欧元等待回调
发表于 2011-10-6 20:52 | 显示全部楼层
我心自在时,市场自在我心时。
发表于 2011-10-6 23:27 | 显示全部楼层
 楼主| 发表于 2011-10-7 06:43 | 显示全部楼层
回复 3# ~伊凡~


    有点复杂啊 老大 嘿嘿   简单点吧能不能让他返回一个值 是仓位的百分之多少自己设置 比如说你这里的a要是等于11155 这样a的十分之一就是1115.5 但是我的平台是最小lots是0.01 所以1115.5/1000=1.1155 这时取两位小数就是1.12
把1.12赋值到b中 这样就能直接用b写入开仓条件中去了 不知道我表达的清不清楚 大致再说一遍吧
账户余额a=11155;  开仓比例P=10%;
开仓前得到b=a*P/1000 并且去小数点后两位
这样直接把b赋值给 原先公式中的开仓手数 相当于每次交易完成去修改一次开仓手
不知道能不能实现 啊 老大 谢谢啦
 楼主| 发表于 2011-10-7 06:44 | 显示全部楼层
取小数点后两位
 楼主| 发表于 2011-10-7 06:48 | 显示全部楼层
我不知道软件是否能自己舍去多余的位数 如果能的话 就不用取小数点两位了 只要算出那个值  就行 怎么写小弟就需要老大帮帮忙了 谢谢 万分感谢
发表于 2011-10-7 07:18 | 显示全部楼层
string DoubleToStr( double value, int digits) //用这个
例如:string a=DoubleToStr( 1.2500, 0);//表示将1.2500转换为字符串"1”。参数0的意思是,取小数点后0位
在用:
StrToDouble( string value) //再把取整的a转换为Double赋给b
就是:double b=StrToDouble( b);//这样就完成了去除小数点后的东西
有点复杂,是因为mql4中,没有直接去小数点后数据的取整函数
[:2-123:]
耐心欧元等待回调
发表于 2011-10-7 07:23 | 显示全部楼层
同样操作功能
有的人可能要编几句就搞定
有的人编起来可能会大段
思路不一样
最后能实现功能就好
但不能怕麻烦
[:2-123:]
耐心欧元等待回调

本版积分规则

QQ|手机版 Mobile Version|Archiver|关于我们 About Us|联系我们 Contact Us|Y2外汇论坛 外兔财经

GMT+8, 2024-10-12 12:26 , Processed in 0.055594 second(s), 23 queries .

Powered by Discuz! X7.2

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表