voidOnTick() { Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1); //находим процент просадки и округляем до 1 знака if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3) //если просадка больше заданного и начата новая свеча на 4ч таймфрейме { Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале //Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно // пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры") //что то не выходит } }
.prıvet.podzajająteは、デモ画面では、そのようなことをする必要はないでしょう。
トレードを無効にする.oshıbka
罪はない、何を誓うのか。
コンパイラーエラーとは
この関数はグローバルでなければならず、カンマを置く意味がない場所でカンマを待っていることに関係があるようです例えば、ブローカーと取引ペアの情報の区切りでは
ダミーにひとこと。ライブ口座の 開設方法を教えてください。
なし」とはどういう意味ですか?チケットでソートする - 必ず順番があり、ドキュメントとの矛盾はない、チケットではなくシリアル番号でソートすることについて書かれている、それらは異なるものである。
ある瞬間のオーダーはこのようなリストになっています(チケット別)。
- 1位を 買う
- 2位を 購入
- バイストップ3号
- 4番を 売る
リスト内のチケットの順番は、#1,#2,#3,#4 です。BuyStop#3の 後、チケットはどのような順番でリストアップされるのでしょうか?
1,#2,#4,#3 でしょうか?
だから、チケットも秩序を保証するものではないのです。
もう一つの問題は、私が遭遇したことです判断しないでください、私は2-3週間語学を勉強してきました、もしかしたら私が馬鹿なだけかもしれません
Expert Advisorのタスクは、口座の自由証拠金が一定の値を追加した場合、4時間ごとに電子メールでトレーダーに通知することです。
メッセージの件名には、ブローカー名と取引ペアを、本文には「危険!」と書いてください。ドローダウンが限界を超えている。必要な措置を講じること」。
コンパイラが不調で、英語が苦手で、何がエラーなのかわからない!
double Sag;
void OnTick()
{
Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1); //находим процент просадки и округляем до 1 знака
if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3) //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
{
Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит
}
}
追記:一般的にはこの種の問題にはもっと簡単な解決法があるのかもしれませんが、今のところこの方法しか見当たりません)
//| exTestSendMail.mq4 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
#property strict
input double MessageMail = 50.0;
//---
double Sag=0;
string MailSubject="";
datetime PrevTime=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
MailSubject="Mail from EA "+MQLInfoString(MQL_PROGRAM_NAME);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//--- Находим процент просадки и округляем до 1 знака
Sag=NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_MARGIN_FREE)/AccountInfoDouble(ACCOUNT_BALANCE)),1);
//--- Если открыт новый бар на H4
if(iTime(Symbol(),PERIOD_H4,0) !=PrevTime) {
//--- если просадка больше заданного
if(Sag>MessageMail) {
Alert(Symbol(), ": Просадка = ", DoubleToString(Sag,1), " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале
string MailText=AccountInfoString(ACCOUNT_COMPANY)+" > Опасность! Просадка ("+DoubleToString(Sag,1)+"%) привысила допустимое значение. Примите необходимые меры.";
SendMail(MailSubject,MailText);
}
PrevTime=iTime(Symbol(),PERIOD_H4,0);
}
}
//+------------------------------------------------------------------+
ありがとうございました。手紙を送る設定に!
戻り値 '' OrderClose を確認する必要が あります'' を修正する方法?
プログラマーの皆様、この仕事の初心者を助けてください。
EAは、一定時間経過後に順次、買い注文と売り注文を開いています。以前の注文を全て修正したい(具体的には、以前の注文は全て最後の注文のTake Profitで決済すること)。すなわち、最後の買い注文と前の売り注文が同じであれば、前の注文のストップロスは、前の注文のテイクプロフィットレベルに設定されます。
もし、前回の買いが買いの場合、そのTakeProfitは前回のTakeProfitのレベルに設定されます。ポイントは、最後の注文のtakeprofitが来たときに、すべての注文を決済することです)。
どのように実装すればいいのかわかりにくいですが、わかりやすく説明できたかと思います。よろしくお願いします。
未決済の注文をすべて調べて修正することは理解できますが、最後の注文をスキップするにはどうすればよいのでしょうか。