[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 125 1...118119120121122123124125126127128129130131132...537 新しいコメント Artyom Trishkin 2011.02.19 19:26 #1241 pyatka__ASD: どなたか、ハイとローのジグザグエクストリーム接続のソフトをお持ちの方、教えていただけませんか?感謝どの接続が必要なのか分かりませんがこのように、EAでジグザグの極値(低値か高値か)を判断しています。 //----------------------------------------------------------------------------------------------------------------- if (op==OP_BUY) { for (m=1; m<=CalcBarsLimit; m++) // Найдём первый перелом ЗЗ слева от первого бара { zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, m); // Берём данные 0 буфера ЗЗ с бара m if (zz!=0 && // Если первый экстремум верхний NormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 1, m), dg)) return(false); // Валим отсюда else if (zz!=0 && // Если первый экстремум нижний NormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 2, m), dg)) { if (MathRound((KLevel-zz)/pt)>=DistanceMIN && // Если расстояние от ZZ до KLevel ... MathRound((KLevel-zz)/pt)<=DistanceMAX) // ... в заданных пределах { if (Open[1]<KLevel && Close[1]>KLevel && pa>KLevel) { Fibo0_PriceB=zz; // Сохраним цену излома ZZ Fibo23_PriceB=pa; // Сохраним цену 23 фибы nmKLB=DoubleToStr(Time[m], 4); // имя метки SetArrow(5, DeepSkyBlue, nmKLB, Time[m], zz, 1); // Отмечаем излом ЗЗ на графике return(true); } } } } } //----------------------------------------------------------------------------------------------------------------- if (op==OP_SELL) { for (m=1; m<=CalcBarsLimit; m++) // Найдём первый перелом ЗЗ слева от первого бара { zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, m); // Берём данные 0 буфера ЗЗ с бара m if (zz!=0 && // Если первый экстремум нижний NormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 2, m), dg)) return(false); // Валим отсюда else if (zz!=0 && // Если первый экстремум верхний NormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 1, m), dg)) { if (MathRound((zz-KLevel)/pt)>=DistanceMIN && // Если расстояние от ZZ до KLevel ... MathRound((zz-KLevel)/pt)<=DistanceMAX) // ... в заданных пределах { if (Open[1]>KLevel && Close[1]<KLevel && pb<KLevel) { Fibo0_PriceS=zz; // Сохраним цену излома ZZ Fibo23_PriceS=pb; // Сохраним цену 23 фибы nmKLS=DoubleToStr(Time[m], 4); // имя метки SetArrow(5, BurlyWood, nmKLS, Time[m], zz, 1); // Отмечаем излом ЗЗ на графике return(true); } } } } } return(false); } //------------------------------------------------------------------------------- ZS...コードが荒く、最適化されていない。正規化した2つの値を引き算して、その結果が0かどうかをチェックするのが良いということが分かっていれば良いのですが...。 Roma 2011.02.19 19:46 #1242 alsu: できます。パラメータに戻る。 startの内部で変数が宣言されている場合、return_value 1に代入することができるのでしょうか? Alexey Subbotin 2011.02.19 19:52 #1243 eddy: startの内部で変数が宣言されている場合、return_value 1に代入することができるのでしょうか? これは、参照渡しと 呼ばれます。関数が正常に宣言されている場合、その関数を呼び出すと、形式パラメータとして渡されたすべての変数が関数のローカル変数にコピーされ、処理されます。パラメータが参照渡しされる場合、コピーは行われない。つまり、関数はそのコピーではなく、オリジナルで動作する。従って、これらのパラメータを使用してファンクションコード内で行った変更は、ファンクションコードから戻った後も有効です。 パラメータを参照渡しするには、関数宣言の中で、必要なパラメータの識別子の前に&記号を付けて、この方法を指示します。 Alexey Subbotin 2011.02.19 19:55 #1244 例(スクリプトとしてコンパイルし、チェックする。) void Func1(double a) { a=a*2; } void Func2(double &a) { a=a*2; } int start() { double a=5; Func1(a); Print(a); //выведет 5 Func2(a); Print(a); //выведет 10 } Alexey Subbotin 2011.02.19 20:03 #1245 eddy: 5*5=5?)) は5倍ではなく、2倍です。最初のケースでは、パラメータ a は「値で」渡され、その内容は関数の終了後に保存されません。2番目のケースでは、パラメータ a は参照渡し (double &a) で、変更された値、すなわち 5*2=10 は Func2 関数の終了後に変数 a に含まれることになります。 Roma 2011.02.19 20:05 #1246 かっこういい) これはどうでしょう? double a=5; Print(Func2(a)); Alexey Subbotin 2011.02.19 20:27 #1247 eddy: これはどうでしょう? であれば、10個になります。聞くより確認した方が早いですからね(´・ω・`))) dhp 2011.02.19 21:23 #1248 コンピューターが計算で忙しいので、今は自分で確認できない。 このようなコードがあります。 if(DecreaseFactor>0){ for(int cnt=OrdersHistoryTotal()-1; cnt>=0; cnt--){ if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY)){ if(OrderMagicNumber()==Magic){ if(OrderSymbol()==Symbol()){ if(OrderType()<2){ if(OrderProfit()>0) break; if(OrderProfit()<0) losses++; } } } } } if(losses>1) Lot=NormalizeDouble(Lot-Lot*losses/DecreaseFactor,1); } Googleはこのコードの繰り返しをいくつか見つけているので、動作すると結論付けています。 ただし、このライン Lot=NormalizeDouble(Lot-Lot*losses/DecreaseFactor,1); は紛らわしい。 DecreaseFactor=3、 Loss= 3とすると、計算式によるとLot=0となります !!! ロス> 3の場合、Lot<0に なる ! 可能な のでしょうか? Roma 2011.02.19 22:20 #1249 では、損失と DecreaseFactorは 何でしょうか? --- 2011.02.19 22:22 #1250 eddy: かっこういい) これはどうでしょう? 何もしないFunk2 関数 - 値を返さない。 1...118119120121122123124125126127128129130131132...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
どなたか、ハイとローのジグザグエクストリーム接続のソフトをお持ちの方、教えていただけませんか?感謝
どの接続が必要なのか分かりませんがこのように、EAでジグザグの極値(低値か高値か)を判断しています。
ZS...コードが荒く、最適化されていない。正規化した2つの値を引き算して、その結果が0かどうかをチェックするのが良いということが分かっていれば良いのですが...。
できます。パラメータに戻る。
startの内部で変数が宣言されている場合、return_value 1に代入することができるのでしょうか?
これは、参照渡しと 呼ばれます。関数が正常に宣言されている場合、その関数を呼び出すと、形式パラメータとして渡されたすべての変数が関数のローカル変数にコピーされ、処理されます。パラメータが参照渡しされる場合、コピーは行われない。つまり、関数はそのコピーではなく、オリジナルで動作する。従って、これらのパラメータを使用してファンクションコード内で行った変更は、ファンクションコードから戻った後も有効です。
パラメータを参照渡しするには、関数宣言の中で、必要なパラメータの識別子の前に&記号を付けて、この方法を指示します。
例(スクリプトとしてコンパイルし、チェックする。)
5*5=5?))
かっこういい)
これはどうでしょう?
これはどうでしょう?
コンピューターが計算で忙しいので、今は自分で確認できない。
このようなコードがあります。
Googleはこのコードの繰り返しをいくつか見つけているので、動作すると結論付けています。
ただし、このライン
は紛らわしい。
DecreaseFactor=3、 Loss= 3とすると、計算式によるとLot=0となります !!!
ロス> 3の場合、Lot<0に なる !
可能な のでしょうか?
かっこういい)
これはどうでしょう?