OrderSend()関数のバグ? - ページ 10 1...345678910 新しいコメント 削除済み 2013.02.10 18:55 #91 Roger: そんなの無理だよ。最初の刻みで条件を揃えないと、1時間が無駄になってしまいます。 H1では60分、つまり次のバーまで続きます。//+------------------------------------------------------------------+ //| чернoвик.mq4 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ static datetime LastTime = 0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(NewBar()==true) { int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-250*Point,Ask+250*Point," ",16384,0,Green); } Comment ("LastTime ",LastTime," NewBar ",NewBar()); //---- return(0); } //+------------------------------------------------------------------+ bool NewBar() { if (iTime(NULL,0,0) != LastTime) { LastTime = iTime(NULL,0,0); return (true); } else return (false); }テスターでコメントを調べる。 Viktar Dzemikhau 2013.02.10 22:31 #92 pako: 一本取るパコ、ビックリです!このスレッド中、ずっと「アルバニアコード」で突いてきたけど、何を提示したんだ?:)同じものを、横から見ただけ!?結局、新しいバーと 同じ機能を、よりプリミティブに使っているだけなんですね。そして、すべてのシグナルを迂回して注文を送る機能などがあります。そして、その問題の解決策は、ここにはなかったのですアルバニア人がいるんですね。Swan: Taki then only if order is opened on current bar. すなわち、関数OpenBuy/Sellのこの行は、 を移動します。 スワン さん、ありがとうございますこれが必要だったんだ!注文開始機能で新しいバーの時刻が代入されている場合 隙間なく.すでにチェック済みですが、すべてがうまく機能していることに頭が上がりません。私のExpert Advisorは、まさにその通りに動作します。それでもひとつだけ疑問が あります。前の例ではなぜうまくいかなかったのでしょうか? 前の例もこの状態でした。// Проведение торговых операций if (signal != SIGNAL_NO) if (!Trade(signal)) return (0);コードはこうなっているかと...Trade(signal) 関数がfalseを 返したら、関数を終了する...。であり、行内の変数lastBarTimeが 更新される前である。lastBarTime = iTime(NULL, 0, 0);は更新されません。でも、結果的には、そんなことはないんです。この点について、ご説明いただいてもよろしいでしょうか。とても興味深いものでさえあります。興味をそそられますね。 Aleksey Lebedev 2013.02.11 03:10 #93 hoz:スワン さん、ありがとうございますこれが必要だったんだ!新しいバータイムがオープンオーダー機能で割り当てられた場合、. 漏れなく.すでにチェック済みですが、すべてがうまく機能していることに頭が上がりません。私のExpert Advisorは、まさにその通りに動作します。ひとつ疑問が残ります。最後の選択肢はなぜうまくいかなかったのでしょうか? そこには、ある条件もあった。コードはこうなっていると思ったのですが...Trade(signal)) 関数がfalseを 返したら、関数を終了する...というものです。であり、行内の変数lastBarTimeが 更新される前である。は更新されません。でも、結果的には、そんなことはないんです。この点について、ご説明いただいてもよろしいでしょうか。とても興味深いものでさえあります。興味をそそられますね。 ええ、でももしsignal == SIGNAL_NO新しいバーの 最初のティックでlastBarTime が更新される...無きにしもあらず if (signal != SIGNAL_NO) 意図したとおりに動作するコードでは難しいので、確認が必要です) 削除済み 2013.02.11 09:57 #94 hoz:パコ、ビックリです!このスレッド中、「アルバニアコード」で突っかかってきたけど、何を提案したんだ?:)同じものを、横から見ただけ!?結局、新しいバーと同じ機能を、よりプリミティブに使っているだけなんですね。そして、すべてのシグナルを迂回して注文を送る機能などなど。そして、その問題の解決策は、ここにはなかったのですアルバニア人なんですね。pako: ToRを再度策定することに抵抗がなければ、なぜ新しいバーを制御 する必要があるのでしょうか。hoz: フォーミュラで簡単!まだ1ポイントも考えていませんが、全体の ポイントを説明します。注文数の 制限を一切設けないこと。I.e.注文は任意の数で開くことができる......いくつあってもいいのですが、現在のバーで開く注文は1つだけでいいのです。それだけです。つまり、新しいバーが開くので、このバー中に1つの注文を出すことができますが、現在のバーには1つ以上の注文を出すことはできません。次の注文は、次のバーでのみ開くことができ、それ以前には開きません。これではっきりしましたか?新しいバーで1つのポジションが開かれることをToRに従って書きました。ToRには他に何も書かれていない。幸運を 祈る 1...345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そんなの無理だよ。最初の刻みで条件を揃えないと、1時間が無駄になってしまいます。
H1では60分、つまり次のバーまで続きます。
テスターでコメントを調べる。
一本取る
パコ、ビックリです!このスレッド中、ずっと「アルバニアコード」で突いてきたけど、何を提示したんだ?:)同じものを、横から見ただけ!?結局、新しいバーと 同じ機能を、よりプリミティブに使っているだけなんですね。そして、すべてのシグナルを迂回して注文を送る機能などがあります。そして、その問題の解決策は、ここにはなかったのですアルバニア人がいるんですね。
Taki then
only if order is opened on current bar. すなわち、関数OpenBuy/Sellのこの行は、
を移動します。
スワン さん、ありがとうございますこれが必要だったんだ!注文開始機能で新しいバーの時刻が代入されている場合 隙間なく.すでにチェック済みですが、すべてがうまく機能していることに頭が上がりません。私のExpert Advisorは、まさにその通りに動作します。
それでもひとつだけ疑問が あります。前の例ではなぜうまくいかなかったのでしょうか? 前の例もこの状態でした。
コードはこうなっているかと...Trade(signal) 関数がfalseを 返したら、関数を終了する...。であり、行内の変数lastBarTimeが 更新される前である。
は更新されません。でも、結果的には、そんなことはないんです。この点について、ご説明いただいてもよろしいでしょうか。とても興味深いものでさえあります。興味をそそられますね。
スワン さん、ありがとうございますこれが必要だったんだ!新しいバータイムがオープンオーダー機能で割り当てられた場合、. 漏れなく.すでにチェック済みですが、すべてがうまく機能していることに頭が上がりません。私のExpert Advisorは、まさにその通りに動作します。
ひとつ疑問が残ります。最後の選択肢はなぜうまくいかなかったのでしょうか? そこには、ある条件もあった。
コードはこうなっていると思ったのですが...Trade(signal)) 関数がfalseを 返したら、関数を終了する...というものです。であり、行内の変数lastBarTimeが 更新される前である。
は更新されません。でも、結果的には、そんなことはないんです。この点について、ご説明いただいてもよろしいでしょうか。とても興味深いものでさえあります。興味をそそられますね。
新しいバーの 最初のティックでlastBarTime が更新される...
無きにしもあらず
if (signal != SIGNAL_NO)
意図したとおりに動作するコードでは難しいので、確認が必要です)パコ、ビックリです!このスレッド中、「アルバニアコード」で突っかかってきたけど、何を提案したんだ?:)同じものを、横から見ただけ!?結局、新しいバーと同じ機能を、よりプリミティブに使っているだけなんですね。そして、すべてのシグナルを迂回して注文を送る機能などなど。そして、その問題の解決策は、ここにはなかったのですアルバニア人なんですね。
ToRを再度策定することに抵抗がなければ、なぜ新しいバーを制御 する必要があるのでしょうか。
hoz:
フォーミュラで簡単!まだ1ポイントも考えていませんが、全体の ポイントを説明します。
注文数の 制限を一切設けないこと。I.e.注文は任意の数で開くことができる......いくつあってもいいのですが、現在のバーで開く注文は1つだけでいいのです。それだけです。
つまり、新しいバーが開くので、このバー中に1つの注文を出すことができますが、現在のバーには1つ以上の注文を出すことはできません。次の注文は、次のバーでのみ開くことができ、それ以前には開きません。
これではっきりしましたか?
新しいバーで1つのポジションが開かれることをToRに従って書きました。
ToRには他に何も書かれていない。
幸運を 祈る