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

 
OK みんな、どうもありがとう、とても助かった、「根性」で申し訳ない ))
 
Parn25:

みんな、助けてくれーーーー

モーニングチャネル戦略に基づいてExpert Advisorを書こうとしています。本質はこれです:EURGBPペアで6:01に午前6時まで0時からの値動きのチャネルを決定します。 2つの保留注文を設定し、トリガーされた保留注文がストッパーで閉じられたら、反対方向の注文をオープンするのです。うまくいかないのは、戦略の2番目の部分です。すなわち、ストップが発動した場合、逆方向の注文を出すことはできません。

すぐにストップをかけるべし!自動的に起動する

ゴミ箱で見つけたんだけど、もしかしたら便利かもしれないね。

void OrderCloseAll(){
   for (int i=0;i<OrdersTotal();i++)
     if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      if(OrderType()==OP_BUY)
       OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, CLR_NONE);
      else
      if(OrderType() == OP_SELL)
       OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, CLR_NONE);
}

void OrderDeleteAll(int lots){
     for (int i=0;i<OrdersTotal();i++)
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if (OrderType()>1&&OrderType()<6)
         if(OrderLots()==lots){
          OrderDelete(OrderTicket());
          i=0;
         }
}
 //----------------------------------------------------
// покупка
void OpenBuyLIMIT(double lot, double price){
   double   SL = NormalizeDouble(price,Digits) - Loss*Point;
   double TP = NormalizeDouble(price,Digits) + Target*Point-MarketInfo(Symbol(),MODE_SPREAD)*Point;
    OrderSend(Symbol(), OP_BUYLIMIT, lot,  NormalizeDouble(price,Digits), Slippage, SL, TP, NULL, STUPID, 0, Blue);
}
 //----------------------------------------------------
// продажа
void OpenSellLIMIT(double lot, double price){
   double   SL = NormalizeDouble(price,Digits) + Loss*Point;
   double TP = NormalizeDouble(price,Digits) - Target*Point+MarketInfo(Symbol(),MODE_SPREAD)*Point;
   OrderSend(Symbol(), OP_SELLLIMIT, lot,  NormalizeDouble(price,Digits), Slippage,  SL, TP, NULL, STUPID, 0, Red);
}
 //----------------------------------------------------
// покупка
void OpenBuySTOP(double lot, double price){
   double   SL = NormalizeDouble(price,Digits) - Loss*Point;
   double TP = NormalizeDouble(price,Digits) + Target*Point-MarketInfo(Symbol(),MODE_SPREAD)*Point;
   OrderSend(Symbol(), OP_BUYSTOP, lot,  NormalizeDouble(price,Digits), Slippage, SL, TP, NULL, STUPID, 0, Blue);
}
 //----------------------------------------------------
// продажа
void OpenSellSTOP(double lot, double price){
  double   SL = NormalizeDouble(price,Digits) + Loss*Point;
  double TP = NormalizeDouble(price,Digits) - Target*Point+MarketInfo(Symbol(),MODE_SPREAD)*Point;
   OrderSend(Symbol(), OP_SELLSTOP, lot,  NormalizeDouble(price,Digits), Slippage,  SL, TP, NULL, STUPID, 0, Red);
}
ファイル:
 
Parn25:

皆さん、ちょっと助けてください!!!

モーニングチャネル戦略を使ったEAを書こうとしています。本質はこうだ:EURGBPペアで6時01分に我々は0時から午前6時までの値動きのチャンネルを決定します。 2つの保留注文を設定し、トリガーされた保留注文がストッパーで閉じられたら、反対方向の注文をオープンするのです。うまくいかないのは、戦略の2番目の部分です。すなわち、ストップが発動した場合、逆方向の注文を出すことはできません。
保留中の注文がある例では、おおよそ次のようになります。
ファイル:
 
costy_:
振り子を使った例は、こんな感じです。
OKありがとう、試してみます!!!!
 

こんにちは。

今日は週末なので、ビジュアルテスターしか動いていないのですが :) Strategy Testerでインジケータの値をファイルにアンロードするスクリプトを起動しましたが、現在のリアルな日付(10月28日23時55分)からアンロードされてしまいます。

ビジュアルテスタの最後のバーの値(時間)をスクリプトに転送するにはどうすればよいですか?

int start =iBarShift(NULL,0,Time[2200+EndB-1]);
int end   =iBarShift(NULL,0,Time[EndB]);

テスターの最後のバーの値 - スクリプトEndBで渡すと計算する方法は?

追伸:最後の手段として、Expert Advisorに全てのスクリプトコードを入れるなど。

 

こんにちは。

教科書を勉強しているのですが、学習教材について質問させてください。もし、このような質問のための別トピックがあれば、リンクを貼っていただけるとありがたいです。

ROCインジケータを勉強しています(コードは添付ファイルにあります)。

私の理解が正しければ、インジケーターのロジックは次のようになります。

