[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 93

 
coronel:

ここにヒントがあります。

エディターには、F1ヒントというクールなトリックがあるんだ。

消去する機能をハイライト表示し、F1キーを押します。

ヘルプが開きますので、関数のパラメータがどうあるべきかをよく調べてください。

関数に投入されるパラメータの量と質も見逃せません。


ありがとうございました。
 
100yan:

異なる時間と一度に部分的に正しく注文を終了する方法を教えてください。何日も悩んだ末に...。

https://www.mql5.com/ru/forum/131277/page69

部分決済後のポジションのロットが決済前より小さく、部分決済が行われたバーが変化していない場合は、再度決済を行わないでください。これは、現在のバーでポジションの一部を「一旦」決済する数多くの方法のうちの一つです。

お客様はポジション(の一部)を閉じるための基準をご自身で定義し、その後、わからないことがあれば私たちがサポートします。

 

こんにちは。

指定した分数経過後にアラートを表示させる方法を教えてください。

Time[]を使いたいのですが、どうしても分からないので、Sleep(60000*step);としました。

ワーキングフレーム M1

extern int  step = 3;   // периодичность появления алерта мин.

static int        prevtime = 0;
//-------------------------------------------
int start()
  {
   if (Time[0] == prevtime) return(0);
   // Запомним текущий бар
   prevtime = Time[0];
//-------------------------------------

   Alert ("прошло ",step," мин.");
   
   //Sleep(60000*step);

//--------------------------------------
   return(0);
  }


 
Zar:

こんにちは。

エキスポで指定した分数経過後にアラートを表示させる方法を教えてください。

Time[]を使いたいのですが、どうしても分からないので、Sleep(60000*step);というようにしました。

ワーキングフレーム M1

 extern int  step = 3;     // периодичность появления алерта в мин.
 datetime  LastAlertTime;

//-------------------------------------
 int start()
  {
//-------------------------------------
       if(TimeCurrent() - LastAlertTime > step*60)
        {    
          Alert ("прошло ",step," мин.");
          LastAlertTime=TimeCurrent();  
        }
//--------------------------------------
   return(0);
  }
 
coronel:

ありがとうございます、うまくいっています。
 
artmedia70:

部分決済後のポジションのロットが決済前より小さく、部分決済が行われたバーが変化していない場合、再度決済を行わない。これは、現在のバーでポジションの一部を「一旦」決済する多くの方法のうちの一つです。

ポジションを閉じる基準(その部分)を定義していただければ、不明な点はサポートします。


+ sergeev - ご感想をありがとうございました。

問題の内容はこちらhttps://www.mql5.com/ru/forum/131277/page69 簡単に説明すると、ある一定のTPレベルに達したときに注文を出し、部分的に決済するというものです。問題は、M5~M30で取引しているのですが、注文がバーではなく、もっと長い期間(D1など)で決済されることです。TP1 に到達すると,1 部のクロージングプラメータがトリガされる,など。注文全体を締め切らないように部品を特定する方法について、解決策が見つからない。(最初に考えたのはTR1の設定でしたが、その後、価格が歩調を合わせて他のパーツのクローズシグナルを出しているので...)

ありがとうございました。

 
100yan:


+ sergeev - ご感想をありがとうございました。

問題の概要はこちらhttps://www.mql5.com/ru/forum/131277/page69 簡単に言うと、注文を出し、ある一定のTPレベルに達したら部分的に決済するというものです。問題は、M5~M30で取引しており、注文がバーで閉じられず、もっと長い期間(D1など)で閉じられていることです。TP1 に到達すると,1 部のクロージングプラメータが起動する,など。注文全体を締め切らないように部品を特定する方法について、解決策が見つからない。(最初に考えたのはTR1の設定でしたが、その後、価格が歩調を合わせて他のパーツのクローズシグナルを出しているので...)

ありがとうございました。

フラグを作成する、など。

TP1用 - bool TP1,TP2用 - bool TP2, etc... ...

初期状態では、それらの値はfalseである。

またクロージングの前に、チェックをするんですね。

if (!TP1) {クロージング成功後、最初の部分の部分クロージングのためのコード TP1=true} を書き込む。

if (!TP2) {第2部を部分的に閉じるためのコード、閉じに成功した後、TP2=true}を書き込む。

...といった具合に、すべてのパーツに対して...

ということは、各パーツがすでに一度クローズされていることを示すフラグになるのでは...。

 
バー3の終値を0から求めるにはどうしたらいいですか?
 
ScioMe:
バー3の終値を0から求めるにはどうしたらいいですか?
  double Bar3Close = iClose(NULL,0,3);   
 
ありがとうございます、こんなこともできるんですね:Close[3]?