[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 484 1...477478479480481482483484485486487488489490491...1145 新しいコメント 削除済み 2010.03.17 07:47 #4831 こんにちは。 //+------------------------------------------------------------------+ //| Indicator_MACD.mq4 | //| | //| | //+------------------------------------------------------------------+ // Modify Vinin #property copyright "" #property link "" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red //---- input parameters extern int Fast_EMA=13; extern int Slow_EMA=21; extern double N = 0.001221; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double MACD[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(3); SetIndexStyle(0,DRAW_ARROW, EMPTY, 3); SetIndexArrow(0,233); SetIndexBuffer(0,ExtMapBuffer1); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW, EMPTY, 3); SetIndexArrow(1,234); SetIndexBuffer(1,ExtMapBuffer2); SetIndexEmptyValue(1,0.0); SetIndexBuffer(2,MACD); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit = Bars-counted_bars-1; for(int i = limit; i>= 0; i--) { ExtMapBuffer2[i] = EMPTY; ExtMapBuffer1[i] = EMPTY; MACD[i]=iMACD(NULL,0,Fast_EMA,Slow_EMA,1,1,MODE_MAIN, i); if (((MACD[i]-N)*(MACD[i+1]-N)<0) || ((MACD[i]+N)*(MACD[i+1]+N)<0)) { if( MACD[i] <-N) ExtMapBuffer2[i] = High[i]+iATR(Symbol(), 0, 14, i); if( MACD[i] > N) ExtMapBuffer1[i] = Low[i] -iATR(Symbol(), 0, 14, i); } } return(0); } //+------------------------------------------------------------------+ 以下は、インジケーターのコードです(VINで微調整して変更しました - どうもありがとうございました)。 すべて良し、筋が通っているようだ......。ちょっとだけリメイクを希望。しかし。アイデアは、下部にあるMACDはここに(すべてのその値は値N未満である)成長し始め、矢印を設定しますベイ。 は、SHELの逆です。取引条件を変更しようとした(値を<から>に変更してもうまくいかなかった)。MACDが成長し始めた(マイナスになった)場合、矢印の出現の瞬間は取引条件と一致します。正しいように見える......が、矢印が出過ぎた............。 教えてください!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Виктор 2010.03.17 12:23 #4832 Swetten >>: Есть МАКД с параметрами 9 и 12. Верно ли, что он показывает разницу между МА с периодами 9 и 12? А то у меня какой-то разбег в цифрах. MAとMAKDのma_method, applied_priceのコンプライアンスをチェックする。 Alexander Mostovnek 2010.03.17 12:36 #4833 アドバイスお願いします 全てのMACD値は1次元配列MACD[] に格納されており、それらを一括して(10要素ごとに)極大・極小をチェックし、インジケータに描画したいと思います。 以下はそのコードです。 for(i=0; i<limit; i=i+10) { int k = i; for(k=i; k<i+10; k++) { x10[k] = MACD[k]; } int maxValueIdx=ArrayMaximum(x10); int minValueIdx=ArrayMinimum(x10); MAX[k] = maxValueIdx; MIN[k] = minValueIdx; } なぜ描かれていないのでしょうか? PapaYozh 2010.03.17 13:41 #4834 Noterday писал(а)>> アドバイスお願いします MACDの値はすべて1次元配列MACD[] に入っているので、それを一括して(10要素ごと)高値・安値をチェックし、インジケータに描画したいのです。 以下はそのコードです。 なぜ描かれていないのでしょうか? x10配列の次元は? 10? それなら、こう書き直した方がいい。 for(i=0; i<limit; i+=10) { int k; for(k=0; k<10; k++) { x10[k] = MACD[i+k]; } int maxValueIdx=ArrayMaximum(x10); int minValueIdx=ArrayMinimum(x10); MAX[i] = maxValueIdx; MIN[i] = minValueIdx; } で、MAXとMINの配列に何を入れたいのかが明確でない。 削除済み 2010.03.17 13:44 #4835 状況は以下の通りです。orderSendで 1ロットの注文を出し、orderCloseで0.5ロットの注文を閉じる...。他のティッカーで新規に開いた注文を拾ってもらうにはどうしたらいいですか? PapaYozh 2010.03.17 13:46 #4836 Xors писал(а)>> 状況は以下の通りです。orderSendで1ロットの注文を出し、orderCloseで0.5ロットの注文を閉じる...。が半分閉じてしまい、別のチケットで新しい注文を開いてしまうのですが、新しく開いた注文のチケットを素早く拾うにはどうしたらいいのでしょうか? まさか 唯一の方法は、未決済注文と保留注文の間でブルートフォースすることです。 khorosh 2010.03.17 14:05 #4837 baltik писал(а)>> lots=UseLots()。 if (lots==0) return(0); i=OrderSend(Symbol()、OP_BUY、UseLots()、NormalizeDouble(Ask、桁)、スリッページ、Ask-StopLoss*点、Ask+TakeProfit*点、EA、マジック、0、ブルー)。 lots=UseLots()。 if (lots==0) return(0); i=OrderSend(Symbol(),OP_SELL,UseLots(),NormalizeDouble(Bid, Digits),slimage,Bid+StopLoss*Point,Bid-TakeProfit*Point,EA,magic,0,Red).のようになります。 テスターで10件中1件、または25件中3件でエラー4107発生 また、報告されたスリッページの値や、小数点以下5桁、4桁の見積もりはどうなっているのか。 削除済み 2010.03.17 14:56 #4838 granit77 >>: Проверьте соответствие ma_method, applied_price в МА и МАКД. もうね。MAの12ではなく、120だったのです。驚きました!:) --- 2010.03.17 18:05 #4839 注文した商品の通貨を知るにはどうしたらよいですか?(先物の場合) costy_ 2010.03.17 18:18 #4840 Noterday писал(а)>> アドバイスお願いします MACDの値はすべて1次元配列MACD[] に入っているので、それを一括して(10要素ごと)高値・安値をチェックし、インジケータに描画したいのです。 以下はそのコードです。 なぜ描かれていないのでしょうか? ArrayResize(MAX,Bars); ArrayResize(MIN,Bars); int k=1; for(i=0; i<limit; i++) { MACD[i]= trali vali; if(i==10*k){k++; for(int r=0; r<10; r++) MAX[r]=MACD[ArrayMaximum(MACD,10,i-10)]; for(int r=0; r<10; r++) MIN[r]=MACD[ArrayMinimum(MACD,10,i-10)]; } } でも、基準点にスナップする必要があるんです! 1...477478479480481482483484485486487488489490491...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
以下は、インジケーターのコードです(VINで微調整して変更しました - どうもありがとうございました)。
すべて良し、筋が通っているようだ......。ちょっとだけリメイクを希望。しかし。アイデアは、下部にあるMACDはここに(すべてのその値は値N未満である)成長し始め、矢印を設定しますベイ。
は、SHELの逆です。取引条件を変更しようとした(値を<から>に変更してもうまくいかなかった)。MACDが成長し始めた(マイナスになった)場合、矢印の出現の瞬間は取引条件と一致します。正しいように見える......が、矢印が出過ぎた............。
教えてください!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Есть МАКД с параметрами 9 и 12.
Верно ли, что он показывает разницу между МА с периодами 9 и 12? А то у меня какой-то разбег в цифрах.
MAとMAKDのma_method, applied_priceのコンプライアンスをチェックする。
全てのMACD値は1次元配列MACD[] に格納されており、それらを一括して(10要素ごとに)極大・極小をチェックし、インジケータに描画したいと思います。
以下はそのコードです。
なぜ描かれていないのでしょうか?
アドバイスお願いします
MACDの値はすべて1次元配列MACD[] に入っているので、それを一括して(10要素ごと)高値・安値をチェックし、インジケータに描画したいのです。
以下はそのコードです。
なぜ描かれていないのでしょうか?
で、MAXとMINの配列に何を入れたいのかが明確でない。x10配列の次元は?
10?
それなら、こう書き直した方がいい。
状況は以下の通りです。orderSendで1ロットの注文を出し、orderCloseで0.5ロットの注文を閉じる...。が半分閉じてしまい、別のチケットで新しい注文を開いてしまうのですが、新しく開いた注文のチケットを素早く拾うにはどうしたらいいのでしょうか?
まさか
唯一の方法は、未決済注文と保留注文の間でブルートフォースすることです。
lots=UseLots()。
if (lots==0) return(0);
i=OrderSend(Symbol()、OP_BUY、UseLots()、NormalizeDouble(Ask、桁)、スリッページ、Ask-StopLoss*点、Ask+TakeProfit*点、EA、マジック、0、ブルー)。
lots=UseLots()。
if (lots==0) return(0);
i=OrderSend(Symbol(),OP_SELL,UseLots(),NormalizeDouble(Bid, Digits),slimage,Bid+StopLoss*Point,Bid-TakeProfit*Point,EA,magic,0,Red).のようになります。
テスターで10件中1件、または25件中3件でエラー4107発生
また、報告されたスリッページの値や、小数点以下5桁、4桁の見積もりはどうなっているのか。Проверьте соответствие ma_method, applied_price в МА и МАКД.
もうね。MAの12ではなく、120だったのです。驚きました!:)
アドバイスお願いします
MACDの値はすべて1次元配列MACD[] に入っているので、それを一括して(10要素ごと)高値・安値をチェックし、インジケータに描画したいのです。
以下はそのコードです。
なぜ描かれていないのでしょうか?