顺水外汇EA交易网MT4

标题: 本人菜鸟高手帮看看这个EA的参数代表什么 [打印本页]

作者: KSXJM    时间: 2014-10-23 08:30
下载下来,学习研究




作者: 558    时间: 2014-10-23 09:20
标题: 本人菜鸟高手帮看看这个EA的参数代表什么
本人菜鸟高手帮看看这个EA的参数代表什么?或可以改成中文显示。
下面的代码是在网上找到的
智能移动止损的 EA 脚本。(2012-02-24 14:06:24)

转载
标签: 杂谈
智能移动止损的 EA 脚本
原文地址:http://bbs.fxbest.com/viewthread.php?tid=135620
学习mt4,发个智能移动止损的 EA 脚本。
在网上找了一个老外写的StepStopExpert_v1.1,貌似还是2007年写的,功能完全不满意。干脆自己做一个。
算法如下:
1. 检测所下单子,若单子未设置止损和止盈,则根据默认输入参数设置止损和止盈。
2. 若单子发生盈利,并达到移动止损触发线,则动态提高原有止损线,进入追踪止损状态。
3. 若单子一直盈利,止损的范围也会随着盈利的比例变大而变大。
4. 若单子盈利已经达到预期止盈目标的 75%,则动态提高止盈线,给出更多上涨空间。
总而言之,即是上涨时尽量扩大盈利目标,跌落时尽量保住既有盈利。
欢迎测试指证。
#property copyright "CN.ineztia"
#property link "http://www.metaquotes.net"
extern bool g_debug = true;
extern double g_initStop = 27;
extern double g_breakEven = 20;
extern double g_stepSize = 3;
extern double g_measure = 10;
extern double g_stopMax = 200;
extern double g_profitExtendThreshold = 0.75;
extern double g_profitMax = 0; // close order if profit reaches the pre-defined max value
int doStepStop() {
    int total = OrdersTotal();
    for (int i = 0; i  0) {
                if ((realProfit / desiredProfit > g_profitExtendThreshold) || (desiredProfit - realProfit  0) {
                    if ((desiredProfit - realProfit > 0) && (realProfit - stepStopTrigger > 0)) {
                        double k = (desiredProfit - realProfit) / (g_measure * Point);
                        stopLoss = price - flag * (k * g_stepSize + g_initStop) * Point;
                        if (flag * (stopLoss - OrderStopLoss())  0 && profitModifier - g_profitMax * Point > 0) {
                    profitModifier = g_profitMax * Point;
                }
                takeProfit = OrderOpenPrice() + flag * profitModifier;
            }
            takeProfit = NormalizeDouble(takeProfit, Digits);
            if (MathAbs(stopLoss - OrderStopLoss()) >= Point || MathAbs(takeProfit - OrderTakeProfit()) >= Point) {
                Print("order before modify: tk(" + OrderTicket() + "), sl(" + DoubleToStr(OrderStopLoss(), 4) + "), tp(" + DoubleToStr(OrderTakeProfit(), 4) + ")");
                OrderModify(OrderTicket(), OrderOpenPrice(), stopLoss, takeProfit, 0);
            }
        }
    }
    return(0);
}
int validateParams() {
    if (g_initStop = 1) {
        Alert("range of g_extendProfitThreshold is (0, 1).");
        return(-1);
    }
    return(0);
}
int init() {
    doStepStop();
    return(0);
}
int deinit() {
    return(0);
}
int start() {
    if (0 == validateParams()) {
        doStepStop();
    }
    return(0);
}





欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/) Powered by Discuz! X3.2