どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 110 1...103104105106107108109110111112113114115116117...1178 新しいコメント webip 2013.08.30 21:24 #1091 artmedia70: この関数のどこで、最後に決済したときのStopLossを読み取るのでしょうか?何もないんですよ。 ここにあります。ダイレクトに指す。 OrderSelect(1,SELECT_BY_POS,MODE_HISTORY); take=OrderTakeProfit(); ts=take; webip 2013.08.30 21:26 #1092 borilunad: みんな寝ろ!朝はいつもより美味しい!夜中の1時ですよ!?おやすみなさい!そして、Artyomはもう寝坊してしまった! あなたのやっていることを始めて5日目ですが、もう夜中に考えるようになりましたよ。おやすみなさい。 webip 2013.08.30 21:33 #1093 おっと!ログブックにエラー130が表示されました。これって、停留所が違うんじゃないですか?しかし、新しいストップロスは1.3282です。現時点でのストップロスは1.3275(これは注文の始値でも ある)、現在の気配値は1.3297です。どこが間違いなのか? Yuriy Svetlov 2013.08.30 22:19 #1094 こんにちは。なぜ定義済みの変数「ポイント」で、最後にゼロが、ストラテジーテスターのログで定義されていないのか、丸数字なのか。 Пример: static double lBUY; lBUY=100*Point; //Так-же можно написать 10,20,180 или 520. if(lBUY==0.01) { Alert("НУЛИ НЕ ПИШУТСЯ В КОНЦЕ Point ",lBUY); } Viktar Dzemikhau 2013.08.31 08:36 #1095 artmedia70: 私はシベリア人です、ええ。クラスノヤルスク近郊。 シビリャク、そう、ほとんど、ザムリャク))。 Viktar Dzemikhau 2013.08.31 08:41 #1096 webip: でも、5日前からやっていることで、もう夜中に考えるようになりましたね。 夜中に考え事をしない人というのは、逆に言えば簡単なんです。私も同じ状況です。それに、夜は誰にも邪魔されないしね。ところで、以前読んだ本によると、脳は夜になるとよく考えるようになるそうです。まるで科学者が発見したような...。 Viktar Dzemikhau 2013.08.31 08:46 #1097 semiromid: こんにちは。 なぜ定義済みの変数「ポイント」で、最後にゼロが、ストラテジーテスターのログで定義されていないのか、丸数字なのか。 Пример: static double lBUY; lBUY=100*Point; //Так-же можно написать 10,20,180 или 520. if(lBUY==0.01) { Alert("НУЛИ НЕ ПИШУТСЯ В КОНЦЕ Point ",lBUY); } また、Alertは実際にどのような出力をしているのでしょうか。 Trendy 2013.08.31 08:59 #1098 artmedia70: DoubleToStr(number,digit) is for you ありがとうございました。キャンドルの特性を比較するために必要だった(多い、少ないなど)それをねじ込む - それは動作します。唯一のデータ型文字列を比較する方法を理解することはできません? または文字列にダブルは、文字列に番号を 翻訳していない?:-D PS.インジケータでは動作せず、スクリプトでのみ動作する...。High[i]を呼び出すと、小数点以下4桁までしか表示されません。 書いています。 Alert ("doubletostr High = ", DoubleToStr(High[1],5)); if (DoubleToStr(High[2],5)>(DoubleToStr(High[3],5)). { Alert ("More"); }. if (DoubleToStr(High[2],5)<(DoubleToStr(High[3],5)) { アラート("Smaller")。 } 動作は、結果を5桁で書き込み、オーバー/アンダーをカウントします。問題は、インジケータでは、文字列配列がチャートに表示されないことです。だから... ...書きます。 アラート(「正規化ダブル高値= ", NormalizeDouble(High[1],5)); うまくいきません - 結果は > 1,1234 です。 なぜ、ここまで複雑にしなければならなかったのか、開発者が理解できない。なぜ、これだけチャート上に桁数が表示されると、5桁で呼び出された関数に傷がつかないのでしょうか?もしかして、簡単な解決策があるのでは? Viktar Dzemikhau 2013.08.31 09:09 #1099 最後のマーケット ポジションが利益で決済された場合はTrueを、損失で決済されなかった場合はFalseを 返すべき関数で悩んでいます。この関数が真を 返した場合、すべてのポジション(未決済と成行の両方)が決済されます。 出てきたのはこんな感じです。 //+-------------------------------------------------------------------------------------+ //| Получаем состояние последней позиции (Открыта или закрыта) | //+-------------------------------------------------------------------------------------+ bool isCloseByTakeLastOpenPos(int delta) { datetime lastOrderCloseTime = 0, // Время закрытия последнего открытого ордера lastOOTHist = -1; // Время открытия последнего открытого ордера из истории for (int i=OrdersHistoryTotal()-1; i>=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue; if (OrderMagicNumber() != i_magic) continue; if (OrderSymbol() != Symbol()) continue; if (OrderType() > 1) continue; // Все удалённые отложки нас не интересуют.. if (lastOrderCloseTime < OrderCloseTime()) // Находим время закрытия.. { lastOrderCloseTime = OrderCloseTime(); // ..последней закрытой позиции в истории int j = i; } } if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() + OrderCommission() + OrderSwap() <= 0) return (false); if (MathAbs(OrderProfit() - OrderClosePrice()) > delta * pt) return (false); else { lastOOTHist = OrderOpenTime(); Comment("FUNC isCloseByTakeLastOpenPos : lastOOTHist = ", lastOOTHist); } } else { // Comment("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); Print("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); return(false); } for(int h=OrdersTotal()-1; h>=0; h--) { if (OrderSelect(h, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber() != i_magic) continue; if (OrderSymbol() != Symbol()) continue; if (OrderType() > 1) continue; if (lastOOTHist < OrderOpenTime()) return(false); // Выбранная рыночная позиция открыта позже закрытой по тейку } else {Print("FUNC isCloseByTakeLastOpenPos : не удалось выбрать рыночный ордер");return(false);} } return (true); } 上記のArtyomは、私のバグがある場所を示唆しました。自分のために書き直したんです。まだ最終的なバリエーションではありませんが...すでにかなり明確になっていますね。Expert Advisor を実行した後、残りのポジションがクローズされておらず、全くクローズされていないことにすぐに気がつきました。何が原因なのかを掘り起こし始めたのです。いくつかの機能を推奨し、その理由がこのブロックにあることに気づきました。 if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() + OrderCommission() + OrderSwap() <= 0) return (false); if (MathAbs(OrderProfit() - OrderClosePrice()) > delta * pt) return (false); else { lastOOTHist = OrderOpenTime(); Comment("FUNC isCloseByTakeLastOpenPos : lastOOTHist = ", lastOOTHist); } } else { Comment("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); Print("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); return(false); } コメントはきっちりずっと発動しています。 Comment("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); 私はそれをコメントアウトし、車を走らせた。このコメントで気がついたこと Comment("FUNC isCloseByTakeLastOpenPos : lastOOTHist = ", lastOOTHist); クローズドポジションラストがあっても、全くトリガーしない。何が問題なのでしょうか? 私の考えは、間違っているかもしれませんが・・・。もしかしたら、このブロックを置く必要があるかもしれません if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() + OrderCommission() + OrderSwap() <= 0) return (false); if (MathAbs(OrderProfit() - OrderClosePrice()) > delta * pt) return (false); else { lastOOTHist = OrderOpenTime(); Comment("FUNC isCloseByTakeLastOpenPos : lastOOTHist = ", lastOOTHist); } } else { // Comment("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); Print("FUNC isCloseByTakeLastOpenPos : не удалось выбрать ордер в истории"); return(false); } もfor ループに入れるのですか?そうでなければ、溢れたものがどのような方向に向かうのか、誰にもわからないのです。j 変数には、その位置のインデックス番号が入りますが、どの方向に検索をかけるかは明示的に指定されていません。 Artyom Trishkin 2013.08.31 09:38 #1100 hoz: 最後のマーケット ポジションが利益で決済された場合はTrueを、損失で決済されなかった場合はFalseを 返すべき関数で悩んでいます。この関数が真を 返した場合、すべてのポジション(未決済と成行の両方)が決済されます。 出てきたのはこんな感じです。 上記のArtyomは、私のバグがある場所を示唆しました。自分のために書き直したんです。まだ最終的なバリエーションではありませんが...すでにかなり明確になっていますね。Expert Advisor を実行した後、残りのポジションがクローズされておらず、全くクローズされていないことにすぐに気がつきました。何が原因なのかを掘り起こし始めたのです。いくつかの機能を推奨し、その理由がこのブロックにあることに気がつきました。 コメントはきっちりずっと発動しています。 私はそれをコメントアウトし、車を走らせた。このコメントで気がついたこと クローズドポジションラストがあっても、全くトリガーしない。何が問題なのでしょうか? 私の考えは、間違っているかもしれませんが・・・。もしかしたら、このブロックを置く必要があるかもしれません もfor ループに入れるのですか?そうでなければ、溢れたものがどのような方向に向かうのか、誰にもわからないのです。j 変数には、その位置のインデックス番号が入りますが、どの方向に検索をかけるかは明示的に指定されていません。 変数jは関数の最初に明示的に負の値で初期化する必要があります。試してみてください。まだそれ以上は見ていない。 1...103104105106107108109110111112113114115116117...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この関数のどこで、最後に決済したときのStopLossを読み取るのでしょうか?何もないんですよ。
みんな寝ろ!朝はいつもより美味しい!夜中の1時ですよ!?おやすみなさい!そして、Artyomはもう寝坊してしまった!
あなたのやっていることを始めて5日目ですが、もう夜中に考えるようになりましたよ。おやすみなさい。
こんにちは。なぜ定義済みの変数「ポイント」で、最後にゼロが、ストラテジーテスターのログで定義されていないのか、丸数字なのか。
Пример:
static double lBUY;
lBUY=100*Point; //Так-же можно написать 10,20,180 или 520.
if(lBUY==0.01)
{
Alert("НУЛИ НЕ ПИШУТСЯ В КОНЦЕ Point ",lBUY);
}
私はシベリア人です、ええ。クラスノヤルスク近郊。
シビリャク、そう、ほとんど、ザムリャク))。
でも、5日前からやっていることで、もう夜中に考えるようになりましたね。
夜中に考え事をしない人というのは、逆に言えば簡単なんです。私も同じ状況です。それに、夜は誰にも邪魔されないしね。ところで、以前読んだ本によると、脳は夜になるとよく考えるようになるそうです。まるで科学者が発見したような...。
こんにちは。 なぜ定義済みの変数「ポイント」で、最後にゼロが、ストラテジーテスターのログで定義されていないのか、丸数字なのか。
Пример:
static double lBUY;
lBUY=100*Point; //Так-же можно написать 10,20,180 или 520.
if(lBUY==0.01)
{
Alert("НУЛИ НЕ ПИШУТСЯ В КОНЦЕ Point ",lBUY);
}
また、Alertは実際にどのような出力をしているのでしょうか。
DoubleToStr(number,digit) is for you
ありがとうございました。キャンドルの特性を比較するために必要だった(多い、少ないなど)それをねじ込む - それは動作します。唯一のデータ型文字列を比較する方法を理解することはできません? または文字列にダブルは、文字列に番号を 翻訳していない?:-D
PS.インジケータでは動作せず、スクリプトでのみ動作する...。High[i]を呼び出すと、小数点以下4桁までしか表示されません。
書いています。
Alert ("doubletostr High = ", DoubleToStr(High[1],5));
if (DoubleToStr(High[2],5)>(DoubleToStr(High[3],5)).
{
Alert ("More");
}.
if (DoubleToStr(High[2],5)<(DoubleToStr(High[3],5))
{
アラート("Smaller")。
}
動作は、結果を5桁で書き込み、オーバー/アンダーをカウントします。問題は、インジケータでは、文字列配列がチャートに表示されないことです。だから...
...書きます。
アラート(「正規化ダブル高値= ", NormalizeDouble(High[1],5));
うまくいきません - 結果は > 1,1234 です。
なぜ、ここまで複雑にしなければならなかったのか、開発者が理解できない。なぜ、これだけチャート上に桁数が表示されると、5桁で呼び出された関数に傷がつかないのでしょうか?もしかして、簡単な解決策があるのでは?
最後のマーケット ポジションが利益で決済された場合はTrueを、損失で決済されなかった場合はFalseを 返すべき関数で悩んでいます。この関数が真を 返した場合、すべてのポジション(未決済と成行の両方)が決済されます。
出てきたのはこんな感じです。
上記のArtyomは、私のバグがある場所を示唆しました。自分のために書き直したんです。まだ最終的なバリエーションではありませんが...すでにかなり明確になっていますね。Expert Advisor を実行した後、残りのポジションがクローズされておらず、全くクローズされていないことにすぐに気がつきました。何が原因なのかを掘り起こし始めたのです。いくつかの機能を推奨し、その理由がこのブロックにあることに気づきました。
コメントはきっちりずっと発動しています。
私はそれをコメントアウトし、車を走らせた。このコメントで気がついたこと
クローズドポジションラストがあっても、全くトリガーしない。何が問題なのでしょうか?
私の考えは、間違っているかもしれませんが・・・。もしかしたら、このブロックを置く必要があるかもしれません
もfor ループに入れるのですか?そうでなければ、溢れたものがどのような方向に向かうのか、誰にもわからないのです。j 変数には、その位置のインデックス番号が入りますが、どの方向に検索をかけるかは明示的に指定されていません。
最後のマーケット ポジションが利益で決済された場合はTrueを、損失で決済されなかった場合はFalseを 返すべき関数で悩んでいます。この関数が真を 返した場合、すべてのポジション(未決済と成行の両方)が決済されます。
出てきたのはこんな感じです。
上記のArtyomは、私のバグがある場所を示唆しました。自分のために書き直したんです。まだ最終的なバリエーションではありませんが...すでにかなり明確になっていますね。Expert Advisor を実行した後、残りのポジションがクローズされておらず、全くクローズされていないことにすぐに気がつきました。何が原因なのかを掘り起こし始めたのです。いくつかの機能を推奨し、その理由がこのブロックにあることに気がつきました。
コメントはきっちりずっと発動しています。
私はそれをコメントアウトし、車を走らせた。このコメントで気がついたこと
クローズドポジションラストがあっても、全くトリガーしない。何が問題なのでしょうか?
私の考えは、間違っているかもしれませんが・・・。もしかしたら、このブロックを置く必要があるかもしれません
もfor ループに入れるのですか?そうでなければ、溢れたものがどのような方向に向かうのか、誰にもわからないのです。j 変数には、その位置のインデックス番号が入りますが、どの方向に検索をかけるかは明示的に指定されていません。