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;
//---- 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番目のケースでは、start()関数は0を返し、1番目のケースでは何も返しません。
2番目の場合、start()関数は0を返し、1番目の場合、何も返しません。
大きな誤解を招き、存在しないところにエラーを 発見してしまう。
この関数は未定義の数値を返しますが、0を返すかもしれません。
だから、その人を混乱させてはいけない。 そうでなければ、その人は困ってしまい、喜ばないだろう。
スタート後、シグナルが変化しても取引を継続するのですか?
そして、アクションはどう違うのか?
このような誤解があると、エラーがないにもかかわらず、エラーを発見してしまうことになります。
この関数は未定義の数値を返しますが、0を返すかもしれません。
だから、男を混乱させないでください。 そうしないと、彼は傷つき、幸せになれません。
括弧内のreturn()は関数の戻り値で、値がない場合は何も しない。
ダメだ、ダメだ!
新人にくだらないことを教えるな。
int F1() { return; }.
int F2() { }.
int a=F1(), b=F2();
Print(a)です。
プリント(b)。
-----
ストリクトモードの追加に感謝
#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);
}
どのようなテーマで書けばいいのかわからないので、助けてください。
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本体です。是非ともご協力をお願いします。
金」機能で、最後にオープンした注文の利益率を計算する機能はありますか?
私はそれを見つけられませんでした、今私は最後のオープンオーダーの利益率を計算するための自作関数に頭を悩ませています。