KimIVの便利な機能 - ページ 97

 

ターミナルに等距離チャネルを 設定するオプションがあるので、トレンドラインを引く代わりに設定することができます。

トレンドラインの設定と同様の機能はこちらです。

// установка равноудалённого канала
void SetСhannel(string nm,datetime t1,double p1,datetime t2,double p2,datetime t3,double p3,color cl=Red,int st=0,int wd=1,bool ry= False){
// Параметры:
// nm - наименование               (  ""  - текущее время)
// t1,t2,t3 - время открытия бара  (  0   - Time[10]
// p1,p2,p3 - ценовой уровень      (  0   - Low[10])
// cl - цвет линий
// st - стиль линий                (  0   - простая линия)
// wd - ширина линий               (  1   - по умолчанию)
// ry - луч                        (False - по умолчанию)

  if( nm=="") nm=TimeToStr(TimeCurrent(), TIME_DATE| TIME_SECONDS);
  if(ObjectFind( nm)<0){
   ObjectCreate( nm,OBJ_CHANNEL,0, t1, p1, t2, p2, t3, p3);
   ObjectSet( nm, OBJPROP_COLOR, cl);
   ObjectSet( nm, OBJPROP_STYLE, st);
   ObjectSet( nm, OBJPROP_WIDTH, wd);
   ObjectSet( nm, OBJPROP_RAY, ry);
  }
  ObjectSet( nm, OBJPROP_TIME1, t1);
  ObjectSet( nm, OBJPROP_PRICE1, p1);
  ObjectSet( nm, OBJPROP_TIME2, t2);
  ObjectSet( nm, OBJPROP_PRICE2, p2);
  ObjectSet( nm, OBJPROP_TIME3, t3);
  ObjectSet( nm, OBJPROP_PRICE3, p3);
}
 
Roger писал(а)>>

右側にあるようです。

然うは

 
DECIDE >>:

в терминале есть возможность установки равноудалённого канала, можно вместо отрисовки трендовых линий устанавливать его

вот составил функцию по подобию установки трендовой линии

面白い

線と線の間の距離を設定するには?

 

距離は勝手に設定されるので、3点 t1,p1,t2,p2,t3,p3 を指示するだけでよい。

私はこの機能(短い線が1本ある)をあきらめ、トレンドラインを 描く方が簡単で、より有益である。

 
DECIDE >>:

растояние само устанавливается, надо только указать три точьки t1, p1, t2, p2, t3, p3

отказался я от этой функции(там одна линия короткая), проще, нагляднее просто трендовые линии рисовать

線間の距離を設定する

2本目の線は、1本目の線(トレンド線)に対して相対的に、また水平方向に ある一定値(例えば5本)だけ平行に移動することになっています。

これも基準線の設定とトレンドの方向によって、上下にスパイクを切る等距離チャネルです。

 

この関数は,重複する配列から 0 を取り除き,配列の最小値のインデックスを返します.

int ArrMin(double & x[]){
  while( x[ArrayMinimum( x)]==0){
    for(int i=ArrayMinimum( x); i<ArraySize( x)-1; i++){
      x[ i]= x[ i+1];
    }
    ArrayResize( x,ArraySize( x)-1);
  }
  return(ArrayMinimum( x));
}
 

皆さん、こんにちは。

この問題はすでに議論されているかどうかわからないが......。しかし、EAが固定残高で動作するような機能を作ることを提案したかったのです。

EAを最適化 するために必要なことです。

ここにあるのは次のようなものです。EAを起動すると、稼ぎ始めてAccountBalanceが増え始め、EAが使う残高がどんどん増えていきます。

Valanceなどの変数を導入し、そこに金額を設定すると、EAはそれを「見て」、その金額分だけ購入することになります。これにより、EAが動き出すたびに、バランスマネーしか自由に使えないと考え、テスト期間全体を通して、実際の残高変化の要因を除いて、ある日にスイッチを入れたらEAがどのように動くかを信じることができるようになるのです。

この変数で最適化することで、Expert Advisorは今後より正常に動作するようになります。

あとは、そのような機能をコード化するだけです。

私が知っているのはこれだけです。

extern double Balance = 10000;

int init() {

//EA運用開始時の残高を修正する

Balance=AccountBalance。

を返します(0)。

}

int start {

//-------------------------

???

//-------------------------

}

で、何を書けばいいのか?わからない。もし、EAがAccountBalanceを使って、与えられたロットの未決済注文の可能な数を計算する機能を持っていれば、AccountBalance()を変数に置き換えればよいのですが、すべてのEAがこれを明示的に行っているわけではありません。

 

Не знаю, может этот вопрос уже обсуждался... Но я хотел предложить сделать функцию для работы советника с фиксированным балансом.

私はこの問題をこのように解決しました。

私は多くの異なるExpert Advisorsを持っていると私はそれらのいずれかを起動すると、一日に初めて、口座残高は、グローバル変数に 格納されており、これに基づいてExpert Advisorsは、コメント内のチャート上の情報を表示し、ロット数と結果の収入を計算します(利回り:そうそう%)...。

 
DECIDE писал(а)>>

私は多くの異なるEAを持っており、それらのいずれかを起動すると、一日の最初の時間は、口座残高がグローバル変数に保存され、それに基づいてEAがロット数と結果の収入を計算し、コメントでチャートに情報を表示します(利回り:そうであるように%)。

どのようにしたらできるのか、詳しく教えてください。

 

нужна мне такая возможность - параллельного горизонтального смещения (копирования, переноса...) трендовой линии на определенное кол-во баров

ジェロニモは、私の個人的なまたはICQ:9773190でより詳細にアルゴリズムを記述し、スレッドを乱雑にしないようにしましょう

何かお手伝いできることはありますか?

どうすればいいのか、詳しく教えてください。

Nail_Saby、 私は要点を説明しましたが、あなたがどのように、そして何を必要とするかによって、様々な方法で実装することができます。