任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 414

 
bergkamp.:

在退出开始后,它将在信号改变后继续交易?

如果指定的条件被改变,将继续进行。

bergkamp。:

这个和这个行动有什么不同?

(不谈细节)没有什么。

 
bergkamp.:

在退出开始后,它将在信号改变后继续交易?

和行动有什么不同?


在第二种情况下,start()函数返回0,在第一种情况下,什么都不返回。
 
khorosh:

在第二种情况下,start()函数返回0;在第一种情况下,它没有返回任何东西。

一个很大的误解,导致在不存在错误 的地方发现错误

该函数返回某个未定义的数字,它很可能返回0,虽然不能确定。

所以不要迷惑这个人。 否则,他将陷入困境,不会高兴。

 
bergkamp.:

在退出开始后,它将在信号改变后继续交易?

和行动有什么不同?

对于系统调用来说没有什么不同(通过勾选)。重要的是,要单独调用 start()。而这是在返回值很重要的情况下。
 
sergeev:

一个很大的误解,导致在没有错误的地方发现错误。

该函数返回某个未定义的数字,它很可能返回0,虽然不能确定。

所以不要迷惑男人。 否则他就会受到伤害,不会高兴。

可能从未使用过函数 "start "的值。我是这么想的,因为通常在return()处括号里的是函数的返回值,如果没有值,那就什么都没有。但 "开始 "不是一个普通的函数,而是一个特殊的函数,也许这就是为什么可能有一些偏差的原因。
 
khorosh:
括号中的return()是函数的返回值,如果没有值则没有

不,也不!

不要教新手胡说八道。


int F1() { 返回; }

int F2() { }

int a=F1(), b=F2()。

打印(a)。

打印(b)。


-----

感谢上帝增加了严格模式

 
  1. 你好,请教如何在相关指标中实现一个条件,即从某个时间日期开始在主窗口中显示2个货币对的行数,这样第二个相关的货币对将继续在图表上实时显示,而不是只到指标附在图表上,例如,主窗口中的欧元继续显示英镑。由于不断地重新评级,指标的标准结构(通过条形)并不适合。
  2. #property indicator_chart_window
    #property indicator_buffers 2


    extern datetime startDate = 1389107200;
    extern int period = 1;
    extern int priceType = MODE_CLOSE;
    extern int shift = 0;
    extern int mode = MODE_EMA;
    extern string addSymbol = "GBPUSD";
    extern color curSymbolColor = Red;
    extern color addSymbolColor = Aqua;

    int drawBars = 0;
    int addBars = 100;
    double a[], b[], c[];

    // ----
    int init(){
    IndicatorBuffers(3);
    SetIndexBuffer(0,a);
    SetIndexBuffer(1,b);
    SetIndexBuffer(2,c);
    SetIndexStyle(0,DRAW_LINE,EMPTY,EMPTY,curSymbolColor);
    SetIndexStyle(1,DRAW_LINE,EMPTY,EMPTY,addSymbolColor);
    drawBars = iBarShift(NULL,0,startDate);
    if (iClose(addSymbol,0,0) == 0) addSymbol = "";
    drawBars += period + addBars;
    }

    // ----
    int start(){
    int bars = 0, i = 0, si = 0, pos = 0;
    static double delta = 0;

    bars = IndicatorCounted();
    if (bars < 0) return(-1);
    i = Bars - bars - 1;

    if (i > drawBars) i = drawBars;
    si = i;

    while (i > 0){
    if (i < drawBars - period - addBars){
    a[i] = iMA(NULL,0,period,shift,mode,priceType,i);
    }
    pos = iBarShift(addSymbol,0,Time[i]);
    c[i] = price(addSymbol,0,priceType,pos);
    i--;
    }
    si -= period + addBars + 1;
    i = si;

    while(i > 0){
    b[i] = iMAOnArray(c,0,period,shift,mode,i);
    if (i == si){
    delta = b[i] - a[i];
    }
    b[i] -= delta;
    i--;
    }
    }

    //----
    double price(string symb,int tf, int type, int i){
    double p = 0;
    if (symb=="0") symb = Symbol();

    switch(type){
    case MODE_OPEN :
    p = iOpen(symb,tf,i); break;
    case MODE_LOW :
    p = iLow(symb,tf,i); break;
    case MODE_HIGH :
    p = iHigh(symb,tf,i); break;
    case MODE_CLOSE :
    p = iClose(symb,tf,i); break;
    }
    return(p);
    }
 
指标有可能自动刷新,例如每2-3分钟刷新一次。
 

请帮助,我不知道该写什么题目。

我有一个专家顾问,我需要给它增加下一手赢利乘以2的能力。

1.风险

2.盈利

3.止损

4.开始时间

5.地段大小

6.如果该地段是积极关闭的

7.后续乘法地段的数量(1、2、3或4)。

7.1 乘以中标号码(每2个,按X)。

7.2 倍数的中签率(每3个X)。

7.3 一批倍数的中奖者(每4个X) 7.4 一批倍数的中奖者(每4个X) 7.5 一批倍数的中奖者(每4个X) 7.6 一批倍数的中奖者(每4个X) 7.7 一批倍数的中奖者(每4个X

7.4 乘以中标的地段(每个5乘以X)。

X - 可改变的值(如果X=0,那么该批货物就不会被乘以)。

例1:

如果下注0.03=打入+,则下注为0.06

如果下注0.06=打入+,则下注为0.09

如果下注0.09=没有参加+,那么下注就是标准的0.03。

例2:

如果下注0.03=打入+,则下注为0.06

如果下注0.06=没有参加+,则下注为0.03

如果下注0.03=打入+,那么下注标准为0.06

等。

以下是该EA本身。我将非常感谢您的帮助。

附加的文件:
 
你好!
在 "Kim "功能中,是否有一个函数可以计算出最后一个未结订单的利润率?

我没有找到,现在我在琢磨一个自制的函数来计算最后一笔开仓订单的利润率。
原因: