初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 79

 

こんにちは、このような素朴な疑問があります。まず、片方にトレードを開き、スプレッドを支払います。次に、同じロットの反対売買を行い、そこからスプレッドも取ります。つまり、これらの取引をお互いに決済すると、2つのスプレッドを支払うことになるのですね。

 

数行のコードをアドバイスしてください。

1)フクロウを、例えば10秒に1回動作させる方法

2) この価格で保留中の注文がなければ、保留中の注文を設定 する。

3) 該当する場合、設定された(オープン)注文の差額の計算方法をアドバイスしてください。

 
Rustem71:


ティックが届いたらやりたいことを教えてください。

余計なお世話が多いですね。

そして、コードを正しく書くこと、ブラケットを省略しないこと。条件に中括弧を書くことになっているのなら、書くべきでしょう。コードを理解しやすくなります。コツをつかんだら、省略するようになるかもしれません。

ティックの解説を待っています。


アイデアは、2保留中の注文は、例えば、すぐにSELLSTOPを削除し、同じ場所にSELLSTOPを入れていますが、ダブルロットで、最初のロットで動作し、最初に開かれるということです BUYSTOP *2ロットを置く売り、その後、例えばトリリングストップをトリガしない場合と傾向が*2ロットと保留を入れて好転。 そして、プラスで損失なしで来る場合、このように0.05が停止末尾を置かれるようにします。こんな感じ!!!もし、最適化の方法+私のミスに対するコメントを教えていただければ、非常にありがたいです。私は1つの保留中の注文の場所を持っている理由を理解することはできませんが、保留中の注文は、預金の総排出まで開きます
 
Akinak:
見てください何がいけなかったのか、説明していただけると助かります注文を開かずに、あるいはループで束を開いて、すべて試しました

1以上の場合(よりシンプルに0より大きい場合) - 開けない、バイカも同じようにする。

と、その逆になっていますね。

if(s==1)

だから、こんな感じになるはずです。

if(s==0)
{ 
//открываем селл
}
 
Akinak:
ぜひご覧ください。何がいけなかったのか、説明していただけると助かります私だけが試していないように、または順序を開くか、または周期によってパックを開きます!!!!


もし、私が正しく理解していれば、次のようになります。あとは、あなた次第です。

そして、コードをきちんと書くこと。

ファイル:
888.mq4  8 kb
 
こんにちは!この機能で助けてください!もう疲れきってしまって、正しいやり方がわかりません。私は、パラメータ、私のコンピュータの時間を入力することができるだろうことが必要です。ありがとうございました。
extern bool    HOUR = false;             // Часы Вкл (true) / Выкл (folse)
extern string  TimeBegin = "13:30";      // Время начала (ЧЧ:ММ)
extern string  TimeEnd   = "17:00";      // Время окончания (ЧЧ:ММ)
//Отправляет true если по времени разрешено торговать
bool isTradeTimeString()
{
 datetime hbegin = StrToTime(TimeBegin) + TimeGMTOffset();
 datetime hend = StrToTime(TimeEnd) + TimeGMTOffset();
 
 datetime dtBegin, dtEnd;        // Время начала и окончания работы
 int      hc, he;                // Часы текущего времени и окончания работы

 dtBegin=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+TimeToStr(hbegin,TIME_MINUTES));
 dtEnd=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+TimeToStr(hend,TIME_MINUTES));
 hc = TimeHour(TimeCurrent());
 he = TimeHour(dtEnd);
 if(dtBegin>=dtEnd)
 {
  if(hc>=he)
   dtEnd+=24*60*60;
  else
   dtBegin-=24*60*60;
 }
 if(HOUR==true)
 {
  if(TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd)
   return(true);
  else
  {
   if(CountTrades()==0)
    return(false);
  }
 }
 return(true);
}
 
Arseniy Barudkin:
こんにちは!この機能で助けてください!もう疲れきってしまって、正しいやり方がわかりません。私は、パラメータ、私のコンピュータの時間を入力することができるだろうことが必要です。ありがとうございました。
タイムローカル()
 
Rustem71:


正しく理解できたなら、こんな感じです。ここからはあなたがやってください。

そして、コードをきちんと書くこと。


ありがとうございました! とても助かりました私はまだそのような機微を知らなかった書き込みの2週間ちょっとです!。
 
フォーラムメンバーの皆様、こんにちは!簡単なEAを作成すると、エラーが発生します。その理由を教えてください。
ファイル:
meryjj.jpg  197 kb
 
naravat:
フォーラムメンバーの皆様、こんにちは!簡単なExpert Advisorを作成すると、エラーが発生します。その理由を教えてください。

returnの後に括弧を付け、その中に関数の型と同じ型の値を書かなければならない。