どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 414

 
bergkamp.:

スタート後、シグナルが変化しても取引を継続するのですか?

指定された条件が変更された場合は、継続する。

バーグカンプ:

とは、どのような違いがあるのでしょうか?

(詳細は省くが)何もない。

 
bergkamp.:

スタート後、シグナルが変化しても取引を継続するのですか?

そして、アクションはどう違うのか?


2番目のケースでは、start()関数は0を返し、1番目のケースでは何も返しません。
 
khorosh:

2番目の場合、start()関数は0を返し、1番目の場合、何も返しません。

大きな誤解を招き、存在しないところにエラーを 発見してしまう。

この関数は未定義の数値を返しますが、0を返すかもしれません。

だから、その人を混乱させてはいけない。 そうでなければ、その人は困ってしまい、喜ばないだろう。

 
bergkamp.:

スタート後、シグナルが変化しても取引を継続するのですか?

そして、アクションはどう違うのか?

システムコール(by tick)でも変わりません。start()を単体で呼び出す ことが重要です。しかも、その戻り値が重要な場合です。
 
sergeev:

このような誤解があると、エラーがないにもかかわらず、エラーを発見してしまうことになります。

この関数は未定義の数値を返しますが、0を返すかもしれません。

だから、男を混乱させないでください。 そうしないと、彼は傷つき、幸せになれません。

関数 "start "の値は、おそらく一度も使用されていません。そう思ったのは、通常、return()のカッコの中にあるのは、関数の戻り値で、値がなければ何もない。ただ、"start "は普通の関数ではなく、特殊な関数なので、もしかしたらズレがあるのかもしれません。
 
khorosh:
括弧内のreturn()は関数の戻り値で、値がない場合は何も しない。

ダメだ、ダメだ!

新人にくだらないことを教えるな。


int F1() { return; }.

int F2() { }.

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

Print(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分おきに自動更新することも可能です。
 

どのようなテーマで書けばいいのかわからないので、助けてください。

Expert Advisorを使用していますが、次のロット獲得時に2倍する機能を追加する必要があります。

1.リスク

2.利益

3.ストップロス

4.開始時間

5.敷地面積

6.ロットを積極的に閉じた場合

7.後続の乗算ロット数(1、2、3、4)。

7.1 乗算対象ロット(各 2、X による)

7.2 倍率の高い抽選(Xで3つずつ)。

7.3 掛け合わせ抽選(各 4×X) 7.4 掛け合わせ抽選(各 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本体です。是非ともご協力をお願いします。

ファイル:
 
こんにちは。
金」機能で、最後にオープンした注文の利益率を計算する機能はありますか?

私はそれを見つけられませんでした、今私は最後のオープンオーダーの利益率を計算するための自作関数に頭を悩ませています。
理由: