エラーコード - ページ 4 12345 新しいコメント cockeyedcowboy 2009.12.10 00:37 #31 kvhutch 2010.08.27 18:25 #32 MT4 - Ordersend() のエラー#130 こんにちは。MT4でOrderSend()を使用して注文を生成しようとしていますが、エラー#130が発生し続けています。エラー#130は、ストップロスまたはテイクプロフィットのレベルが現在の市場価格に近すぎることに関連していると理解しています。私はそれらを変化させましたが、成功しませんでした。相対値と実値の両方を使用しました。 1.買いに対する相対的な利益確定と損切りの値を 使用する。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green) のように、相対値を使っています。 2.買いのStoplossとTakeProfitに実際の値を使用する。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green)。 ここで Double StopLoss = NormalizeDouble(StopLoss, Digits); ダブルTakeProfit = NormalizeDouble(TakeProfit, Digits); で、これらの値は外部値として設定されます(例:extern double StopLoss=1.5000, extern double=TakeProfit=1.6000) 私のブローカーはFXCMです。StoplLossとTakeProfitの値を10倍にしてみました。すべての通貨ペアで同じ結果が得られました。 いずれの場合もエラー#130が発生します。何かアイデアはありますか? 乾杯 [WARNING CLOSED!] Any newbie You can add T/P Writing free EAs chris benjamin 2010.08.27 18:48 #33 買いポジションのテイクプロフィットを 設定する場合。TPは Bid+(50*Point) Ask+とは対照的に・・・。 クリス kvhutch 2010.08.27 19:13 #34 すみません、はい、私の入力ミスです。それでも、問題は解決しません。 chris benjamin 2010.08.27 19:48 #35 ordersend関 数の直前にコメントやprintを置き、ストップロスやテイクプロフィットのレベルを出力してみてください。また、ストップロス/tpが最小距離以上であることを確認してください。 これはordersendの前に置いてください。 if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL))) { StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL); } if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL))) { TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL); } クリス FXMan77 2010.08.27 20:31 #36 kvhutch: こんにちは。MT4でOrderSend()を使用して注文を生成しようとしていますが、エラー#130が出続けています。エラー#130は、ストップロスまたはテイクプロフィットのレベルが現在の市場価格に近すぎることに関連していると理解しています。私はそれらを変化させましたが、成功しませんでした。相対値と実値の両方を使用しました。 1.買いの相対テイクプロフィット値とストップロス値を使う ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point,「Long Breakout」16384,0,Green); 2.買いのStoplossとTakeProfitに実際の値を使用する。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green).ここで、Symbol()とTakeProfitの実値を使用します。 ここで Double StopLoss = NormalizeDouble(StopLoss, Digits); ダブルTakeProfit = NormalizeDouble(TakeProfit, Digits); で、これらの値は外部値として設定されます(例:extern double StopLoss=1.5000, extern double=TakeProfit=1.6000) 私のブローカーはFXCMです。StoplLossとTakeProfitの値を10倍にしてみました。すべての通貨ペアで同じ結果が得られました。 いずれの場合もエラー#130が発生します。何かアイデアはありますか? 乾杯 FXCMは5桁の数字です。それとも、どの国のFXCMを使っていますか? kvhutch 2010.08.27 22:50 #37 ご返信ありがとうございます。ええ、ストップロスとテイクプロフィットの 値を確認するためにプリントステートメントを使用しました。プリントアウト上では問題ないように見えました。 私はイギリスのFXCMを使っています。円以外の通貨は小数点以下が5桁(例:GBPUSD:1.55125)。円クロスは3桁です(例:GBPJPY: 132.393)。この場合、値はおそらく10倍されなければならないと思いました。 乾杯 chris benjamin 2010.08.27 22:59 #38 kvhutch: この場合、値はおそらく10倍されなければならないと思っていました。 乾杯 init関数に このようなものがあるのでしょうか? if (Digits == 3 || Digits == 5) { Factor = 10; StopLoss *= 10; TakeProfit *= 10; MaxSpread *= 10; Slippage *=10; } kvhutch 2010.08.28 09:07 #39 いいえ、OrderSend()ステートメントでは、Take Profitと StopLossの値に10を掛けるだけです。これらの値の使用についてもう少し詳しく教えてください。ありがとうございます。 chris benjamin 2010.08.28 12:17 #40 外部変数に10を掛けただけのものです。自分の変数を含めるためにそれらを調整します。しかし、Stoplossのような分数pipブローカーで異なる変数だけを行うのです。 つまり、入力リストでstoplossが20pipsと入力されている場合、ブローカーが小数であれば、自動的に200に調整されます。 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MT4 - Ordersend() のエラー#130
こんにちは。MT4でOrderSend()を使用して注文を生成しようとしていますが、エラー#130が発生し続けています。エラー#130は、ストップロスまたはテイクプロフィットのレベルが現在の市場価格に近すぎることに関連していると理解しています。私はそれらを変化させましたが、成功しませんでした。相対値と実値の両方を使用しました。
1.買いに対する相対的な利益確定と損切りの値を 使用する。
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point, "Long Breakout",16384,0,Green) のように、相対値を使っています。
2.買いのStoplossとTakeProfitに実際の値を使用する。
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green)。
ここで
Double StopLoss = NormalizeDouble(StopLoss, Digits);
ダブルTakeProfit = NormalizeDouble(TakeProfit, Digits);
で、これらの値は外部値として設定されます(例:extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)
私のブローカーはFXCMです。StoplLossとTakeProfitの値を10倍にしてみました。すべての通貨ペアで同じ結果が得られました。
いずれの場合もエラー#130が発生します。何かアイデアはありますか?
乾杯
買いポジションのテイクプロフィットを 設定する場合。TPは
Ask+とは対照的に・・・。
クリス
すみません、はい、私の入力ミスです。それでも、問題は解決しません。
ordersend関 数の直前にコメントやprintを置き、ストップロスやテイクプロフィットのレベルを出力してみてください。また、ストップロス/tpが最小距離以上であることを確認してください。
これはordersendの前に置いてください。
if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL)))
{
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
}
if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL)))
{
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
}
クリス
こんにちは。MT4でOrderSend()を使用して注文を生成しようとしていますが、エラー#130が出続けています。エラー#130は、ストップロスまたはテイクプロフィットのレベルが現在の市場価格に近すぎることに関連していると理解しています。私はそれらを変化させましたが、成功しませんでした。相対値と実値の両方を使用しました。
1.買いの相対テイクプロフィット値とストップロス値を使う
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point,「Long Breakout」16384,0,Green);
2.買いのStoplossとTakeProfitに実際の値を使用する。
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit, "Long Breakout ",16384,0,Green).ここで、Symbol()とTakeProfitの実値を使用します。
ここで
Double StopLoss = NormalizeDouble(StopLoss, Digits);
ダブルTakeProfit = NormalizeDouble(TakeProfit, Digits);
で、これらの値は外部値として設定されます(例:extern double StopLoss=1.5000, extern double=TakeProfit=1.6000)
私のブローカーはFXCMです。StoplLossとTakeProfitの値を10倍にしてみました。すべての通貨ペアで同じ結果が得られました。
いずれの場合もエラー#130が発生します。何かアイデアはありますか?
乾杯FXCMは5桁の数字です。それとも、どの国のFXCMを使っていますか?
ご返信ありがとうございます。ええ、ストップロスとテイクプロフィットの 値を確認するためにプリントステートメントを使用しました。プリントアウト上では問題ないように見えました。
私はイギリスのFXCMを使っています。円以外の通貨は小数点以下が5桁(例:GBPUSD:1.55125)。円クロスは3桁です(例:GBPJPY: 132.393)。この場合、値はおそらく10倍されなければならないと思いました。
乾杯
この場合、値はおそらく10倍されなければならないと思っていました。 乾杯
init関数に このようなものがあるのでしょうか?
{
Factor = 10;
StopLoss *= 10;
TakeProfit *= 10;
MaxSpread *= 10;
Slippage *=10;
}いいえ、OrderSend()ステートメントでは、Take Profitと StopLossの値に10を掛けるだけです。これらの値の使用についてもう少し詳しく教えてください。ありがとうございます。
外部変数に10を掛けただけのものです。自分の変数を含めるためにそれらを調整します。しかし、Stoplossのような分数pipブローカーで異なる変数だけを行うのです。
つまり、入力リストでstoplossが20pipsと入力されている場合、ブローカーが小数であれば、自動的に200に調整されます。