[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 505 1...498499500501502503504505506507508509510511512...652 新しいコメント --- 2012.01.15 17:23 #5041 eugggy: bar は、外部設定(Start_Point)で設定された時間に対する現在のバーのシフト量です。 bar = ?削除時に何を? Sceptic Philozoff 2012.01.15 17:26 #5042 ask: 無礼講にする必要があるのか? 問題文はまだないし、あなたが走り書きしたものは疑似コードですらありません。 私が間違ってあなたをテレパスに送ったとでも? 削除済み 2012.01.15 17:26 #5043 sergeev: bar = ?削除の瞬間に何を? うまくいけば、以前の値に戻る。つまり、バーの有効期限が切れたときにその文書が必要なければ、削除しなければならないのです。 --- 2012.01.15 17:47 #5044 eugggy: そのこれまでの価値を まあ、うまくいくことを祈るのみです。 削除済み 2012.01.15 17:57 #5045 sergeev: まあ、うまくいくことを祈るのみです。 :-)間違いを指摘することはできないのですか? --- 2012.01.15 18:01 #5046 eugggy: :-)間違いを指摘することはできないのですか? :) しかし、what bar=?!!!という質問に答えると、それはできないのでは? 削除済み 2012.01.15 18:15 #5047 sergeev: :) しかし、what bar=の質問に答えられないのですが、できますか? 。 まあ、話題は初心者向けだし、削除した瞬間のバーが何なのか確かめれば、EAが動くかもね。ドキュメントが閉じられると、つまり新しいバーが 現れると、変数barの値が1増加します。削除関数にbar-1、つまりすでに閉じたドキュメントの番号を入れ、前のバーが指定条件を満たさない場合、番号=変数barの現在の値から1を引いた値のドキュメントが削除されます。すでに削除された文書を削除しているため、エラーが発生するのでしょうか? TESKATLIPOKA 2012.01.15 19:06 #5048 は誰も間違いに気づかなかったので、もう一度。 コードの間違いを教えていただけますか? ありがとうございます。 //+------------------------------------------------------------------------+ //| line.mq4 | //| || //+--------------------------------------------------------+ //--- 入力パラメータ extern bool sell = 1; // 売りの許可 extern bool buy = 1; extern double lots = 0.1; extern int sl = 50; extern int tp = 150; extern int order = 10; // extern double bez = 15; extern double tral_step = 15; extern double tral_start = 10; //+--------------------------------------------------+ //|エキスパート初期化関数| //+----------------------------------------------------------------+ int init() { return(0); } }. //+------------------------------------------------------------------------+ //| エキスパートの初期化関数 | //+--------------------------------------------------------+ int deinit() { //---- //---- return(0); }. //+------------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------------+ int start() { //---- string sell_stop ="ss"; //手動でライン名 string buy_stop ="bs"; //buy---------------------------------------- //ラインを見つけて価格がタッチしたら注文 if (ObjectFind (buy_stop) > 0 ) //ライン buy_stopありのとき。 if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )// ラインに触れる { OrderSend (Symbol(),OP_BUYSTOP, lots, Ask+Point*order,3, Bid-sl*Point, Bid+tp*Point );// 注文送信 ObjectDelete (buy_stop); // ラインは削除 } return(0; } } //+------------------------- [ARCHIVE] Any rookie question, [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. [Archive!] Any rookie question, Yury Reshetov 2012.01.15 19:12 #5049 TESKATLIPOKA:誰も間違いに気づいていないので、もう一度。コードのエラーを教えてください。 。 以下はその例です(あなたのコードにはもっと多くのエラーがありますが、これらのエラーはコンパイラを通過することさえできません)。 。 if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )// касание линии また、コンパイラから見てよりまともなコードに変更したとしても、 。 if ( ObjectGet (buy_stop, OBJPROP_PRICE1) == Ask )// касание линии誤差が分からない場合は、比較前に実測値の正規化を事前に行わないと、やはり理論的に間違っていることになります。さらに悪いことに、価格が1ティックで1ピップ以上変化した場合、正規化に失敗し、条件がすり抜けることがあります。以下の方法で交差条件を求めるのがより正しい。if (ObjectGet (buy_stop, OBJPROP_PRICE1) <= High[0]) && (ObjectGet (buy_stop, OBJPROP_PRICE1) >= Low[0]))// на текущей свече касание линии уже имело место 追伸:MetaTraderでは、コンパイル後のエラー箇所を見つけるのは非常に簡単です。1.ツールボックス」タブの「ファイル」欄で、コンパイラがエラーを検出した行番号とシンボル番号をカンマ区切りで指定します。2.同じタブの「説明」欄にあるエラーメッセージを ダブルクリックすると、コンパイラがエラーを検出した場所にエディタ内のカーソルがジャンプします。 --- 2012.01.15 19:29 #5050 eugggy: まあ、話題は初心者向けだし、削除時のバーが確かならEAが動くかもね。 では、どうやってバーを調べればいいのか聞いてください。 1...498499500501502503504505506507508509510511512...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
bar は、外部設定(Start_Point)で設定された時間に対する現在のバーのシフト量です。
bar = ?削除時に何を?
問題文はまだないし、あなたが走り書きしたものは疑似コードですらありません。
私が間違ってあなたをテレパスに送ったとでも?
bar = ?削除の瞬間に何を?
そのこれまでの価値を
まあ、うまくいくことを祈るのみです。
まあ、うまくいくことを祈るのみです。
:-)間違いを指摘することはできないのですか?
:) しかし、what bar=?!!!という質問に答えると、それはできないのでは?
:) しかし、what bar=の質問に答えられないのですが、できますか? 。
は誰も間違いに気づかなかったので、もう一度。
コードの間違いを教えていただけますか? ありがとうございます。
//+------------------------------------------------------------------------+
//| line.mq4 |
//|
||
//+--------------------------------------------------------+
//--- 入力パラメータ
extern bool sell = 1; // 売りの許可
extern bool buy = 1;
extern double lots = 0.1;
extern int sl = 50;
extern int tp = 150;
extern int order = 10; //
extern double bez = 15;
extern double tral_step = 15;
extern double tral_start = 10;
//+--------------------------------------------------+
//|エキスパート初期化関数|
//+----------------------------------------------------------------+
int init()
{
return(0);
} }.
//+------------------------------------------------------------------------+
//| エキスパートの初期化関数 |
//+--------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}.
//+------------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------------+
int start()
{
//----
string sell_stop ="ss"; //手動でライン名
string buy_stop ="bs";
//buy----------------------------------------
//ラインを見つけて価格がタッチしたら注文
if (ObjectFind (buy_stop) > 0 ) //ライン buy_stopありのとき。
if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask )// ラインに触れる
{
OrderSend (Symbol(),OP_BUYSTOP, lots, Ask+Point*order,3, Bid-sl*Point, Bid+tp*Point );// 注文送信
ObjectDelete (buy_stop); // ラインは削除
}
return(0;
} }
//+-------------------------
誰も間違いに気づいていないので、もう一度。
コードのエラーを教えてください。
。
以下はその例です(あなたのコードにはもっと多くのエラーがありますが、これらのエラーはコンパイラを通過することさえできません)。 。 また、コンパイラから見てよりまともなコードに変更したとしても、 。
誤差が分からない場合は、比較前に実測値の正規化を事前に行わないと、やはり理論的に間違っていることになります。さらに悪いことに、価格が1ティックで1ピップ以上変化した場合、正規化に失敗し、条件がすり抜けることがあります。
以下の方法で交差条件を求めるのがより正しい。
追伸:MetaTraderでは、コンパイル後のエラー箇所を見つけるのは非常に簡単です。
1.ツールボックス」タブの「ファイル」欄で、コンパイラがエラーを検出した行番号とシンボル番号をカンマ区切りで指定します。
2.同じタブの「説明」欄にあるエラーメッセージを ダブルクリックすると、コンパイラがエラーを検出した場所にエディタ内のカーソルがジャンプします。
まあ、話題は初心者向けだし、削除時のバーが確かならEAが動くかもね。