MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 22 1...151617181920212223242526272829...1953 新しいコメント Alexey Viktorov 2016.11.30 07:38 #211 Artyom Trishkin:О!ありがとうございます(苦笑)。朝、自分で気がつかなかった...。まだ、アレイを埋めるためのチェックが必要ですが。Quatermassで満たしていない、とファイブでかなり頻繁に過去のデータの不足の ために、最初の時間のデータを記入していない。ZS もっと寝たほうがいい。思考がその方向に働く。まあ、ループに入れればいいんですけどね do while(CopyOpen(_Symbol, PERIOD_CURRENT, 1, 15, openCandle) < 0);いやしくも do while(CopyOpen(_Symbol, PERIOD_CURRENT, 1, 15, openCandle) < 15);を、要求された量だけコピーする。ps; お茶を入れに行ったついでに、CopyRates()と構造体の配列MqlRates rates[] を使うというアイデアもあったのだが、何かを書き直すのが億劫になってしまった。 Artyom Trishkin 2016.11.30 08:26 #212 Alexey Viktorov:まあ、ループに入れるという手もありますが do while(CopyOpen(_Symbol, PERIOD_CURRENT, 1, 15, openCandle) < 0);いやしくも do while(CopyOpen(_Symbol, PERIOD_CURRENT, 1, 15, openCandle) < 15);をクリックすると、要求された部数だけコピーされます。ps; お茶を飲んでいるときに、CopyRates()と構造体の配列MqlRates rates[] を使うという別のアイディアが浮かんだのですが、書き直すのが億劫になってしまいました。 私が提案した方法ではないのですか? Artyom Trishkin 2016.11.30 08:37 #213 giannis1386: 他のSell条件を確認するのに役立つ。int start(){//+--------------------------------------------------------------------+//| -= stop loss в без убыток =- |//+--------------------------------------------------------------------+bool result;double stop;int cmd,error;for(int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderProfit()>pOPCS){ cmd=OrderType();double blevel=OrderStopLoss()<Bid-Point*TS;double slevel=OrderStopLoss()>Ask+Point*TS;//---if(cmd==OP_BUY || cmd==OP_SELL){while(true){if(cmd==OP_BUY && blevel) stop=Bid-Point*TS;else stop=Ask+Point*TS; result=OrderModify(OrderTicket(),OrderOpenPrice(),stop,0,0,Orange);if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); }else error=0;if(error==135) RefreshRates();else break;}}}}妙な理屈があるものだ。でも、変な理屈は抜きにしても、では。ここでは、「買い」の条件が2つ あり、それ以外はすべて「売り」の条件になっています。if(cmd==OP_BUY && blevel) stop=Bid-Point*TS;else stop=Ask+Point*TS; giannis1386 2016.11.30 08:43 #214 Artyom Trishkin:あなたの論理はおかしいです。でも、変な理屈は抜きにしても、では。ここでは、2つの条件が 買い、残りが 売りの場合にチェックされています。if(cmd==OP_BUY && blevel) stop=Bid-Point*TS;else stop=Ask+Point*TS;売りの場合、slevel=OrderStopLoss()>Ask+Point*TSを 付けるようにしてみました。しかし、私はプログラミングの手がかりがないので、役に立つものは何も出てきませんでした。 1週間ほどフォーラムをつつきました。なぜ変なロジックなのか?) コードは完全に私のものではありません。 Artyom Trishkin 2016.11.30 08:48 #215 giannis1386:slevel=OrderStopLoss()>Ask+Point*TSを 追加しようとしたのですが。一週間ほどフォーラムを覗いてみましたが、すべての試みはSell Stopが価格と一緒に動いてしまうという結果に終わりました。なぜ変なロジックなのか?) このコードはすべて私のものではない。 できるだけ手直しした。まず、売りと買いのストップをずらすべき条件を書いてみてはどうでしょうか。そして、考えた末に、伝票に書かれていることをコードに書いてください。 giannis1386 2016.11.30 08:58 #216 Artyom Trishkin:そして、まず、紙に鉛筆でストップ買い、ストップ売りをずらす条件を書いてください。そして、考えた末に、紙に書いてあることをコードに書き込んでください。slevel=OrderStopLoss()>Ask+Point*TS; 売りポジションの場合はこの ようになります。 Artyom Trishkin 2016.11.30 09:02 #217 giannis1386:slevel=OrderStopLoss()>Ask+Point*TS; まあ、これで合っているような気がします。 それとも間違っているのでしょうか? 初めて なものですから。この状態で何が書かれているのか、理解できているのでしょうか?double 型の 変数に 0 または 1 を代入する。何を手に入れたいですか? giannis1386 2016.11.30 09:09 #218 Artyom Trishkin:この状態で何が書かれているのか、理解できているのでしょうか?double 型の 変数に 0 または 1 を代入するものである。何を実現したいのか?校正はこんな感じです。チェックコンディション - SLを前後に動かさず、一方向にのみ動かすこと。例えば、BUY注文の場合、数式OrderStopLoss()<bid-point*TrailingStopこの例を使って、セル用に作りました。 Artyom Trishkin 2016.11.30 09:16 #219 giannis1386:以下は、私が読んだものです。チェックコンディション - SLを前後に動かさず、一方向にのみ動かすこと。例えば、BUY注文の場合、数式OrderStopLoss()<bid-point*TrailingStopこの例で言うと、売りポジションの場合に貼り付けました。だから、こんな風に必要なんですね。ロシア語で...ストップオーダーがビッド価格からトレイリングストップディスタンスを引いた値より小さい場合、 ...こうどうそして、この論理 式の結果、つまり0か1のどちらかを変数に代入するのです。 giannis1386 2016.11.30 09:42 #220 Artyom Trishkin:だから、これが必要なんですね。ロシア語で...ストップオーダーがビッド価格からトレイリングストップディスタンスを引いた値より小さい場合、 ...こうどうそして、このブーリアン 式の結果、つまり0か1のどちらかを変数に代入するのです。完全に混乱しています。double blevel=OrderStopLoss()<Bid-Point*TS; works for me.SLは利益だけを考えて価格を追求する。double slevel=OrderStopLoss()>Ask+Point*TS; これをelseに追加 する方法がわからない。はboolではありません。 1...151617181920212223242526272829...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
О!ありがとうございます(苦笑)。朝、自分で気がつかなかった...。まだ、アレイを埋めるためのチェックが必要ですが。Quatermassで満たしていない、とファイブでかなり頻繁に過去のデータの不足の ために、最初の時間のデータを記入していない。
ZS もっと寝たほうがいい。思考がその方向に働く。
まあ、ループに入れればいいんですけどね
いやしくも
を、要求された量だけコピーする。
ps; お茶を入れに行ったついでに、CopyRates()と構造体の配列MqlRates rates[] を使うというアイデアもあったのだが、何かを書き直すのが億劫になってしまった。
まあ、ループに入れるという手もありますが
いやしくも
をクリックすると、要求された部数だけコピーされます。
ps; お茶を飲んでいるときに、CopyRates()と構造体の配列MqlRates rates[] を使うという別のアイディアが浮かんだのですが、書き直すのが億劫になってしまいました。
他のSell条件を確認するのに役立つ。
{
//+--------------------------------------------------------------------+
//| -= stop loss в без убыток =- |
//+--------------------------------------------------------------------+
bool result;
double stop;
int cmd,error;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderProfit()>pOPCS)
{
cmd=OrderType();
double blevel=OrderStopLoss()<Bid-Point*TS;
double slevel=OrderStopLoss()>Ask+Point*TS;
//---
if(cmd==OP_BUY || cmd==OP_SELL)
{
while(true)
{
if(cmd==OP_BUY && blevel) stop=Bid-Point*TS;
else stop=Ask+Point*TS;
result=OrderModify(OrderTicket(),OrderOpenPrice(),stop,0,0,Orange);
if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); }
else error=0;
if(error==135) RefreshRates();
else break;
}
}
}
}
妙な理屈があるものだ。でも、変な理屈は抜きにしても、では。
ここでは、「買い」の条件が2つ あり、それ以外はすべて「売り」の条件になっています。
else stop=Ask+Point*TS;
あなたの論理はおかしいです。でも、変な理屈は抜きにしても、では。
ここでは、2つの条件が 買い、残りが 売りの場合にチェックされています。
else stop=Ask+Point*TS;
売りの場合、slevel=OrderStopLoss()>Ask+Point*TSを 付けるようにしてみました。
しかし、私はプログラミングの手がかりがないので、役に立つものは何も出てきませんでした。 1週間ほどフォーラムをつつきました。
なぜ変なロジックなのか?) コードは完全に私のものではありません。
slevel=OrderStopLoss()>Ask+Point*TSを 追加しようとしたのですが。
一週間ほどフォーラムを覗いてみましたが、すべての試みはSell Stopが価格と一緒に動いてしまうという結果に終わりました。
なぜ変なロジックなのか?) このコードはすべて私のものではない。 できるだけ手直しした。
まず、売りと買いのストップをずらすべき条件を書いてみてはどうでしょうか。
そして、考えた末に、伝票に書かれていることをコードに書いてください。
そして、まず、紙に鉛筆でストップ買い、ストップ売りをずらす条件を書いてください。
そして、考えた末に、紙に書いてあることをコードに書き込んでください。
slevel=OrderStopLoss()>Ask+Point*TS; まあ、これで合っているような気がします。 それとも間違っているのでしょうか? 初めて なものですから。
この状態で何が書かれているのか、理解できているのでしょうか?double 型の 変数に 0 または 1 を代入する。
何を手に入れたいですか?
この状態で何が書かれているのか、理解できているのでしょうか?double 型の 変数に 0 または 1 を代入するものである。
何を実現したいのか?
校正はこんな感じです。
チェックコンディション - SLを前後に動かさず、一方向にのみ動かすこと。
例えば、BUY注文の場合、数式
OrderStopLoss()<bid-point*TrailingStop
この例を使って、セル用に作りました。
以下は、私が読んだものです。
チェックコンディション - SLを前後に動かさず、一方向にのみ動かすこと。
例えば、BUY注文の場合、数式
OrderStopLoss()<bid-point*TrailingStop
この例で言うと、売りポジションの場合に貼り付けました。
だから、こんな風に必要なんですね。
ロシア語で...ストップオーダーがビッド価格からトレイリングストップディスタンスを引いた値より小さい場合、 ...こうどう
そして、この論理 式の結果、つまり0か1のどちらかを変数に代入するのです。
だから、これが必要なんですね。
ロシア語で...ストップオーダーがビッド価格からトレイリングストップディスタンスを引いた値より小さい場合、 ...こうどう
そして、このブーリアン 式の結果、つまり0か1のどちらかを変数に代入するのです。
完全に混乱しています。
double blevel=OrderStopLoss()<Bid-Point*TS; works for me.SLは利益だけを考えて価格を追求する。
double slevel=OrderStopLoss()>Ask+Point*TS; これをelseに追加 する方法がわからない。
はboolではありません。