[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 30

 

本題から外れて申し訳ありません。クローズするEAをご存知の方がいらっしゃいましたら、アドバイスをお願いします。

TPとSLの合計に達すると、口座内のすべてのポジションをクローズするExpert Advisorをご存知でしたら教えていただきたいのです。事前に感謝しています。

 
Chatlanen >> :

本題から外れて申し訳ありません。クローズするEAをご存知の方がいらっしゃいましたら、アドバイスをお願いします。

TPとSLの合計に達すると、口座内のすべてのポジションをクローズするExpert Advisorをご存知でしたら教えていただきたいのです。ありがとうございました。

すべてのテイクアンドロスに到達したら、いずれにせよポジションはすべてクローズされます。質問内容をもう少し具体的に教えてください。

 

コンパイルボタンを押すと、2つのエラーが発生します。

1.行列の中に。

int Fun_Error(int Error) // エラー処理関数

'(' -関数 定義 unexpected C:\UsersPaul﹑Desktop﹑Heiniken M.mq4 (209, 14)
2.行列の中に。

default: Alert('An unidentified error has occurred', Error); // その他のオプション

Error' - variable not defined C:\UsersPàâë↩Desktop﹑Heiniken M.mq4 (242, 53)

Fun_Error()は標準的な関数ですか、それとも書く必要がありますか(この部分のコードは他のEAから引用しました)。

2つ目のエラーは1つ目のエラーに続くもので、何が問題なのか理解できません((.

 

変数名をerrに 変更します。

 
JavaDev >> :

変数名をerrなどに 変更する。

が見つからなくなりました。

 
ファンクションコードを表示する
 
  //-----------------------------------------------------------10-+
int Fun_Error(int Err) // エラー処理 fie
{
スイッチ(Err)
{ // 克服可能なエラー
case 4: Alert("The trade server is busy. Try again...");
Sleep(3000); // 簡単な解決方法です。
return(1); // 関数を終了します。
case 135:Alert("Price changed. Try again...");
RefreshRates(); // データをリフレッシュします。
return(1); // 関数を終了します。
case 136:Alert("No price. Waiting for new tick...");
while(RefreshRates()==false) // 新しいティックを表示する。
Sleep(1); // ループ内の遅延時間
return(1); // 関数を終了します。
case 137:Alert("Broker is busy. Try again...");
Sleep(3000); // 簡単な解決方法です。
return(1); // 関数を終了します。
case 146:Alert("The trading subsystem is busy. Try again...");
Sleep(500); // 単純な判定
return(1); // 関数を終了します。
// クリティカルエラー
case 2: Alert("一般的なエラー;")
return(0); // 関数を終了します.
case 5: Alert("Older version of the terminal.");
Work=false; // もう動作しない
return(0); // 関数を終了します。
case 64: Alert("アカウントがブロックされました。");
Work=false; // もう動作しない
return(0); // 関数を終了します。
case 133:Alert("取引禁止。");
return(0); // 関数を終了します。
case 134:Alert("Not enough money to execute the transaction")と表示されます。
return(0); // 関数を終了します。
default: Alert("An unidentified error has occurred", Err); // その他のオプション
return(0); // 関数を終了します。
}
}
//-------------------------------------------------------------- 11 --
int New_Stop(int Parametr) // ストップ・ピックをチェックします。
{
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// 最小距離
if (Parametr<Min_Dist) // 許容値より小さい場合。
{
Parametr=Min_Dist; // 公差を設定する。
Alert("停止距離が伸びました。")
}
return(Parametr); // 返り値。
}
//-------------------------------------------------------------- 12 --
 
どこかに鳥を数える便利なコンパイラはないでしょうか?コードのエラーを数えるのはとても大変です((
 

Expert Advisorに、午前8時と11時30分に、次のような小さなレポートをメール送信させるようにしたのです。

if(Hour()==8 && Time[z]!= LastTimeHS)
SendMail(""," Balanse "+AccountBalance()+" "+AccountCurrency()+
" \n Total Orders " +OrdersHistoryTotal()+
" \n Open Orders "+OrdersTotal()+
" \n Orders Profit "+AccountProfit()+
" \n Equity " +AccountEquity()+" "+AccountCurrency());
LastTimeHS = Time[z];
return;

if(Hour()==11 && Minute()==30 && Time[z]== LastTimeHS)
SendMail(""," Balanse "+AccountBalance()+" "+AccountCurrency()+
" \n Total Orders " +OrdersHistoryTotal()+
" \n Open Orders "+OrdersTotal()+
" \n Orders Profit "+AccountProfit()+
" \n Equity " +AccountEquity()+" "+AccountCurrency());
LastTimeHS = 0;
return;


このコードは、何らかの理由でExpert Advisorを切断し(間違った場所、最初に置いた)、5分ごとに電子メールを送信します(新しいローソクごとにあるようです)。 何が悪かったのか理解できないので、助けてください...。

 
Reshetov >> :

すべてのテイク&ロスに達した時点で、すべてのポジションはいずれにせよクローズされます。もう少し具体的に説明したほうがいいかもしれませんね。

例えば、5つのポジションをオープンしているとします(TPもSLもなし)、合計利益が+$100または-$100になった時点で、以下の条件に関係なく、すべての注文をクローズする必要があります。

プラスになるかマイナスになるか