if (buy_ticket>0 && OrderSelect(buy_ticket,SELECT_BY_TICKET) && OrderType() == OP_BUY)
{
//Code
}
elseif (sell_ticket>0 && OrderSelect(buy_ticket,SELECT_BY_TICKET) && OrderType() == OP_SELL)
{
//If there is an open buy order code here will not be executed//The else is not necessary
}
int init()
{
stoplevel=(MarketInfo(Symbol(),MODE_STOPLEVEL))/10; // get broker's stoplevelif(StopLoss<=stoplevel) StopLoss=stoplevel; // we compare our StopLoss withif(Stoploss<=stoplevel) Stoploss=stoplevel; // stoplevel and adjust it when error occuredif(TrailingStop<=stoplevel) TrailingStart=stoplevel+TrailingStop; // we compared our TakeProfit// as we compared our StopLossif ((StopLoss || Stoploss || TrailingStop) < stoplevel)
{
MessageBox("Please note: If your inputs for StopLoss, Stoploss"+
"\nand/or TrailingStop are below the minimum levels"+
"\nrequired by your broker, they will automatically"+
"\nbe increased to "+StringConcatenate(stoplevel));
}
return(0);
}
はい、注文を再選択する必要があります。
上記のコードでは、チケット番号を格納する新しい変数を作成し、そのチケット番号でトレードを選択することができます。
はい、注文を再選択する必要があります。
上記のコードでは、チケット番号を格納する新しい変数を作成し、そのチケット番号でトレードを選択することができます。
素晴らしい!!!本当にありがとうございます。 何週間もかけてすべてがうまくいきました。 多くのことを学びました。 みなさん、ありがとうございます
申し訳ありませんが、早とちりしてしまいました。 Trailingstopは時々しか作動しないので、コードがまだどこかで壊れていると思います。 これがEA全体です。 誰かチェックして、間違いがあったら教えてください。 ありがとうございました。
,
,
ご指摘ありがとうございます、修正しました。 もう一つ質問があります。 ストップロスがブローカーのSTOP_LEVELより小さい時にメッセージボックスをポップアップさせようとしているのですが、それ以上でもポップアップしてしまいます。どなたか見ていただいて、何が問題か教えていただけないでしょうか。 ありがとうございます。
if ((StopLoss || Stoploss || TrailingStop) < stoplevel)
意味がない
ということですか?
if ((StopLoss < stoplevel || TrailingStop) < stoplevel)
意味がない
ということですか?
皆さんこんにちは、またまた問題が発生しました。 とても不思議なことで、なぜこうなるのか理解できません。 前述の通り、EAは問題なく動作していましたが、今度は単にこれを
に変更しました。
私は他に何も触っていませんが、この単純な変更の後、トレイリングストップもヘッジもトリガーされません。 奇妙です。 コード全体は上記の通りです。
ご回答ありがとうございます。 Trailing stopのコードはこちらです。
Stoplossがある場合、EAは動作し、Trailingstopとヘッジが作動しますが、Stoplossを0に変更すると何も動作しません。 StoplossがTrailingstopとヘッジに影響を与える方法と理由が分かりません。