[アーカイブ!】アドバイザーの書き方を無料公開中 - ページ 11 1...456789101112131415161718...94 新しいコメント 削除済み 2009.05.14 17:05 #101 skylord писал(а)>> こんにちは。 MQLを学び始めたばかりで、EAを書こうとしているのですが...。 私はsidus v.2指標に基づいてEAを作成しようとしています、私はそれが新しいバーが生まれたときにのみ、EAで指定した方向にポジションを開くようにしたい、すなわち、最初のティックでそれは前のバーで信号があるかどうかをチェックし、どのような注文 - ストップとテイクで、。インジケーターファイルを添付してください。 この信号が見つからない((. 助けてください、せめて方法を教えてください. Sidusインジケータのエキスパートアドバイザ もしかしたら、これがあなたの役に立つかもしれないし、検索が役に立つかもしれません。 や第二の風!? 削除済み 2009.05.14 18:48 #102 vvavva さんに感謝です。いいアイデアがあるのですが、スキップしたり、左の信号が多かったりで、必要なものではありません( EAから 前のバーのバッファインジケータの状態を要求する方法を誰かに聞きたいのですが、どうすればいいのでしょうか? if (sigCurrent==1 && sigPrevious==2) { ExtMapBuffer4[i-1] = High[i-1]-5*Point; //ExtMapBuffer3[i] = Ask; entry=true; entry_point=Ask; } else if (sigCurrent==2 &&)sigPrevious==1) { ExtMapBuffer3[i-1] = Low[i-1]-5*Point; //ExtMapBuffer4[i] = Bid; entry=true; entry_point=Bid; } EAには以下のように一致条件があります。 double Up; double Down; int res; Up=iCustom(NULL, 0, "sidus_v.2", 3,1); Down=iCustom(NULL,0, "sidus_v.2")",2,1); //---- 売り条件 if(Down==Low) { res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",MAGICMA,0,Red); return; } //---- 買い条件 if(Up==High) { res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,",MAGICMA,0,Blue); return; }. でも、それは間違っている!!! この場合の対処法をアドバイスしてください・・・。 [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 [Archive!] Writing an advisor [WARNING CLOSED!] Any newbie Владимир 2009.05.14 20:19 #103 こんにちは。 黙々とトレードしている、4インドック、レジスタンスサポートライン、トレンド、ボチボチと使っている・・・。私は画面上で私の目を壊している、あなたは私が点線(同じで再カット)と 矢印(買い、売り)と歴史の中で同じ矢印に音信号を挿入することができ、助けることができる ファイル: zigandzag.mq4 16 kb 削除済み 2009.05.15 14:56 #104 skylord писал(а)>> こんにちは。 MQLを学び始めたばかりで、EAを書こうとしているのですが...。 私はsidus v.2指標に基づいてEAを作成しようとしています、私はそれが新しいバーが生まれたときにのみ、EAで指定した方向にポジションを開くようにしたい、すなわち、最初のティックでそれは前のバーで信号があるかどうかをチェックし、どのような注文 - ストップとテイクで、。インジケーターファイルを添付してください。 この信号が見つからない((. 助けてください、せめて方法を教えてください. こんにちは、ただ私の目でコードを走らせただけです、下手くそですみません、もちろん間違っているかもしれませんが、インジケータはオーバードローになるのでしょうか?論理的な思考を心がけよう for(int i=0; i<limit; i++) { ゼロバーから履歴のすべてのバーまでカウントし、カウンターを増やします。 ExtMapBuffer1[ i]=iMA(NULL,0, FastEMA,0,MODE_EMA,PRICE_CLOSE, i); ExtMapBuffer2[ i]=iMA(NULL,0, SlowEMA,0,MODE_EMA,PRICE_CLOSE, i); rsi_sig = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, i); ここですべてが明らかになります。 pipdiffCurrent=(ExtMapBuffer1[i]-ExtMapBuffer2[i]); マクダックはくたばれ if ( pipdiffCurrent>0 && rsi_sig>50) { sigCurrent = 1; //Up } else if ( pipdiffCurrent<0 && rsi_sig<50) { sigCurrent = 2; //Down macdacが0より大きく、RSIが50より大きい場合、sigは1、小さい場合、2となる ここまではいいんです。 if (sigCurrent==1 && sigPrevious==2) { macdakがプラスでRSIが50より大きい場合とmacdakがマイナスでRSIが50より小さい場合の両方が理解できません。以下のコードに条件があるので sigPrevious=sigCurrent; であれば、それを同一視することができる... とか、未来を盗むのは悪いことだ・・・とか。 ExtMapBuffer3[i-1] いや、もう理屈はわかっているのだから、これに置き換えて、いや、完全に改造してしまおう。 #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 1 #property indicator_width2 1 //---- extern int FastEMA=14; extern int SlowEMA=21; extern int RSIPeriod=17; //---- double BuyBuffer[], SellBuffer[]; int pre_signal = 0; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { //---- SetIndexBuffer(0, BuyBuffer); SetIndexLabel(0, "Buy"); SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID, 1); SetIndexArrow(0, 241); //---- SetIndexBuffer(1, SellBuffer); SetIndexLabel(1, "Sell"); SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, 1); SetIndexArrow(1, 242); //---- return(0); } int deinit() { } int start() { int counted_bars = IndicatorCounted(); int limit = Bars - 17; if( counted_bars > 17) { limit = Bars - counted_bars; } for(int i = limit; i >= 0; i --) { BuyBuffer[ i] = EMPTY_VALUE; SellBuffer[ i] = EMPTY_VALUE; double a = iMA(NULL,0, FastEMA,0,MODE_EMA,PRICE_CLOSE, i+1); double s = iMA(NULL,0, SlowEMA,0,MODE_EMA,PRICE_CLOSE, i+1); double a1 = iMA(NULL,0, FastEMA,0,MODE_EMA,PRICE_CLOSE, i); double s1 = iMA(NULL,0, SlowEMA,0,MODE_EMA,PRICE_CLOSE, i); double d1 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, i)-50; //---- if( a< s && a1> s1 && d1>0) { BuyBuffer[ i] = Low[ i] - iATR(NULL, 0, 14, i); } if( a> s && a1< s1 && d1<0) { SellBuffer[ i] = High[ i] + iATR(NULL, 0, 14, i); } } return(0); } さあ、見てください、悲しい写真です。 比べてみてください。 私はもちろん間違っているかもしれませんし、インジケータが再描画されませんが、私を許して、そして多分あなたはそれがあるべきバー上に信号が表示されるように、始値(特にRSIで)ではなく、終値を使用することができます =(。 削除済み 2009.05.15 18:03 #105 お気遣いありがとうございますvtoroe_dyxanie))))私が書いたわけではないので、私の観測に従ってインジケータが再描画されるわけではありません。すでにロックされている次のバーの最初のティックから使っています。そのため、最初のティックで前のバーに何があったかを知る必要があるのです。そして、なぜ未来を盗むのか?あるティックで、そのような一致があれば、sigCurrentに1を代入し、変数sigPreviousの最後に、同じsigCurrentを代入しているようです。 sigPrevious=sigCurrent; そして,次のティックでsigCurrent がすでに 2 で,かつ sigPrevious 変数が自然にバッファを 1 で 埋めていれば,その時点で終了します。 if (sigCurrent==1 && sigPrevious==2) { ExtMapBuffer4[i-1] = High[i-1]-5*Point; //ExtMapBuffer3[i] = Ask; entry=true; entry_point=Ask; } そして、これについては ExtMapBuffer3[i-1] 自分でもよくわからないのですが...。 でも、シグナルが表示されたバーに矢印が描かれるのは、問題ないようです しかし、-1を外すと、たくさんの驚きが現れました() [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 知っておくべきMQL5ウィザードのテクニック(第01回):回帰分析 MQL5でゾーン回復マーチンゲール戦略を開発する 削除済み 2009.05.15 18:45 #106 skylord >> : お気遣いありがとうございますvtoroe_dyxanie))))私が書いたわけではないので、私の観測に従ってインジケータが再描画されるわけではありません。すでにロックされている次のバーの最初のティックから使っています。そのため、最初のティックで前のバーに何があったかを知る必要があるのです。そして、なぜ未来を盗むのか?あるティックで、そのような一致があれば、sigCurrentに1を代入し、変数sigPreviousの最後に、同じsigCurrentを代入しているようです。 sigPrevious=sigCurrent; そして,次のティックでsigCurrent がすでに 2 で,かつ sigPrevious 変数が自然にバッファを 1 で 埋めていれば,その時点で終了します。 if (sigCurrent==1 && sigPrevious==2) { ExtMapBuffer4[i-1] = High[i-1]-5*Point; //ExtMapBuffer3[i] = Ask; entry=true; entry_point=Ask; } そして、これについては ExtMapBuffer3[i-1] 自分でもよくわからないのですが...。 でも、シグナルが表示されたバーに矢印が描かれるのは、問題ないようです しかし、-1を外すと、いろいろな驚きがありました()。 しかし、もう一つ副作用があります。条件が揃うと、シグナルは出るが矢印が出ないこともある。しかし、再びチャートに置くと、すべての矢印が元の場所に戻ってしまうのです。もう一度チャート上でコンパイルさせたり、バッファを更新させる方法はないでしょうか? 削除済み 2009.05.15 19:25 #107 skylord писал(а)>> なぜ、未来を盗むのか?そのような一致があれば、与えられたtickでsigCurrentに1つ割り当てられ、最後にsigPrevious変数に同じsigCurrentが割り当てられるようです。 sigPrevious=sigCurrent; そして,次のティックでsigCurrent がすでに 2 で,かつ sigPrevious 変数が自然にバッファを 1 で 埋めていれば,その時点で終了します。 if (sigCurrent==1 && sigPrevious==2) { ExtMapBuffer4[i-1] = High[i-1]-5*Point; //ExtMapBuffer3[i] = Ask; entry=true; entry_point=Ask; } あなたの本当の、不注意な私...。 についてです。" 既に確定している次のバーの最初のティックから使用しています。そのため、最初のティックで前のバーの状態を知る必要があるのです。" と、本当に使えるのか疑問です。 doubleiCustom() ....intシフト) 全知全能の助けはこう言う シフト - 指標バッファから取得した値のインデックス(現在のバーから指定した期間だけ後ろにずらす)。 こんな風に書けるのかなぁ(自分でも不思議です) for (i=0; i<limit;i++){。 if (iCustom(NULL, 0, "sidus_v.2", 3, i+1)<0 && iCustom(NULL, 0, "sidus_v.2", 3,i)>0) .... なぜなら、ワイズフォーラムのユーザーは、私のスキルを自分で向上させるために残された2つのnubisを見下すことはほとんどありません、それは便利かもしれないためです。 [Archive!] Writing an advisor [WARNING CLOSED!] Any newbie [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 削除済み 2009.05.15 19:32 #108 vtoroe_dyxanie писал(а)>> 本当だ、不注意だ...。 についてです。"すでにロックされている次のバーの最初のティックから使用します。そのため、最初のティックで前のバーの状態を知る必要があるのです。" と、本当に使えないのだろうかと思います。 doubleiCustom() ....intシフト) 全知全能のリファレンスによると シフト - 指標バッファから取得した値のインデックス(現在のバーから指定した期間だけ後ろにずらす)。 こんな風に書けるのかなぁ(自分でも不思議です) for (i=0; i<limit;i++){。 if (iCustom(NULL, 0, "sidus_v.2", 3,1)<0 && iCustom(NULL, 0, "sidus_v.2", 3,0)>0)。 .... ooooooveryワイズフォーラムの参加者は、2人のヌビを見下すことはまずなく、自分たちでスキルを向上させ、それが役に立つかもしれないからです。 いいえ、できません =( うん、じゃあ、この問題を解決するにはどうしたらいいんだろう?まあ、すでに話題になったので、https://www.mql5.com/ru/forum/117268 私たちはそれを見守ることにします =) 削除済み 2009.05.16 05:32 #109 vtoroe_dyxanie писал(а)>> できない =( 人間、ではこの問題をどう解決するのか?さて、すでに「EAから方向を知る方法」というスレッドが立っていますので、注目したいと思います =)。 >> 会社のためにトラッキングをしよう!?) 削除済み 2009.05.17 19:47 #110 vtoroe_dyxanie писал(а)>> できない =( 人間、ではこの問題をどう解決するのか?さて、すでに「EAから方向性を知る方法」というスレッドが立っていますので、注目したいと思います =)。 >>おい!私はあなたに助けを求めたことを覚えていますか?難しいことでなければ、あなたは私にもっと教えてもらえますか? あなたが私のためにやったことは、私が今書いたものです(私は一つのウィンドウで最も近いタイムフレームを表示するようにインディケータをしたかった)これは、何ですか? ファイル: test1.mq4 6 kb 1...456789101112131415161718...94 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
MQLを学び始めたばかりで、EAを書こうとしているのですが...。
私はsidus v.2指標に基づいてEAを作成しようとしています、私はそれが新しいバーが生まれたときにのみ、EAで指定した方向にポジションを開くようにしたい、すなわち、最初のティックでそれは前のバーで信号があるかどうかをチェックし、どのような注文 - ストップとテイクで、。インジケーターファイルを添付してください。
この信号が見つからない((.
助けてください、せめて方法を教えてください.
Sidusインジケータのエキスパートアドバイザ
もしかしたら、これがあなたの役に立つかもしれないし、検索が役に立つかもしれません。
や第二の風!?
vvavva さんに感謝です。いいアイデアがあるのですが、スキップしたり、左の信号が多かったりで、必要なものではありません(
EAから 前のバーのバッファインジケータの状態を要求する方法を誰かに聞きたいのですが、どうすればいいのでしょうか?
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
else if (sigCurrent==2 &&)sigPrevious==1)
{
ExtMapBuffer3[i-1] = Low[i-1]-5*Point;
//ExtMapBuffer4[i] = Bid;
entry=true;
entry_point=Bid;
}
EAには以下のように一致条件があります。
double Up;
double Down;
int res;
Up=iCustom(NULL, 0, "sidus_v.2", 3,1);
Down=iCustom(NULL,0, "sidus_v.2")",2,1);
//---- 売り条件
if(Down==Low)
{
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",MAGICMA,0,Red);
return;
}
//---- 買い条件
if(Up==High)
{
res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,",MAGICMA,0,Blue);
return;
}.
でも、それは間違っている!!!
この場合の対処法をアドバイスしてください・・・。
こんにちは。
黙々とトレードしている、4インドック、レジスタンスサポートライン、トレンド、ボチボチと使っている・・・。私は画面上で私の目を壊している、あなたは私が点線(同じで再カット)と 矢印(買い、売り)と歴史の中で同じ矢印に音信号を挿入することができ、助けることができる
こんにちは。
MQLを学び始めたばかりで、EAを書こうとしているのですが...。
私はsidus v.2指標に基づいてEAを作成しようとしています、私はそれが新しいバーが生まれたときにのみ、EAで指定した方向にポジションを開くようにしたい、すなわち、最初のティックでそれは前のバーで信号があるかどうかをチェックし、どのような注文 - ストップとテイクで、。インジケーターファイルを添付してください。
この信号が見つからない((.
助けてください、せめて方法を教えてください.
こんにちは、ただ私の目でコードを走らせただけです、下手くそですみません、もちろん間違っているかもしれませんが、インジケータはオーバードローになるのでしょうか?論理的な思考を心がけよう
ゼロバーから履歴のすべてのバーまでカウントし、カウンターを増やします。
ここですべてが明らかになります。
マクダックはくたばれ
macdacが0より大きく、RSIが50より大きい場合、sigは1、小さい場合、2となる
ここまではいいんです。
macdakがプラスでRSIが50より大きい場合とmacdakがマイナスでRSIが50より小さい場合の両方が理解できません。以下のコードに条件があるので
であれば、それを同一視することができる...
とか、未来を盗むのは悪いことだ・・・とか。
いや、もう理屈はわかっているのだから、これに置き換えて、いや、完全に改造してしまおう。
さあ、見てください、悲しい写真です。 比べてみてください。
私はもちろん間違っているかもしれませんし、インジケータが再描画されませんが、私を許して、そして多分あなたはそれがあるべきバー上に信号が表示されるように、始値(特にRSIで)ではなく、終値を使用することができます =(。
お気遣いありがとうございますvtoroe_dyxanie))))私が書いたわけではないので、私の観測に従ってインジケータが再描画されるわけではありません。すでにロックされている次のバーの最初のティックから使っています。そのため、最初のティックで前のバーに何があったかを知る必要があるのです。そして、なぜ未来を盗むのか?あるティックで、そのような一致があれば、sigCurrentに1を代入し、変数sigPreviousの最後に、同じsigCurrentを代入しているようです。
sigPrevious=sigCurrent;
そして,次のティックでsigCurrent がすでに 2 で,かつ sigPrevious 変数が自然にバッファを 1 で 埋めていれば,その時点で終了します。
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
そして、これについては
ExtMapBuffer3[i-1]
自分でもよくわからないのですが...。
でも、シグナルが表示されたバーに矢印が描かれるのは、問題ないようです
しかし、-1を外すと、たくさんの驚きが現れました(
)
お気遣いありがとうございますvtoroe_dyxanie))))私が書いたわけではないので、私の観測に従ってインジケータが再描画されるわけではありません。すでにロックされている次のバーの最初のティックから使っています。そのため、最初のティックで前のバーに何があったかを知る必要があるのです。そして、なぜ未来を盗むのか?あるティックで、そのような一致があれば、sigCurrentに1を代入し、変数sigPreviousの最後に、同じsigCurrentを代入しているようです。
sigPrevious=sigCurrent;
そして,次のティックでsigCurrent がすでに 2 で,かつ sigPrevious 変数が自然にバッファを 1 で 埋めていれば,その時点で終了します。
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
そして、これについては
ExtMapBuffer3[i-1]
自分でもよくわからないのですが...。
でも、シグナルが表示されたバーに矢印が描かれるのは、問題ないようです
しかし、-1を外すと、いろいろな驚きがありました(
)。
しかし、もう一つ副作用があります。条件が揃うと、シグナルは出るが矢印が出ないこともある。しかし、再びチャートに置くと、すべての矢印が元の場所に戻ってしまうのです。もう一度チャート上でコンパイルさせたり、バッファを更新させる方法はないでしょうか?
なぜ、未来を盗むのか?そのような一致があれば、与えられたtickでsigCurrentに1つ割り当てられ、最後にsigPrevious変数に同じsigCurrentが割り当てられるようです。
sigPrevious=sigCurrent;
そして,次のティックでsigCurrent がすでに 2 で,かつ sigPrevious 変数が自然にバッファを 1 で 埋めていれば,その時点で終了します。
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
あなたの本当の、不注意な私...。
についてです。" 既に確定している次のバーの最初のティックから使用しています。そのため、最初のティックで前のバーの状態を知る必要があるのです。" と、本当に使えるのか疑問です。
全知全能の助けはこう言う
こんな風に書けるのかなぁ(自分でも不思議です)
for (i=0; i<limit;i++){。
if (iCustom(NULL, 0, "sidus_v.2", 3, i+1)<0 && iCustom(NULL, 0, "sidus_v.2", 3,i)>0)
....
なぜなら、ワイズフォーラムのユーザーは、私のスキルを自分で向上させるために残された2つのnubisを見下すことはほとんどありません、それは便利かもしれないためです。
本当だ、不注意だ...。
についてです。"すでにロックされている次のバーの最初のティックから使用します。そのため、最初のティックで前のバーの状態を知る必要があるのです。" と、本当に使えないのだろうかと思います。
全知全能のリファレンスによると
こんな風に書けるのかなぁ(自分でも不思議です)
for (i=0; i<limit;i++){。
if (iCustom(NULL, 0, "sidus_v.2", 3,1)<0 && iCustom(NULL, 0, "sidus_v.2", 3,0)>0)。
....
ooooooveryワイズフォーラムの参加者は、2人のヌビを見下すことはまずなく、自分たちでスキルを向上させ、それが役に立つかもしれないからです。
いいえ、できません =(
うん、じゃあ、この問題を解決するにはどうしたらいいんだろう?まあ、すでに話題になったので、https://www.mql5.com/ru/forum/117268 私たちはそれを見守ることにします =)
できない =(
人間、ではこの問題をどう解決するのか?さて、すでに「EAから方向を知る方法」というスレッドが立っていますので、注目したいと思います =)。
>> 会社のためにトラッキングをしよう!?)
できない =(
人間、ではこの問題をどう解決するのか?さて、すでに「EAから方向性を知る方法」というスレッドが立っていますので、注目したいと思います =)。
>>おい!私はあなたに助けを求めたことを覚えていますか?難しいことでなければ、あなたは私にもっと教えてもらえますか? あなたが私のためにやったことは、私が今書いたものです(私は一つのウィンドウで最も近いタイムフレームを表示するようにインディケータをしたかった)これは、何ですか?