[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 614 1...607608609610611612613614615616617618619620621...1145 新しいコメント Vladimir 2010.06.13 19:35 #6131 Urain: MathRandは使用前にMathSrand()で初期化 する必要があります。 で、MathSrand()のパラメータとしてTimeLocal()を渡すことをお勧めします。 初期化が一度必要で、その後32768クエリでMathRand()が検出されない。 その後、新しいシーケンスが必要な場合は再度初期化することができますが、そうでない場合は同じことが起こります。 もちろん、各ステップごとに初期化することも可能ですが、初期化パラメータが変化することを監視する必要があります。 でなければ、同じシーケンスになります。 それが私の仕事です。タイムロッカルとは? 同じネタで同じセットを持っています。 削除済み 2010.06.13 20:34 #6132 誰かヒントください3回目 書いても誰も答えてくれない...AccountEquity() ONE BAR ABOVE (on past bar) HOW TO WRITE? 削除済み 2010.06.13 21:15 #6133 vlad123: それが私の仕事です。タイムロッカルとは?同じネタで同じセットを持っています。 教科書に載っている例 datetimeTimeLocal() この関数は、ローカルコンピュータの時刻を、1970年1月1日00:00からの経過秒数で返します。 注:テスト時には、ローカル時刻は シミュレートされ、シミュレートされた最終既知のサーバー時刻と一致します。例 MathSrand(TimeLocal()); // Отображает 10 чисел. for(int i=0;i<10;i++ )Print("произвольная величина ", MathRand()); 削除済み 2010.06.13 21:25 #6134 sllawa3: どなたかアドバイスをお願いします。...AccountEquity() ONE BAR ABOVE (過去のバー) How to WRITE? 答え:まさか AccountEquity() は、持分額を返すものであり、バー数には 依存しない。 バーの履歴をロールバックするだけでは、その前の値を知ることはできない。 その値は、オープン/クローズ、利益が出ている/損失が出ている取引の数によって決まります。 資本の履歴」を記録するには、静的配列を作成し、例えば、バーが開くごとに AccountEquity() の値をその中に記録します。 そのため、エクイティの変更履歴を取得するためには、配列をスクロールする必要がある。 Artyom Trishkin 2010.06.13 21:44 #6135 sllawa3: 誰かヒントください...AccountEquity() ONE BAR ABOVE (過去のバーの場合) How to WRITE? 例えばこのように、新しいバー ごとに変数に格納する必要があるようです。 1. init()関数で、EquAkk=AccountEquity()といった変数に、株式の初期値を格納する。 2. 新しいバーの出現を確認(もちろん init ではありません ), if yes, then { LastEqu=EquAkk; // 変数に過去の (私たちが必要とする) 純資産値を格納 EquAkk=AccountEquity(); // 新しい純資産値 (次の「過去の」値に対して) を記録 } 従って、変数LastEqu には過去のバーに対する純資産値が格納され、次のバーが開かれると再びその値が上書きになる ...ということです。 ...勝手に書いて、確認もせず、もう寝てしまったので、あまり蹴らないでください...。 表現したつもりなのですが・・・。 削除済み 2010.06.13 21:44 #6136 ToLik_SRGV: 答え:まさか AccountEquity() は、持分額を返すものであり、バー数には依存しない。 バーの履歴をロールバックするだけでは、その前の値を知ることはできない。 その値は、オープン/クローズ、利益が出ている/損失が出ている取引の数によって決まります。 資本の履歴」を記録するには、静的配列を作成し、例えば、バーが開くごとに AccountEquity() の値をその中に記録します。 従って、配列をスクロールさせることで、株式の変動履歴を取得することが可能である。 であれば、まだ 削除済み 2010.06.13 21:53 #6137 sllawa3: であれば、まだ さて、同じことを書いたのですが、変数ではなく、配列を使うことを提案しました。 資本の履歴」を記録するためには、例えば、静的配列を作成し、そこに各バーの開始時などに AccountEquity() の値を記録する必要があります。 従って、エクイティの変更履歴は、配列をスクロールして取得する必要がある。 Artyom Trishkin 2010.06.13 21:58 #6138 みんな、チャートに矢印を設定する方法がわからないんだ。一つは過去80日間の最高値のバー、もう一つは同じ80日間の最安値のバーだ。このコードを作成したのですが、矢印がクラスターで投げられてしまいます...。過去80日間の各バーの 最小値と最大値に1つの矢印が必要で、次に次の80日分などです。ヒントを教えてください。 //==================================================================================== int NBars,MostHiBar, MostLoBar; double MostHiPrice,MostLoPrice; datetime TMostHiBar,TMostLoBar; //----------------------------------------------------------------- NBars = 80; MostHiBar = iHighest(NULL,PERIOD_D1,MODE_HIGH,NBars,0); // Номер "максимального" бара MostLoBar = iLowest (NULL,PERIOD_D1,MODE_LOW, NBars,0); // Номер "минимального" бара MostHiPrice = iHigh (NULL,PERIOD_D1,MostHiBar); // Цена "максимального" бара MostLoPrice = iLow (NULL,PERIOD_D1,MostLoBar); // Цена "минимального" бара TMostHiBar = iTime (NULL,PERIOD_D1,MostHiBar); // Время открытия "максимального" бара TMostLoBar = iTime (NULL,PERIOD_D1,MostLoBar); // Время открытия "минимального" бара Comment ( "\n", "Наибольшая цена за ", NBars, " дней = ", MostHiPrice, "\n", "Наименьшая цена за ", NBars, " дней = ", MostLoPrice, "\n", "Время наибольш. бара = ", Time[MostHiBar], "\n", "Время наименьш. бара = ", Time[MostLoBar] // сюда пробовал и TMostLoBar вставлять - пофигу... ); SetArrow(241, MediumSpringGreen, "", Time[MostHiBar], High[MostHiBar], 0); SetArrow(242, OrangeRed, "", Time[MostLoBar], Low[MostLoBar], 0); //==================================================================================== //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 12.10.2007 | //| Описание : Установка значка на графике, объект OBJ_ARROW. | //+----------------------------------------------------------------------------+ //| Параметры: | //| cd - код значка | //| cl - цвет значка | //| nm - наименование ("" - время открытия текущего бара) | //| t1 - время открытия бара (0 - текущий бар) | //| p1 - ценовой уровень (0 - Bid) | //| sz - размер значка (0 - по умолчанию) | //+----------------------------------------------------------------------------+ void SetArrow(int cd, color cl, string nm="", datetime t1=0, double p1=0, int sz=0) { if (nm=="") nm=DoubleToStr(Time[0], 0); if (t1<=0) t1=Time[0]; if (p1<=0) p1=Bid; if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0,0); ObjectSet(nm, OBJPROP_TIME1 , t1); ObjectSet(nm, OBJPROP_PRICE1 , p1); ObjectSet(nm, OBJPROP_ARROWCODE, cd); ObjectSet(nm, OBJPROP_COLOR , cl); ObjectSet(nm, OBJPROP_WIDTH , sz); } //==================================================================================== Craft 2010.06.14 00:03 #6139 教えていただきたいのですが、MTでストップでポジションを建てる ことは可能でしょうか?例えば、サポート/コーポレーションの後ろにストップを置き、突破されたらストップがポジションを開く。 Владимир Тезис 2010.06.14 00:51 #6140 Craft: 教えていただきたいのですが、MTでストップでポジションを建てることは可能でしょうか?例えば、サポート/ソープの後ろにストップを置き、貫通したらストップでポジションをオープンする。 。 もちろんです。ただ、これはストップではなく、ペンディングオーダーと 呼ばれるものです。端末を開く。その中でF1キーを押す。表示されたウィンドウで、「コンテンツ」-「取引」-「オーダータイプ」を開きます。 1...607608609610611612613614615616617618619620621...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MathRandは使用前にMathSrand()で初期化 する必要があります。
で、MathSrand()のパラメータとしてTimeLocal()を渡すことをお勧めします。
初期化が一度必要で、その後32768クエリでMathRand()が検出されない。
その後、新しいシーケンスが必要な場合は再度初期化することができますが、そうでない場合は同じことが起こります。
もちろん、各ステップごとに初期化することも可能ですが、初期化パラメータが変化することを監視する必要があります。
でなければ、同じシーケンスになります。
それが私の仕事です。タイムロッカルとは?
同じネタで同じセットを持っています。
それが私の仕事です。タイムロッカルとは?
同じネタで同じセットを持っています。
教科書に載っている例
datetimeTimeLocal()
この関数は、ローカルコンピュータの時刻を、1970年1月1日00:00からの経過秒数で返します。
注:テスト時には、ローカル時刻は シミュレートされ、シミュレートされた最終既知のサーバー時刻と一致します。
どなたかアドバイスをお願いします。...AccountEquity() ONE BAR ABOVE (過去のバー) How to WRITE?
答え:まさか
AccountEquity() は、持分額を返すものであり、バー数には 依存しない。
バーの履歴をロールバックするだけでは、その前の値を知ることはできない。
その値は、オープン/クローズ、利益が出ている/損失が出ている取引の数によって決まります。
資本の履歴」を記録するには、静的配列を作成し、例えば、バーが開くごとに AccountEquity() の値をその中に記録します。
そのため、エクイティの変更履歴を取得するためには、配列をスクロールする必要がある。
誰かヒントください...AccountEquity() ONE BAR ABOVE (過去のバーの場合) How to WRITE?
例えばこのように、新しいバー ごとに変数に格納する必要があるようです。
1. init()関数で、EquAkk=AccountEquity()といった変数に、株式の初期値を格納する。
2. 新しいバーの出現を確認(もちろん init ではありません ), if yes, then
{
LastEqu=EquAkk; // 変数に過去の (私たちが必要とする) 純資産値を格納
EquAkk=AccountEquity(); // 新しい純資産値 (次の「過去の」値に対して) を記録
}
従って、変数LastEqu には過去のバーに対する純資産値が格納され、次のバーが開かれると再びその値が上書きになる ...ということです。
...勝手に書いて、確認もせず、もう寝てしまったので、あまり蹴らないでください...。
表現したつもりなのですが・・・。
答え:まさか
AccountEquity() は、持分額を返すものであり、バー数には依存しない。
バーの履歴をロールバックするだけでは、その前の値を知ることはできない。
その値は、オープン/クローズ、利益が出ている/損失が出ている取引の数によって決まります。
資本の履歴」を記録するには、静的配列を作成し、例えば、バーが開くごとに AccountEquity() の値をその中に記録します。
従って、配列をスクロールさせることで、株式の変動履歴を取得することが可能である。
であれば、まだ
さて、同じことを書いたのですが、変数ではなく、配列を使うことを提案しました。
資本の履歴」を記録するためには、例えば、静的配列を作成し、そこに各バーの開始時などに AccountEquity() の値を記録する必要があります。
従って、エクイティの変更履歴は、配列をスクロールして取得する必要がある。
教えていただきたいのですが、MTでストップでポジションを建てることは可能でしょうか?例えば、サポート/ソープの後ろにストップを置き、貫通したらストップでポジションをオープンする。 。
もちろんです。ただ、これはストップではなく、ペンディングオーダーと 呼ばれるものです。端末を開く。その中でF1キーを押す。表示されたウィンドウで、「コンテンツ」-「取引」-「オーダータイプ」を開きます。