포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 414

 
bergkamp. :

출발을 떠난 후 신호 변경 후 거래를 계속합니까?

표시된 조건이 변경되면 계속됩니다.

베르캄프. :

그리고 행동은 어떻게 다른가요? 이것과 저것

(세부 사항으로 들어가지 않고) 아무것도.

 
bergkamp. :

출발을 떠난 후 신호 변경 후 거래를 계속합니까?

그리고 행동은 어떻게 다른가요? 이것과 저것


두 번째 경우 start() 함수는 0을 반환하고 첫 번째 경우에는 아무 것도 반환되지 않습니다.
 
khorosh :

두 번째 경우 start() 함수는 0을 반환하고 첫 번째 경우에는 아무 것도 반환되지 않습니다.

오, 오. aaagromngoe zhabluzhenie, 오류가 없는 곳 에서 오류를 검색합니다 .

함수는 정의되지 않은 숫자를 반환합니다. 사실은 아니지만 0을 반환할 가능성이 높습니다.

그러므로 사람을 혼동하지 마십시오. 그렇지 않으면 실행되고 행복하지 않을 것입니다.

 
bergkamp. :

출발을 떠난 후 신호 변경 후 거래를 계속합니까?

그리고 행동은 어떻게 다른가요? 이것과 저것

시스템 호출(틱별)과 다르지 않습니다. 이것은 자체적으로 start() 함수를 호출하는 데 중요합니다. 그런 다음 반환 값이 중요한 경우.
 
sergeev :

오, 오. aaagromngoe zhabluzhenie, 오류가 없는 곳에서 오류를 검색합니다.

함수는 정의되지 않은 숫자를 반환합니다. 사실은 아니지만 0을 반환할 가능성이 높습니다.

그러므로 사람을 혼동하지 마십시오. 그렇지 않으면 실행되고 행복하지 않을 것입니다.

아마도 "시작" 기능 값을 사용하지 않았을 것입니다. 일반적으로 return()의 괄호 안에 있는 것은 함수의 반환 값이고 값이 없으면 아무 의미가 없기 때문에 그렇게 생각했습니다. 그러나 "시작"은 일반적인 기능이 아니라 특수한 기능이므로 약간의 편차가 있을 수 있습니다.
 
khorosh :
return()의 괄호 안에 있는 것은 함수의 반환 값이며 값이 없으면 아무 것도 아닙니다.

다시는 안돼!

초보자에게 어리석은 것을 가르치지 마십시오.


int F1() { 반환; }

정수 F2() { }

정수 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. 승산 로트(5마다, X로)

X - 변수 값(X=0이면 lo가 곱해지지 않음)

예 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입니다.

등.

여기 고문이 있습니다. 도움을 주시면 대단히 감사하겠습니다.

파일:
 
안녕하세요!
"김" 함수에 마지막 오픈 주문의 이익 금액을 계산하는 그런 기능이 있습니까?

나는 그것을 찾지 못했고 지금은 마지막 열린 주문의 이익 금액을 계산하는 자체 제작 기능에 대해 "머리를 깨고 있습니다".