電流グラフでは、基準となるMAを取り、そこから速度変化Vの直線を描く。

さらに次の(より大きな)TFのMAが計算されるが表示されず、次のラインVがそこから計算される。

次の時間枠でも同じように行います。

質問:与えられたレコードが理解できません。

extern int Bars_V =13; // 速度計算のためのバー数
インジケータコードの説明では、2本のバーの差として速度を計算すると書いてあります。

そして、さらに......。

このインジケータのコードをMT4にダウンロードしたところ、H4では現在のバーではなく、履歴によると約9~10日前のバーに表示 されます。

他の時間軸では大丈夫です。なぜそうなのでしょうか。

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

ファイル:
my_roc.mq4  8 kb
 

ごきげんよう。

すべてのオープンポジションは、指定された時間間隔の後に閉じなければなりません。つまり、オープンポジションの寿命は、選択された間隔に対応しなければなりません。

質問です。 OrderOpenTime() 以外に解決策はありますか

 
Zar:

こんにちは。

今日は週末なので、ビジュアルテスターしか使えません :) テスターでインジケータの値をファイルにアンロードするスクリプトを起動するのですが、現在の実日付(10月28日23時55分)からアンロードしてしまいます。

ビジュアルテスタの最後のバーの値(時間)をスクリプトに転送するにはどうすればよいですか?

テスターの最後のバーの値 - スクリプトEndBで渡すと計算する方法は?

追伸:最終手段として、Expert Advisorに全てのスクリプトコードを入れるなど。

スクリプトはそう簡単にテスタータイムを見つけられないので(インジケータは見つけるが)、test.EAの開始時に添付することができる。

int start()
{
GlobalVariableSet( "Time_test", Time[0]) ;
.....................

で、スクリプトの中で

datetime time_start=GlobalVariableGet( "Time_test");

はやくて確実な

 
Operr:

ごきげんよう。

すべてのオープンポジションは、指定された時間間隔の後に閉じなければなりません。つまり、オープンポジションの寿命は、選択された間隔に対応しなければなりません。

質問です。 OrderOpenTime()以外の解決策はあるのでしょうか?

オプションはたくさんあります。例えば、ファイルにオープンタイムを書き込むこともできますが、オープンオーダーをスクロールして残り時間を比較する方が簡単でしょう。

一般に、リフレーズ ..."すべてのオープンポジションは、指定された時間間隔 後にクローズされなければならない "個々のポジションについて(私は質問をそのように理解しました)。

 
LOA:

こんにちは。

教科書を勉強しているのですが、学習教材について質問させてください。もし、このような質問のための別トピックがあれば、リンクを貼っていただけるとありがたいです。

ROCインジケータ(コードは添付ファイル)を理解しようとしています。

私の理解が正しければ、インジケーターのロジックは次のようになります。

電流グラフでは、基準となるMAを取り、そこから速度変化Vの直線を描く。

さらに次の(より大きな)TFのMAが計算されるが表示されず、次のラインVがそこから計算される。

次のタイムフレームも同じです。

質問:このレコードがわかりません

extern int Bars_V =13; // 速度 計算のための小節数
インジケーターコードの説明には、2本のバーの値の差として速度を計算することが記載されています。

そして、さらに......。

MT4でこのインジケーターを読み込んだところ、H4では現在のバーではなく、履歴によると約9~10日前のバーに表示されます。

他の時間軸ではすべてOKです。なぜそうなのでしょうか。

あらかじめご了承ください。

"larger TF" - いいえ、同じMAですが、データはオフセットSh_1で取得されます re Sh_1=Bars_V; // 測定速度の期間(バー)です。

「次のタイムフレームでも同様」 - いいえ、最初にスイッチがあります(各タイムフレームの係数は異なるK2、 K3 です)。

    switch(Period())                 // Расчёт коэффициентов для..
     {                             // .. различных ТФ
      case     1: K2=5;K3=15; break;// Таймфрейм М1
      case     5: K2=3;K3= 6; break;// Таймфрейм М5
      case    15: K2=2;K3= 4; break;// Таймфрейм М15
      case    30: K2=2;K3= 8; break;// Таймфрейм М30
....
Period_MA_2 =K2*Period_MA_1;   // Расчётн.период МА для ближ. ТФ
Period_MA_3 =K3*Period_MA_1;   // Расчётн.период МА для след. ТФ

次のTFのMA期間を計算 する "という定義は正しくありません、間違いは常に教科書に存在します(特に "物語 "は非常に似ています)。

"質問:以下のエントリーが理解できません。

extern int Bars_V =13; // 「速度計算のための小節数」コードでさらに検索 Bars_V ...

   Sh_1=Bars_V;                   // Период измерен скорости (баров)

であれば、Sh_1 とは何か、この値はオフセット MA 1 速度線、など である。

// Предназначен для использования в качестве примера в учебнике MQL4.
例えが良くないので、標準的な指標からもっと簡単なものを読んでください...