どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 911 1...904905906907908909910911912913914915916917918...1178 新しいコメント Vitalie Postolache 2015.07.05 16:47 #9101 Viktorline14: みんな助けてくれーーーーEAのテキストをコピーするよりも、スクリーンショットを作ってここに投稿する方が簡単なのでしょうか?スクリーンショットからMEに手入力し、解明しようとする人がいると思いますか?コンパイラが関数の結果をチェックするように言っている場合は、チェックする必要があります。難しいことではないんです。if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue)) Print("Opening Buy error #", GetLastError()); //ну и другие действия по усмотрению, в случае ошибки Murzin 2015.07.05 17:10 #9102 if(S1a == S1b && S1a<20.0000 && S1b<20.0000 ) {OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, SL, TP, NULL, 0, 0,clrBlue); MyOrderStateB = 1; if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue)) Print("Opening Buy error #", GetLastError());} else Sleep(2);ありがとうございます。正しいのか間違っているのか、警告はまだ出ますが Any rookie question, so [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. My script does not Alexander 2015.07.05 17:12 #9103 ストップロスやテイクプロフィットは絶対値で持っているので、Bid - Sl*Pointのような相対値で必要です。 Nauris Zukas 2015.07.05 17:12 #9104 abeiks:こんにちは。私のExpert Advisorでは、直前のローソク足を確認し、条件が許せばポジションを建て、許せなければ建てないようにしています。問題は、直前のローソク足の状態を確認する前にポジションが開設されることです。それから、ジャーナルでポジションが開いているのを見て、開いてはいけないとわかる。どうすれば直るのか? ありがとうございます、自分でもわかってきました。ポジションを開く 関数の上に、直前のローソク足を確認する関数を置きました。 Murzin 2015.07.05 17:21 #9105 杜撰な表現で申し訳ありません Murzin 2015.07.05 17:22 #9106 if(S1a == S1b && S1a<20.0000 && S1b<20.0000 ){OrderSend(Symbol()、OP_BUY、OrderValue、NormalizeDouble(Ask、Digits)、Slippage、Bid - SL * Point、 Ask + TP * Point、NULL、0、0、clrBlue);MyOrderStateB = 1;if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue))を実行します。Print("Opening Buy error #", GetLastError());}。else Sleep(2);if(S1a == S1b && S1a>80.0000 && S1b>80.0000 ){OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), Slippage, Ask + SL * Point, Bid - TP * Point , NULL, 0, 0,clrRed).です。MyOrderStateS = 1; }.else Sleep(2);そして、relativeでも同じものが出ます( Any rookie question, so My script does not 初心者の方からの質問 MQL4 MT4 MetaTrader Vitalie Postolache 2015.07.05 17:34 #9107 Viktorline14: if(S1a == S1b && S1a<20.0000 && S1b<20.0000 ) {OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, SL, TP, NULL, 0, 0,clrBlue); MyOrderStateB = 1; if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue)) Print("Opening Buy error #", GetLastError());} else Sleep(2);ありがとうございます。正しいのか間違っているのか、警告はまだ出ますが間違っている、OrderSendを2回呼ぶ必要はない。そして、SLとTPはpips単位ではなく、価格との相対値で計算すべきです。また、AskとBidの建値ではなく、SLとTPの計算結果を正規化する必要があります。一般的には、「学び、学び、また学ぶ」 )))) Murzin 2015.07.05 17:52 #9108 evillive:間違っている、OrderSendを2回呼ぶ必要はない。そして、SLとTPはポイントではなく、価格との相対値で計算する必要があります。また、AskとBidの建値ではなく、SLとTPの計算結果を正規化する必要があります。一般的には、「学び、学び、また学ぶ」 )))) ありがとうございました)))おかげですべてがうまくいきました:3 Murzin 2015.07.05 18:01 #9109 今回もありがとうございました今ひとつ問題があって、EAは私が望んだように1つの注文ではなく、複数の注文を連続して開くのです(int start() { S1a = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_MAIN, 1), 0); S1b = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_SIGNAL, 1), 0); if(MyOrderStateB == 1)Sleep(300000); else MyOrderStateB = 0; if(MyOrderStateS == 1)Sleep(300000); else MyOrderStateS = 0; if(S1a == S1b && S1a<20.0000 && S1b<20.0000 ) if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, Bid - SL * Point, Ask + TP * Point, NULL, 0, 0,clrBlue)) Print("Opening Buy error #", GetLastError()); else Sleep(2); MyOrderStateB = 1; if(S1a == S1b && S1a>80.0000 && S1b>80.0000 ) if(!OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), Slippage, Ask + SL * Point, Bid - TP * Point , NULL, 0, 0,clrRed)) Print("Opening Sell error #", GetLastError()); else Sleep(2); MyOrderStateS = 1; return(0);} Any rookie question, so My script does not 初心者の方からの質問 MQL4 MT4 MetaTrader Владимир Тезис 2015.07.06 07:34 #9110 ストラテジーテスターで 不思議な挙動を確認しました。私のEAは、保留中のストップオーダーを設定し、トラブっています。次のようなことが起こります。エキスパートアドバイザーは、買いストップと売りストップを現在の価格から30ピップに設定します(シンボル - GbpUsd、4桁、最小レベル = 3ピップ)。しばらくすると、トリガーがかかっていない場合は、マーケットに追従して引き上げられます。だから、私が見るもの。改造が成功し、改造が成功し、ある時点でスラムとエラー#1がポップアップ表示されます。つまり、すべてがうまくいっていて、EAも同じ動作をしていたのに、突然このエラーがポップアップするのです。価格はすべて桁に正規化されています。一般に、OrderModify()関数の入力に渡されるすべての値は正規化されます!テスターでEAがこのような動作をする理由は何でしょうか? 1...904905906907908909910911912913914915916917918...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
みんな助けてくれーーーー
EAのテキストをコピーするよりも、スクリーンショットを作ってここに投稿する方が簡単なのでしょうか?スクリーンショットからMEに手入力し、解明しようとする人がいると思いますか?
コンパイラが関数の結果をチェックするように言っている場合は、チェックする必要があります。難しいことではないんです。
if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
{OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, SL, TP, NULL, 0, 0,clrBlue);
MyOrderStateB = 1;
if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue))
Print("Opening Buy error #", GetLastError());}
else Sleep(2);
ありがとうございます。正しいのか間違っているのか、警告はまだ出ますが
こんにちは。
私のExpert Advisorでは、直前のローソク足を確認し、条件が許せばポジションを建て、許せなければ建てないようにしています。問題は、直前のローソク足の状態を確認する前にポジションが開設されることです。それから、ジャーナルでポジションが開いているのを見て、開いてはいけないとわかる。どうすれば直るのか?
else Sleep(2);
そして、relativeでも同じものが出ます(
if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
{OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, SL, TP, NULL, 0, 0,clrBlue);
MyOrderStateB = 1;
if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue))
Print("Opening Buy error #", GetLastError());}
else Sleep(2);
ありがとうございます。正しいのか間違っているのか、警告はまだ出ますが
間違っている、OrderSendを2回呼ぶ必要はない。そして、SLとTPはpips単位ではなく、価格との相対値で計算すべきです。また、AskとBidの建値ではなく、SLとTPの計算結果を正規化する必要があります。
一般的には、「学び、学び、また学ぶ」 ))))
間違っている、OrderSendを2回呼ぶ必要はない。そして、SLとTPはポイントではなく、価格との相対値で計算する必要があります。また、AskとBidの建値ではなく、SLとTPの計算結果を正規化する必要があります。
一般的には、「学び、学び、また学ぶ」 ))))
今回もありがとうございました
今ひとつ問題があって、EAは私が望んだように1つの注文ではなく、複数の注文を連続して開くのです(
int start()
{ S1a = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_MAIN, 1), 0);
S1b = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_SIGNAL, 1), 0);
if(MyOrderStateB == 1)Sleep(300000);
else MyOrderStateB = 0;
if(MyOrderStateS == 1)Sleep(300000);
else MyOrderStateS = 0;
if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, Bid - SL * Point, Ask + TP * Point, NULL, 0, 0,clrBlue))
Print("Opening Buy error #", GetLastError());
else Sleep(2);
MyOrderStateB = 1;
if(S1a == S1b && S1a>80.0000 && S1b>80.0000 )
if(!OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), Slippage, Ask + SL * Point, Bid - TP * Point , NULL, 0, 0,clrRed))
Print("Opening Sell error #", GetLastError());
else Sleep(2);
MyOrderStateS = 1;
return(0);}
ストラテジーテスターで 不思議な挙動を確認しました。私のEAは、保留中のストップオーダーを設定し、トラブっています。次のようなことが起こります。エキスパートアドバイザーは、買いストップと売りストップを現在の価格から30ピップに設定します(シンボル - GbpUsd、4桁、最小レベル = 3ピップ)。しばらくすると、トリガーがかかっていない場合は、マーケットに追従して引き上げられます。だから、私が見るもの。改造が成功し、改造が成功し、ある時点でスラムとエラー#1がポップアップ表示されます。つまり、すべてがうまくいっていて、EAも同じ動作をしていたのに、突然このエラーがポップアップするのです。価格はすべて桁に正規化されています。一般に、OrderModify()関数の入力に渡されるすべての値は正規化されます!
テスターでEAがこのような動作をする理由は何でしょうか?