[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 662 1...655656657658659660661662663664665666667668669...1145 新しいコメント Artyom Trishkin 2010.07.01 17:48 #6611 drknn: 1番目のパラメータは数値を返し、2番目のパラメータは許容範囲内の整数値なので、正しい。問題は、具体的に何が変数に入るかだ。このままプリントして、この作図を試してみてください。面白いですねぇ...。こんな感じで作りました。int Trend_BBOsMA (string sy, int tf) { if (sy=="" || sy=="0") sy=Symbol(); double BB =iCustom(sy,tf,"BB_MA",13,13,0,1), OsMA =iOsMA (sy,tf,9,21,5,PRICE_CLOSE,1), AC1 =NormalizeDouble(iAC(sy,tf,1),8), AC2 =NormalizeDouble(iAC(sy,tf,2),8), AC3 =NormalizeDouble(iAC(sy,tf,3),8); Comment("\n","AC1 = ",AC1," AC2=",AC2); string str1=AC1; Print("str1 = ",str1); string str2=AC2; Print("str2 = ",str2); if (BB>0 && OsMA>0 && AC1>AC2) return(1); if (BB<0 && OsMA<0 && AC1<AC2) return(-1); else return(0); } コメント表示 as1 = 0.001 as2 = 0.001,データウィンドウでは、AC1=0.001008、AC2=0.001020となります。とログに書かれています(最後の2つの値)。0.00100029 0.00100771 削除済み 2010.07.01 17:58 #6612 IgorM: 関数の極値の求め方がわからない 値を格納するデータ配列があります。 250要素のデータ配列から割れ目-極値を求め、その極値が存在する要素番号のみを格納する方法 みんな、ちょっと複雑なんだけどね :) 簡単な方法をスケッチしておくとよいでしょう。 //+------------------------------------------------------------------+ void searchExtremums(double base[], double &find[]){ int step = 1; for(int loop = 0; loop < ArraySize(base)-2; loop++){ if((base[loop] > base[loop+1] && base[loop+1] < base[loop+2]) || (base[loop] < base[loop+1] && base[loop+1] > base[loop+2])){ ArrayResize(find, step); find[step - 1] = base[loop+1]; step++; } } } //+------------------------------------------------------------------+ 極値を見つけたい配列(base)と、それを書き込む配列(find)を渡す、Vladimir配列の呼び出し例です。 double res[]; searchExtremum(my_array, res); そして、その結果をお見せします。 for(int s = 0; s < ArraySize(res); s++)Alert(res[s]) その方が簡単なようです :) Igor Makanu 2010.07.01 18:41 #6613 ToLik_SRGV: よりシンプルになったような気がします :) OK、今日確認してみます。もっと簡単かもしれませんが、頭の中で組み合わせがうまくいきません。 void searchExtremums(double base[], double & find[]){。 あとは、以下のような関数をチェックする必要があります。 削除済み 2010.07.01 18:53 #6614 IgorM: OK、今日確認してみます。もっと簡単かもしれませんが、頭の中で組み合わせがうまくいきません。 void searchExtremums(double base[], double & find[]){。 このような機能を確認する必要があります。 イゴール、このスレッドですでに書いています :))) 関数に変数を渡す場合、そのパラメータを通じて、変数は値で渡されます。これは、関数自体の中で変数を変更しても、上書きされないことを意味します。 パラメータ名の前に"&"を入れて、参照渡しを試みる。 void simple(string &s){ // ^ // спец сим. & перед именем переменной задает передачу по ссылке, а не по значению // } Oleg 2010.07.01 18:55 #6615 Mathemat: Volframの 投稿は複数のスレッドに伝播したため、削除されました。 ヴォルフラム、このために特別に自分のスレッドを作ってくれたんですね。すでに答えが出ている。それでは不十分なのでしょうか? 追伸:秘密を教えてあげよう、ヴォルフラム。あなたのアイデアに明らかな関心がないことは、そのアイデアが注目に値しないことを暗に示しているのだ。従って、「有償で」実施しようという人はいなかった。 メール通知オプションはキャンセルしたんでしょう? 返信があったかどうかも、これでないとわからないのでは?いつ返してくれるんだ? Владимир Тезис 2010.07.01 19:48 #6616 artmedia70: 面白いですねぇ...。こんなことをしました。 コメントも同時に表示されます as1 = 0.001 as2 = 0.001, データウィンドウでは、AC1 = 0.001008、AC2 = 0.001020です。 とログに書かれています(最後の2つの値)。 0.00100029 0.00100771 それは、開発者次第でしょう ;) 削除済み 2010.07.01 20:22 #6617 artmedia70: 面白いですねぇ...。こんなことをしました。 コメントも同時に表示されます as1 = 0.001 as2 = 0.001, データウィンドウでは、AC1 = 0.001008、AC2 = 0.001020です。 とログに書かれています(最後の2つの値)。 0.00100029 0.00100771 私も試してみましたが、すべて問題ないようです、コメントで。 AC = -0.0004、本誌では -0.00035586 AC2 = -0.0007、ジャーナル -0.00068589 Artyom Trishkin 2010.07.01 23:24 #6618 ToLik_SRGV: 私はあまりにも試してみました、すべてが正常に思える、コメントで: AC = -0.0004, ジャーナルで -0.00035586 AC2 = -0.0007, juranleで -0.00068589 。 Comment()は内部で値を丸めているようです...。そして、ビジュアルテストの 際に、その場で確認できることがどんなに便利なことか...。ただし、正確には...:) はい、そして、ところで、正規化のフォーラムでここに時間のカップルから午前7.30にそう読んで... 正規化は、できるだけ比較演算の近くで行うべき...そのため、いくつかの関数やコードの一部を変更する必要があると思います......。そして、テストではその違いがわかるように...。 Владимир Тезис 2010.07.02 03:34 #6619 artmedia70: Comment()は内部で値を丸めているようです...。そして、ビジュアルテストの際に、その場で確認できることがどんなに便利なことか...。ただし、正確には...:) ロット管理機能を書いていた時、MQL4で必要なタスクが解決できないので、Delphiでdll-libraryを作ったことがあります...。 削除済み 2010.07.02 05:45 #6620 こんにちは!MQL4の超ド素人の私に、何が正しいのか説明していただけませんか?初めてEAを書きます。SellStop注文を出し、それがトリガーされた後にBuyStop注文を出す。OrdeCloseTimeを使う必要がありそうです。多くのバリエーションを試しましたが、EAはOrdeCloseTime==0の時だけ注文を見ます。SellStopが閉じられた後、再びSellStopが開かれます。コードをお渡ししています。このバリエーションでは、SellStopとBuyStopが同時に開かれます。よろしくお願いします。よろしくお願いします。 int I = 0; int start() { if (I < 1) { ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OP_SS,Slippage,SL,CP_SS)。 if (ticket>0) { Alert("OrderSend"," ",ticket);}。else { Alert("!OrderSend","",GetLastError()); }. //-------------------------------------------------------------------------- if (OrderSelect(ticket,SELECT_BY_TICKET)==true) { Alert("OrderSelect", ",ticket);}。else { Alert("!OrderSelect"," ",GetLastError()); }. //-------------------------------------------------------------------------- OrderSend(Symbol(),OP_BUYSTOP,Lot,OP_BS,Slippage,SL,CP_BS)を実行。 } I=1; } を返します(0)。 //-------------------------------------------------------------------------- [WARNING CLOSED!] Any newbie Any rookie question, so [Archive!] Any rookie question, 1...655656657658659660661662663664665666667668669...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1番目のパラメータは数値を返し、2番目のパラメータは許容範囲内の整数値なので、正しい。問題は、具体的に何が変数に入るかだ。このままプリントして、この作図を試してみてください。
面白いですねぇ...。こんな感じで作りました。
コメント表示as1 = 0.001 as2 = 0.001,
データウィンドウでは、AC1=0.001008、AC2=0.001020となります。
とログに書かれています(最後の2つの値)。
0.00100029
0.00100771
関数の極値の求め方がわからない
値を格納するデータ配列があります。
250要素のデータ配列から割れ目-極値を求め、その極値が存在する要素番号のみを格納する方法
みんな、ちょっと複雑なんだけどね :)
簡単な方法をスケッチしておくとよいでしょう。
極値を見つけたい配列(base)と、それを書き込む配列(find)を渡す、Vladimir配列の呼び出し例です。
double res[]; searchExtremum(my_array, res);
そして、その結果をお見せします。
その方が簡単なようです :)よりシンプルになったような気がします :)
OK、今日確認してみます。もっと簡単かもしれませんが、頭の中で組み合わせがうまくいきません。
void searchExtremums(double base[], double & find[]){。
あとは、以下のような関数をチェックする必要があります。
OK、今日確認してみます。もっと簡単かもしれませんが、頭の中で組み合わせがうまくいきません。
void searchExtremums(double base[], double & find[]){。
このような機能を確認する必要があります。
イゴール、このスレッドですでに書いています :)))
関数に変数を渡す場合、そのパラメータを通じて、変数は値で渡されます。これは、関数自体の中で変数を変更しても、上書きされないことを意味します。
パラメータ名の前に"&"を入れて、参照渡しを試みる。
Volframの 投稿は複数のスレッドに伝播したため、削除されました。
ヴォルフラム、このために特別に自分のスレッドを作ってくれたんですね。すでに答えが出ている。それでは不十分なのでしょうか?
追伸:秘密を教えてあげよう、ヴォルフラム。あなたのアイデアに明らかな関心がないことは、そのアイデアが注目に値しないことを暗に示しているのだ。従って、「有償で」実施しようという人はいなかった。
メール通知オプションはキャンセルしたんでしょう?
返信があったかどうかも、これでないとわからないのでは?いつ返してくれるんだ?
面白いですねぇ...。こんなことをしました。
コメントも同時に表示されますas1 = 0.001 as2 = 0.001,
データウィンドウでは、AC1 = 0.001008、AC2 = 0.001020です。
とログに書かれています(最後の2つの値)。
0.00100029
0.00100771
それは、開発者次第でしょう ;)
面白いですねぇ...。こんなことをしました。
コメントも同時に表示されますas1 = 0.001 as2 = 0.001,
データウィンドウでは、AC1 = 0.001008、AC2 = 0.001020です。
とログに書かれています(最後の2つの値)。
0.00100029
0.00100771
AC = -0.0004、本誌では -0.00035586
AC2 = -0.0007、ジャーナル -0.00068589
私はあまりにも試してみました、すべてが正常に思える、コメントで: AC = -0.0004, ジャーナルで -0.00035586 AC2 = -0.0007, juranleで -0.00068589 。
Comment()は内部で値を丸めているようです...。そして、ビジュアルテストの 際に、その場で確認できることがどんなに便利なことか...。ただし、正確には...:)
はい、そして、ところで、正規化のフォーラムでここに時間のカップルから午前7.30にそう読んで...
正規化は、できるだけ比較演算の近くで行うべき...そのため、いくつかの関数やコードの一部を変更する必要があると思います......。そして、テストではその違いがわかるように...。
Comment()は内部で値を丸めているようです...。そして、ビジュアルテストの際に、その場で確認できることがどんなに便利なことか...。ただし、正確には...:)
こんにちは!MQL4の超ド素人の私に、何が正しいのか説明していただけませんか?初めてEAを書きます。SellStop注文を出し、それがトリガーされた後にBuyStop注文を出す。OrdeCloseTimeを使う必要がありそうです。多くのバリエーションを試しましたが、EAはOrdeCloseTime==0の時だけ注文を見ます。SellStopが閉じられた後、再びSellStopが開かれます。コードをお渡ししています。このバリエーションでは、SellStopとBuyStopが同時に開かれます。よろしくお願いします。よろしくお願いします。
int I = 0;
int start()
{
if (I < 1)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OP_SS,Slippage,SL,CP_SS)。
if (ticket>0)
{ Alert("OrderSend"," ",ticket);}。else { Alert("!OrderSend","",GetLastError()); }.
//--------------------------------------------------------------------------
if (OrderSelect(ticket,SELECT_BY_TICKET)==true)
{ Alert("OrderSelect", ",ticket);}。else { Alert("!OrderSelect"," ",GetLastError()); }.
//--------------------------------------------------------------------------
OrderSend(Symbol(),OP_BUYSTOP,Lot,OP_BS,Slippage,SL,CP_BS)を実行。
}
I=1;
}
を返します(0)。
//--------------------------------------------------------------------------