[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 489

 
DOCTORS:


連休明けで脳の機能が一部低下しているため、自己申告のレベルが低いのだと思います :(

ポイントは少し違います。

1.Expert Advisorの起動と同時に、預金額の初期値を何らかの変数に代入しています(もちろん初期設定で手動で規定することもできますが、代入の関数を探しています、すでにプログラミング能力の低さを非難されていますが、白人のようにやってみたいのです)。

2.私のシステムは狡猾で、1ロットしか動作しないので、ロットの初期値(例えば)1.0 ...

3.そして主な質問 - 私はそれぞれの有益な貿易の後にしたい、預金は、元と比較され、新しい値(例えば)30%以上だった場合、私は0.1によってロットサイズの値を変更し、すなわち1.0 +0.1、など絶えず(明らかに絶えず変数の古い値、そして再び預金の変数値の割り当て演算子を変更しなければならないというニュアンスがあります)。

とにかく、こんな感じです。


図書館で、I.キムのボリューム管理 ツールや、私が渡した教科書版などを見てください。その仕組みがわかると、自分で簡単に作れるようになるので、まさに必要なことなのですが......。そういうものなんです。それがなければ - まさか - 練習と典型的な問題を解決する - IMHO、まず第一に。予告編を見る - イゴール・キムの資本管理機能
ファイル:
b-lots.mqh  3 kb
 
sss2019:

ファイルディスクリプタは、オープンに成功すると常に0より大きくなるのでしょうか?

このコードで、書き込み用にファイルを開くロジックがあるかどうか確認してください。

の間違いであり、無いなら無いで作成後に誰が閉じるのか?

この場合、ターミナルはオープンエラーを出しますので、FILE_CSV|FILE_READ フラグでファイルの存在を確認する方がよいでしょう。

 
FAQ:

が間違っていて、ファイルがない場合、作成後に誰が閉じるのでしょうか?

そして、この場合、ターミナルはオープンエラーを出しますので、FILE_CSV|FILE_READ フラグでファイルの有無を確認した方がいいです、この場合、ファイルがなければターミナルは無音になります


そうですね......ありますね。ファイルを開いていた場合

  if(Handle >0)
  FileClose(Handle);

ファイルにレコードを 作ったのですが、最後のデリミタが追加されません、チュートリアルでは自動的に追加されると書いてあります。

FileWrite(Handle,"Pair, Min, Max, Open, Close, Moment");
 

そして、なかった場合は、作成しても閉じない。あるいは、余計に閉じる場合(コードの下の方)

デリミタについては、ファイルを開くときに(作成するのではなく)どのようなデリミタを使っても、同じになります。

 


へー、テーマアバターなんだ。:)

2 Roman - ありがとうございます、検討してみます。

 

よくある質問

そして、なかった場合は、作成しても閉じない。あるいは、余計に閉じる場合(コードの下の方)

セパレータ - ファイルを開くときに使用するセパレータが何であっても(作成しない)、同じになります。


だから、なぜそれが冗長であるのか私は理解できない、私はすぐにそれを閉じていない場合は、後でそれを閉じます。正しい開き方、閉じ方の例を教えてください。

 
アラートシグナルを 現在のバーで一度だけインジケータに表示させる方法を教えてください。変数を作って、この変数が値0である間は信号が許可され、信号が鳴った途端に変数が値1になるようにしてみました。でも、うまくいかないんです。
 
sss2019:
アラートシグナルを現在のバーで一度だけインジケータに表示させる方法を教えてください。変数を作って、この変数が値0である間は信号が許可され、信号が鳴った途端に変数が値1になるようにしてみました。でも、うまくいかないんです。

https://docs.mql4.com/ru/basis/variables/static
 
sss2019:
アラートシグナルを現在のバーで一度だけインジケータに表示させる方法を教えてください。変数を作って、この変数が値0である間は信号が許可され、信号が鳴った途端に変数が値1になるようにしてみました。でも、うまくいかないんです。
ファイル:
 
sss2019:
アラートを現在のバーで一度だけ表示させる方法を教えてください。変数を作って、この変数が値0である間はシグナルを許可し、シグナルが発せられるとすぐに変数が値1になるようにしました。でも、うまくいかないんです。


普段はLastBarAlertという変数を作って、アラートが発生したらそこにTime[0]を書き込んでいます。

そして、初歩的なことですが、LastBarAlert!=Time[0]の場合、Alertが表示されます。

if (Signal && LastBarAlert!=Time[0]){
  Alert('Signal detected');
  LastBarAlert=Time[0];
}