KimIVの便利な機能 - ページ 66 1...596061626364656667686970717273...128 新しいコメント Prival 2008.12.28 18:39 #651 borisych писал(а)>> ... 3.ここでいう回帰とは、線形回帰式とそのグラフのことである。 回帰式の傾きについてご質問いただきました。違う計算ができることを示しました。ポイント3で言っていることが欲しい場合。KimIVの便利な関数」には2種類の関数がありますが、高次の多項式が必要な場合は、このアルゴリズム「ランダムフロー理論とFOREX」を使ってください。 Igor Kim 2009.01.01 13:31 #652 StrTran()関数です。 この関数は、部分文字列を置き換えます。出現するものはすべて置き換えられる。例えば、すべてのカンマをドットに、あるいはその逆を一度に置き換えることができます。StrSplit() 関数は、結果の文字列を返す関数であり、以下の必須パラメータを受け付ける。 str- 部分文字列strFrom が置換される文字列. strFrom- 置換された文字列.文字列strの 中に部分文字列strFromが あれば、それを部分文字列strToに 置き換える。 strTo- 置換された部分文字列. //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 01.09.2005 | //| описание : Замена подстроки | //+----------------------------------------------------------------------------+ //| Параметры: | //| str - текстовая строка, в которой производится замена | //| strFrom - заменяемая подстрока | //| strTo - заменяющая подстрока | //+----------------------------------------------------------------------------+ string StrTran(string str, string strFrom, string strTo) { int n; string strOut="", strTemp; for ( n=0; n<StringLen( str); n++) { strTemp=StringSubstr( str, n, StringLen( strFrom)); if ( strTemp== strFrom) { strOut=StringConcatenate( strOut, strTo); n= n+StringLen( strFrom)-1; } else strOut=StringConcatenate( strOut, StringSubstr( str, n, 1)); } return( strOut); } Igor Kim 2009.01.01 14:00 #653 StrTran()関数の使用例です。 小数点をカンマに置き換える。 string s=DoubleToStr(Close[1], Digits); Print( s); s= StrTran( s, ".", ","); Print( s); スペースの削除 string s="1 2 3 4 5 6 7 8"; Print( s, " ", StrToInteger( s)); s= StrTran( s, " ", ""); Print( s, " ", StrToInteger( s)); 単語の置き換え string s="листья жёлтые весной"; Print( s); s= StrTran( s, "весной", "осенью"); Print( s); 例の実行結果。 ZY. StrTran()関数をテストするスクリプトを添付します。 ファイル: test_strtran.mq4 3 kb Igor Kim 2009.01.01 14:09 #654 機能一覧を更新しました。 ファイル: f_kimiv.rar 12 kb Andrew Shelkovenko 2009.01.03 07:37 #655 zhuki писал(а)>> .. タスクバーのショートカットに何でも表示する機能を提案させてください。 仕事中にターミナルを開かずにEAを監視するのに使っています(覗き見が多い)。 この目的のために、私は自分の時間のために別のプログラムを作りました -http://www.miraxem.com/rqids.htm FXトレーダー用計算機は、オープンポジションの現在の利益/損失、およびポジションの一部決済またはオーバーターンの利益/損失を自動的に計算します。 12通貨ペアのリアルタイムの相場とチャート すべてのウィンドウの上部にバーとして表示され、選択した通貨ペアの現在の相場、利益/損失ポイント、重要なイベントの前にシグナルを出すタイマー付きのニュースカレンダーが表示されます。 Andrew Shelkovenko 2009.01.03 08:02 #656 KimIV писал(а)>> あまあ、原理的に言えば、参照渡しされる配列を使えばいいんですけどね。そうすると、返されるパラメータの数は、配列のサイズによって制限されることになります。 ああ...どうですか? "引数(形式パラメータ)は値で渡される、つまり各式xl, ...,xnが 計算されて、その値が関数...に渡される" ヘルプの例 int start() { double some_array[4]={0.3, 1.4, 2.5, 3.6}; double a= linfunc( some_array, 10.5, 8); //... } double linfunc(double x[], double a, double b) { return ( a* x[0] + b); } また、関数に x[0]=999 を代入しようとすると、確かコンパイル時にクラッシュします。'x' - array item cannot be assigned Andrew Shelkovenko 2009.01.03 08:15 #657 KimIV писал(а)>> [...] これらはトレードオペレーション OP_BUYとOP_SELLであり、オーダーはトレードオペレーションOP_BUYLIMIT、OP_BUYSTOP、OP_SELLLIMIT、OP_SELLSTOPだと私は理解している。私はポジションを開き、注文を設定します。で、何を開けるんですか?NumberOfOrders() 関数は、注文を処理するために設計されています。 実際には、違いはないはずです。 この関数は、ot=OrderType(); とOrderType() を比較 します。「現在選択されている注文の操作タイプを返します。 OP_BUY - 買いポジション、 OP_SELL - 売りポジション、...のいずれかになります。 Igor Kim 2009.01.03 08:21 #658 diakin писал(а)>> ああ...どうですか? 文字通り、次のような意味です。 void start() { double some_array[]; string st=""; linfunc( some_array); for (int i=0; i<ArraySize( some_array); i++) { st=StringConcatenate( st, "some_array[", i, "]=", some_array[ i], "\n"); } Comment( st); } void linfunc(double& x[]) { ArrayResize( x, 7); for (int i=0; i<ArraySize( x); i++) { x[ i]=0.7*( i+0.1); } } diakin さんが書き込みました >>1 x' - 配列の項目は代入できません. の代わりに double linfunc(double x[], double a, double b) なければならない double linfunc(double& x[], double a, double b) Igor Kim 2009.01.03 08:36 #659 diakin писал(а)>> 実際には、違いはないはずです。ポジションでも動作するはずです。 ポジションとオーダーに分かれているのは人為的なものです。私が自分自身の都合で考案したものです。以下のような違いを踏まえています。 1.注文の開始・設定価格は変更可能(OrderOpenPrice())ですが、ポジションは変更できません。 注文は削除(OrderDelete())されなければならず、一方、ポジションは決済(OrderClose())されなければならない。 3.入金に影響を与えることなく、注文ロットサイズ(コメント、マジックナンバー)を変更することができます。古い注文を削除し、新しいロットサイズ(コメント、マジックナンバー)で新しい注文を設定します。ポジションで同じことをすると、スプレッドにロットサイズとポイント値を掛けただけの損失が発生します。 4.オーダーには寿命がありますが、ポジションには寿命がありません。 Andrew Shelkovenko 2009.01.03 08:59 #660 KimIV писал(а)>> 文字通り、次のような意味です。 の代わりに . ありがとうございました。これで、リファレンスでもできることがわかったので...。 なぜMQLQLヘルパーは、あるセクションでパラメータは値で渡すと書き、別のセクションで「参照で渡すことも可能」・・・と書かなければならないのでしょうか? ω・)ノ 注文については、何が問題なのか(>1 && <6)、つまりOP_BUY, OP_SELLはここに属さないということをさらに読みました。 ちなみに、マジックナンバーはOrderModify() で変更 することはできません。それとも、また何か見落としがあったのでしょうか?;-() 1...596061626364656667686970717273...128 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
...
3.ここでいう回帰とは、線形回帰式とそのグラフのことである。
回帰式の傾きについてご質問いただきました。違う計算ができることを示しました。ポイント3で言っていることが欲しい場合。KimIVの便利な関数」には2種類の関数がありますが、高次の多項式が必要な場合は、このアルゴリズム「ランダムフロー理論とFOREX」を使ってください。
StrTran()関数です。
この関数は、部分文字列を置き換えます。出現するものはすべて置き換えられる。例えば、すべてのカンマをドットに、あるいはその逆を一度に置き換えることができます。StrSplit() 関数は、結果の文字列を返す関数であり、以下の必須パラメータを受け付ける。
StrTran()関数の使用例です。
例の実行結果。
ZY. StrTran()関数をテストするスクリプトを添付します。
機能一覧を更新しました。
..
タスクバーのショートカットに何でも表示する機能を提案させてください。
仕事中にターミナルを開かずにEAを監視するのに使っています(覗き見が多い)。
この目的のために、私は自分の時間のために別のプログラムを作りました -http://www.miraxem.com/rqids.htm
FXトレーダー用計算機は、オープンポジションの現在の利益/損失、およびポジションの一部決済またはオーバーターンの利益/損失を自動的に計算します。
12通貨ペアのリアルタイムの相場とチャート
すべてのウィンドウの上部にバーとして表示され、選択した通貨ペアの現在の相場、利益/損失ポイント、重要なイベントの前にシグナルを出すタイマー付きのニュースカレンダーが表示されます。
あまあ、原理的に言えば、参照渡しされる配列を使えばいいんですけどね。そうすると、返されるパラメータの数は、配列のサイズによって制限されることになります。
ああ...どうですか?
"引数(形式パラメータ)は値で渡される、つまり各式xl, ...,xnが 計算されて、その値が関数...に渡される"
また、関数に x[0]=999 を代入しようとすると、確かコンパイル時にクラッシュします。ヘルプの例
'x' - array item cannot be assigned
[...]
これらはトレードオペレーション OP_BUYとOP_SELLであり、オーダーはトレードオペレーションOP_BUYLIMIT、OP_BUYSTOP、OP_SELLLIMIT、OP_SELLSTOPだと私は理解している。私はポジションを開き、注文を設定します。で、何を開けるんですか?NumberOfOrders() 関数は、注文を処理するために設計されています。
実際には、違いはないはずです。
この関数は、ot=OrderType();
とOrderType()
を比較 します。「現在選択されている注文の操作タイプを返します。
OP_BUY - 買いポジション、
OP_SELL - 売りポジション、
...のいずれかになります。
ああ...どうですか?
文字通り、次のような意味です。
x' - 配列の項目は代入できません.
の代わりに
なければならない
実際には、違いはないはずです。ポジションでも動作するはずです。
ポジションとオーダーに分かれているのは人為的なものです。私が自分自身の都合で考案したものです。以下のような違いを踏まえています。
1.注文の開始・設定価格は変更可能(OrderOpenPrice())ですが、ポジションは変更できません。
注文は削除(OrderDelete())されなければならず、一方、ポジションは決済(OrderClose())されなければならない。
3.入金に影響を与えることなく、注文ロットサイズ(コメント、マジックナンバー)を変更することができます。古い注文を削除し、新しいロットサイズ(コメント、マジックナンバー)で新しい注文を設定します。ポジションで同じことをすると、スプレッドにロットサイズとポイント値を掛けただけの損失が発生します。
4.オーダーには寿命がありますが、ポジションには寿命がありません。
文字通り、次のような意味です。
の代わりに
.
ありがとうございました。これで、リファレンスでもできることがわかったので...。
なぜMQLQLヘルパーは、あるセクションでパラメータは値で渡すと書き、別のセクションで「参照で渡すことも可能」・・・と書かなければならないのでしょうか?
ω・)ノ
注文については、何が問題なのか(>1 && <6)、つまりOP_BUY, OP_SELLはここに属さないということをさらに読みました。
ちなみに、マジックナンバーはOrderModify() で変更 することはできません。それとも、また何か見落としがあったのでしょうか?;-()