[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 125 1...118119120121122123124125126127128129130131132...432 新しいコメント Boris 2013.01.29 16:39 #1241 hoz: そこで、今回のケースにチェックを入れています。 ストップ-ニューストップ(単位:b.u.)がゼロでない場合...そして、修正する。そうでない場合は、モディファイを行いません。だからこそ、どうしてこうなるのかがわからないのです。結局、過去と新規の停止が 等しいかどうかを確認する必要があることは理解し、実行しています。 ここでは、バイをエラーなくトローリングする際の、上下からのチェック方法を紹介します。 if(OrderStopLoss() > OrderOpenPrice()) { if(NormalizeDouble(Bid-OrderStopLoss()-plus*tral,Digits) > prev) if(Bid > NormalizeDouble(OrderStopLoss()+plus*tral+prev,Digits)) { SL = NormalizeDouble(OrderStopLoss()+plus*part*tral,Digits); ModifyOrder(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0,Blue);return(0); } } 注文や位置の変更に有効なModifyOrder()関数を提供することができます。 削除済み 2013.01.29 16:41 #1242 Vinin: ハッキングされたように見えないように、このコードを編集してください。 理解できない。 どうやって編集するんだ、どういう意味だ? Viktar Dzemikhau 2013.01.29 16:42 #1243 borilunad: バー単位ではなく、何pips単位で修正することをお勧めします。必要であれば、そのためのリソースです。そして、すでに存在する修正に対して価格を繰り返すと、「エラーなし」のエラーがポップアップします。だから、最初にアドバイスしたように、一歩一歩進んでいくしかないのです。 B.U.はもちろんpipsで描画されます。B.U.関数を 1ティック毎やバーのオープン時などに呼び出すという 意味ですが...。でも、そんなのバカバカしいじゃないですか。1本あたりの価格が大きく跳ね上がることがあります。ということは、ティックワイズと同じような呼び方になるわけですね。ただ、何か条件を追加して、tick毎に呼び出されないようにする必要があるかな、と思っていました。今のSTOPとこれから設定されるSTOPを比較した方がいいと思うんです、なんとなく...。一般的にはなんとも不思議なことです。スタート 時の条件を追加していました。if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); }これでエラーは出なくなりました。よくわからないのは、MovingStopLossToBU()の 関数自体が、Stop Lossと等しくない場合にのみ変化することです。if (ND(OrderStopLoss() - priceBU * pt) != 0.0) if (!OrderModify(OrderTicket(), OrderOpenPrice(), priceBU, OrderTakeProfit(), 0, CLR_NONE )) { Print ("Ошибка модификации ордера ", OrderType(), " - ", GetLastError()); } では、どのように理解しているのでしょうか。 first_may 2013.01.29 16:50 #1244 こんばんは、平均MA(10)より上のローソク足を緑、下のローソク足を赤で色分けする方法を教えてください。 Boris 2013.01.29 16:51 #1245 hoz: B.U.はもちろんpipsで描画されます。B.U.関数を1ティック毎やバーのオープン時などに呼び出すという意味ですが...。でも、そんなのバカバカしいじゃないですか。1本あたりの価格が大きく跳ね上がることがあります。ということは、ティックワイズと同じような呼び方になるわけですね。今思ったのですが、条件を追加して、tick毎に呼び出されないようにした方がいいのかもしれませんね。今のSTOPとこれから設定されるSTOPを比較した方がいいと思うんです、なんとなく...。一般的にはなんとも不思議なことです。開始 条件を追加したら、そのようになりました。これでエラーは出なくなりました。よくわからないのは、MovingStopLossToBU()の 関数自体が、Stop Lossと等しくない場合にのみ変化することです。 では、どのように理解しているのでしょうか。 あなたの例では、ストップがゼロのとき、それはストップなしでポジションを 開いただけということです。 そして、すでにブレイクイーブンに達している場合をあげました。 しかし、上記をご覧ください、私は損益分岐なしで私のトロールを与えたのですそして、その機能をお渡しすることができます。 Viktar Dzemikhau 2013.01.29 16:57 #1246 agat8430: 理解できない。 どのように編集するのか、どのように理解するのか。 それなら、わからない人は来るところを間違えたんだ。わからないことは勉強する、聞く。そして、何もわからなければ、必要ないのです。 Viktar Dzemikhau 2013.01.29 16:58 #1247 borilunad: 上記をご覧ください!私の間違いのないトローリングをお伝えしました。そして、その機能をお渡しすることができます。 書き込んだ時には、お返事を拝見していませんでした。これから見てみます。でも、一般的には、あなたの改造機能を見て、自分も何か新しいことを学べるかもしれないので、うれしいです。 Viktar Dzemikhau 2013.01.29 17:05 #1248 borilunad: あなたの例では、ストップがゼロのとき、それはストップなしでポジションを開いたところということです。そして、すでに損益分岐点になっている場合のケースをあげました。 上記参照、損益分岐のない私のトロールをあげてみましたそして、その機能をお渡しすることができます。 いや、止まらないで。一部分だけ掲載しました。これが私のブレークイーブン関数です。//+-------------------------------------------------------------------------------------+ //| Перевод в б.у. рыночных ордеров | //+-------------------------------------------------------------------------------------+ void MovingStopLossToBU() { double priceBU; int type = OrderType(); for (int i=OrdersTotal() - 1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS)) continue; if (i_magic != -1) if (OrderMagicNumber() != i_magic) continue; if (OrderSymbol() != Symbol()) continue; if (OrderType() > 1) continue; RefreshRates(); if (type == 0) { double price = Ask; int li_cmd = 1; } else { price = Bid; li_cmd = -1; } if (li_cmd * (price - OrderOpenPrice()) >= i_triggerForBU * pt) { priceBU = ND(OrderOpenPrice() + li_cmd * (i_preservedProfit * pt)); if (ND(OrderStopLoss() - priceBU * pt) != 0.0) { if (!OrderModify(OrderTicket(), OrderOpenPrice(), priceBU, OrderTakeProfit(), 0, CLR_NONE )) { Print ("Ошибка модификации ордера ", OrderType(), " - ", GetLastError()); } Comment ("Ордер успешно переведён в безубыток"); Print ("Ордер успешно переведён в безубыток"); } } } }この行では、計算されたストップがすでにあるストップと同じであれば、何も修正されないことが明確にわかります。そうだろ?では、もともとの小切手は?しかし、修正関数の前のスタートで別の条件を入力するまでは、エラー1が常に出ていました。 if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); } だからこそ...。というのを考えているんです。すべて説明し尽くしたつもりです。 削除済み 2013.01.29 17:14 #1249 hoz: それなら、わからない人は来るところを間違えたんだ。わからないことは勉強する、聞く。そして、何もわからなければ、必要ないのです。 何も理解できないなら、必要ない。 じゃあ、全て理解した上で、ハッキングに見えないようにコードを編集する方法を教えてくれ。初めて掲示板を見たのですが、こんなに素敵な回答があったんですね。"天才的な人は、天才的な答えを出す" Boris 2013.01.29 17:21 #1250 agat8430: では、どうすればハッキングにならないようにコードを編集できるのか、みなさんが理解できるように教えてください。 初心者のためのブランチに来たんです。フォーラムで初めて来たのですが、ナイスな回答が返ってきました。 "天才的な人には、天才的な答えがある"。 まずは新規参入の方に。 フォーラムナビゲーター、よくある質問に対する回答など。ぜひ読んでみてください。( 1 2 3 4 5 6 ) 51 18.02.2011 よくあるご質問 1...118119120121122123124125126127128129130131132...432 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ストップ-ニューストップ(単位:b.u.)がゼロでない場合...そして、修正する。そうでない場合は、モディファイを行いません。だからこそ、どうしてこうなるのかがわからないのです。結局、過去と新規の停止が 等しいかどうかを確認する必要があることは理解し、実行しています。そこで、今回のケースにチェックを入れています。
ここでは、バイをエラーなくトローリングする際の、上下からのチェック方法を紹介します。
注文や位置の変更に有効なModifyOrder()関数を提供することができます。
ハッキングされたように見えないように、このコードを編集してください。
どうやって編集するんだ、どういう意味だ?
バー単位ではなく、何pips単位で修正することをお勧めします。必要であれば、そのためのリソースです。そして、すでに存在する修正に対して価格を繰り返すと、「エラーなし」のエラーがポップアップします。だから、最初にアドバイスしたように、一歩一歩進んでいくしかないのです。
B.U.はもちろんpipsで描画されます。B.U.関数を 1ティック毎やバーのオープン時などに呼び出すという 意味ですが...。でも、そんなのバカバカしいじゃないですか。1本あたりの価格が大きく跳ね上がることがあります。ということは、ティックワイズと同じような呼び方になるわけですね。ただ、何か条件を追加して、tick毎に呼び出されないようにする必要があるかな、と思っていました。今のSTOPとこれから設定されるSTOPを比較した方がいいと思うんです、なんとなく...。
一般的にはなんとも不思議なことです。
スタート 時の条件を追加していました。
if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); }
これでエラーは出なくなりました。
よくわからないのは、MovingStopLossToBU()の 関数自体が、Stop Lossと等しくない場合にのみ変化することです。
では、どのように理解しているのでしょうか。B.U.はもちろんpipsで描画されます。B.U.関数を1ティック毎やバーのオープン時などに呼び出すという意味ですが...。でも、そんなのバカバカしいじゃないですか。1本あたりの価格が大きく跳ね上がることがあります。ということは、ティックワイズと同じような呼び方になるわけですね。今思ったのですが、条件を追加して、tick毎に呼び出されないようにした方がいいのかもしれませんね。今のSTOPとこれから設定されるSTOPを比較した方がいいと思うんです、なんとなく...。
一般的にはなんとも不思議なことです。
開始 条件を追加したら、そのようになりました。
これでエラーは出なくなりました。
よくわからないのは、MovingStopLossToBU()の 関数自体が、Stop Lossと等しくない場合にのみ変化することです。
では、どのように理解しているのでしょうか。あなたの例では、ストップがゼロのとき、それはストップなしでポジションを 開いただけということです。 そして、すでにブレイクイーブンに達している場合をあげました。
しかし、上記をご覧ください、私は損益分岐なしで私のトロールを与えたのですそして、その機能をお渡しすることができます。
理解できない。
どのように編集するのか、どのように理解するのか。
上記をご覧ください!私の間違いのないトローリングをお伝えしました。そして、その機能をお渡しすることができます。
書き込んだ時には、お返事を拝見していませんでした。これから見てみます。
でも、一般的には、あなたの改造機能を見て、自分も何か新しいことを学べるかもしれないので、うれしいです。
あなたの例では、ストップがゼロのとき、それはストップなしでポジションを開いたところということです。そして、すでに損益分岐点になっている場合のケースをあげました。
上記参照、損益分岐のない私のトロールをあげてみましたそして、その機能をお渡しすることができます。
いや、止まらないで。一部分だけ掲載しました。これが私のブレークイーブン関数です。
この行では、計算されたストップがすでにあるストップと同じであれば、何も修正されないことが明確にわかります。そうだろ?では、もともとの小切手は?しかし、修正関数の前のスタートで別の条件を入力するまでは、エラー1が常に出ていました。
if (priceBU != OrderStopLoss()) { MovingStopLossToBU(); }
だからこそ...。というのを考えているんです。すべて説明し尽くしたつもりです。それなら、わからない人は来るところを間違えたんだ。わからないことは勉強する、聞く。そして、何もわからなければ、必要ないのです。
何も理解できないなら、必要ない。 じゃあ、全て理解した上で、ハッキングに見えないようにコードを編集する方法を教えてくれ。初めて掲示板を見たのですが、こんなに素敵な回答があったんですね。
"天才的な人は、天才的な答えを出す"
では、どうすればハッキングにならないようにコードを編集できるのか、みなさんが理解できるように教えてください。 初心者のためのブランチに来たんです。フォーラムで初めて来たのですが、ナイスな回答が返ってきました。
"天才的な人には、天才的な答えがある"。
まずは新規参入の方に。