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

 
rustein:

最大許容ロット数の計算方法について error: 0.0000 failed [Not enough money].

ありがとうございます。



この チュートリアルのPercent = 100%で計算したものが、あなたのDept.の最大ロットサイズになります。
 
Roman.:

チュートリアルの計算では Percent = 100%で、あなたの部門の最大ロットサイズとなります。

ありがとうございます。このように持っているのですが、どこでエラーになるのでしょうか?

//-----
  double MinLot        = MarketInfo(Symbol(),MODE_MINLOT);
  double MaxLot        = MarketInfo(Symbol(),MODE_MAXLOT);
  double MeansOneLot   = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
  double MeansFree     = AccountFreeMargin();
  double MeansGuaranty = AccountMargin();
  double MaxLotAllowed = MathFloor((MeansFree/MeansOneLot)*100)/100;
//----- Select Lot size
  if(MManagement == true)  Lots=NormalizeDouble(AccountBalance()*MaximumRisk/100.00/100.00,LotsDigits);
  if(MManagement == false) Lots=Lots;
//-----
  if(Lots <= MinLot) Lots=MinLot;
  if(Lots >= MaxLot) Lots=MaxLot;
  if(Lots >= MaxLotAllowed) Lots=MaxLotAllowed;
//+------------------------------------------------------------------+
 

を作成するのに役立ちます。


if(signal)

は線を引く。

最初の黄色は、販売する信号と価格が黄色の線の下に行き、信号がまだそこにある場合は、信号が収まるまで、その上に閉じたラインなどを描画します。

シグナルが黄色い線の上にあり、黄色い線が残っていれば、青い線を引きます。.選択肢を提案する。

信号がどれだけ深いか試したい。

釣りをしているとき、魚が餌を食べようとしたとき、まだ飲み込んでいないとき、どのタイミングで引っ張ればいいのかを理解するのと同じように、魚にはそれぞれ針へのかかり方がありますから、感じるはずです。

それは信号でも同じことだと思います。


始めたはいいが、何がいけなかったのかがわからない。

線の描画が高くなったり低くなったりするのを確認するための適切なチェック方法がわからない。

ファイル:
 

チュートリアルでは、配列はすべて静的で、デフォルトで静的な型を持っていると書いてありましたが、実際には、それほど静的ではないことがわかりました。

同じコード内で、スタティック変数bool tratata1を設定するとその値は保持されますが、bool tratata[1]に置き換えるとその値は保持されません。今回も同じコードで1つだけ変数を変えています。

 
ドキュメントを読む変数タイププログラム実行の 各セクションで詳しく説明されています。
 
FAQ:
私も助けてください、どこが間違いなのでしょうか?
 
AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED)
購入可能な資金で購入できる最大ロット数
 
//-----
  double MinLot        = MarketInfo(Symbol(),MODE_MINLOT);
  double MaxLot        = MarketInfo(Symbol(),MODE_MAXLOT);
  double MeansOneLot   = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
  double MeansFree     = AccountFreeMargin();
  double MeansGuaranty = AccountMargin();
  double MaxLotAllowed = MeansFree/MeansOneLot;
//----- Select Lot size
  if(MManagement == true)  Lots=NormalizeDouble(AccountBalance()*MaximumRisk/100.00/100.00,LotsDigits);
  if(MManagement == false) Lots=Lots;
//-----
  if(Lots <= MinLot) Lots=MinLot;
  if(Lots >= MaxLot) Lots=MaxLot;
  if(Lots >= MaxLotAllowed) Lots=MaxLotAllowed;
//+------------------------------------------------------------------+
よろしくお願いします。
 

この条件でEAを書くにはどうしたらいいか教えてください。

EAが取引を開始する通貨ペアは3つあり、EAは1つのチャートにのみ添付され、他の2つでは単独で動作し、一般的に多通貨で動作します。

2つ目の条件は、いずれかの通貨ペアで価格が一定水準に達すると、取引が開始されます。一度に開くことができるのは1つの案件のみです。

取引終了後、価格が近づけば、Expert Advisorはどのペアでも取引を再開することができます。

静的変数を 設定し、この変数の値がfalseである限り、取引を開くことができ、いずれかのペアで注文が開かれるとすぐに、この変数は値trueを取るようにしました。注文が終了し、forループで取引が見つからなくなると、この変数には再びfalseという値が入ります。

また、例えば各ペアで1回だけ取引を行うべきとすれば、それは各ペアが独自の変数を持っていることを意味します。

もっと合理的な解決策はないのでしょうか?

 
新しいローソク 足が始まったときにシグナルを出すアラートを作る方法を教えてください。
理由: