マルチカレンシーアドバイザーに関する質問 - ページ 10

 
rid >> :
しかし、私は - 同時に - すべてのティックに対してトレーリングストップ機能を実装する必要があります。

ポッティングトロールの具体的なメリットは、フィッティングを犠牲にして短い区間でしか確認できません。

原則として、粗いトロールがちょうどいい(ピプシングやスキャルピングトロールでない限り)。

しかし、トロールを使用する際の「開始価格」の最適化のメリットが失われることは、非常に大きな問題です。

最近、ほとんど全てのTCでトレーリングストップを諦めています。

リバースシグナルによるポジションの一部/全部のクローズ(場合によってはリバーサル)がより効果的です。

 

そして、閾値トロールを使用しています。そして、スタートスレッショルドを調整すれば、そこには理由が...。

extern string   ____________= "Параметры Трейлинг стопа";
extern bool UseTrailing = false;
extern int lMinProfit = 150;
extern int sMinProfit = 160;
extern int lTrailingStop = 50;
extern int sTrailingStop = 60;
extern int lTrailingStep = 5;
extern int sTrailingStep = 5;
//--------------------------------------------------------
int start()
  {
  if(Time[0] == prevtime)   return(0);
   prevtime = Time[0];//если появился новый бар , включаемся
//-------------------------------------------------------------------   
if ( UseTrailing) TrailPositions(); //трейлинг стоп

//--------------------------------------------------------------
... ... ... ... ... ... ... ... ... ... ... ... 
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
void TrailPositions() //пороговый трейлинг стоп
{  int Orders = OrdersTotal();
  for (int i=0; i< Orders; i++) {
    if (!(OrderSelect( i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol() && OrderMagicNumber()== Magic) continue; 
    if (OrderType() == OP_BUY) {
      if (Bid-OrderOpenPrice() > lMinProfit*Point) {
        if (OrderStopLoss() < Bid-( lTrailingStop+ lTrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid- lTrailingStop*Point,
                                                    OrderTakeProfit(), 0, Blue);
        }}}
    if (OrderType() == OP_SELL) {
      if (OrderOpenPrice()-Ask > sMinProfit*Point) {
        if (OrderStopLoss() > Ask+( sTrailingStop+ sTrailingStep-1)*Point || 
                                                      OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+ sTrailingStop*Point,
                                                     OrderTakeProfit(), 0, Blue);
        }}}}}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 

一般的に、ポチッとスレッショルドトロールを 使う意味が理解できないのですが?

 

皆さん、こんにちは。また問題発生。

インジケーターで

iCustomが書き込めない。

こんな風に書きました。

double ActivatorBLUE=iCustom(NULL,0,"HL Next Activator", ActivatorPeriod, useFullPeriods,0,1);
//синие уровни на 1 баре
double ActivatorRED=iCustom(NULL,0,"HL Next Activator", ActivatorPeriod, useFullPeriods, 1,1);
//красные уровни на 1 баре
Comment( ActivatorBLUE,"-", ActivatorRED);

しかし、どちらの場合も青レベルの値しか返されません。なぜなんだ!結局のところ、私はそれぞれ1と0のバッファ番号を用意したのです

コメントでも同じ値が表示される - ブルーレベル

これは、インジケーターのinitでバッファを定義する方法です。

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,159);
   SetIndexBuffer(0, SellActivator);//синий
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,159);
   SetIndexBuffer(1, BuyActivator);//красный
   SetIndexEmptyValue(1,0.0);
   if ( useFullPeriods!=0) useFullPeriods=1;
//----
   return(0);
  }

Pozh.提案?アップロード中の指標(指標作成者はRosh)。

ファイル:
 
rid писал(а)>>

皆さん、こんにちは。また問題発生。

インジケーターで

iCustomが書けない。

確認すると、このような感じです。

2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:48 2008.10.28 05:52 testhl EURUSD,H1: 0-1.2547
....
2008.10.29 15:13:48 2008.10.28 05:51 testhl EURUSD,H1: 0-1.2547
2008.10.29 15:13:48 2008.10.28 05:51 testhl EURUSD,H1: 0-1.2547
2008.10.29 15:13:47 2008.10.27 18:49 testhl EURUSD,H1: 1.2414-1.2542
.....
2008.10.29 15:13:47 2008.10.27 18:49 testhl EURUSD,H1: 1.2414-1.2542
2008.10.29 15:13:46 2008.10.27 14:54 testhl EURUSD,H1: 0-1.2612

まだ手をつけていないのですが、どうやら正解のようで、デフォルトのパラメータでインジケータを取り、文字列で値を呼び出すと

Print(iCustom(NULL,0,"HLdNextmActivator",0,1),"-",iCustom(NULL,0,"HLdNextmActivator", 1,1));
 

ありがとうございます。

それは変ですね。突然ですが、私にも効果があります。直らなかった、何もしなかった。

でも、今朝はうまくいかなかったんです2時間かかりました。"きっと..."

今に始まったことではないのですが、気がつきました。シンプルなターキーでシンプルなものをやる。突然、最初から動かなくなった!?

理由もなく!?構造は最もシンプルですが。わかったよ後でもう一度やってみます...。

そして、電源を入れてみると、ほら、そのとおりに動いているではありませんか。

まるで奇跡のような...。

パラボリックで一度だけやったことがあります。パラボリックの「サイン」が変わったらポジションを建てるという 条件を設定しました。

最も原始的な状態であった。テスターでは動かなかった!2日間、私は反則を犯し、何が悪いのか調べようとしました。私はそれを理解することができませんでした。解けなかったので、後で解こうと思って。一日後、電源を入れたら...。- ...時計仕掛けのように動いていた...

 
rid >> :

...............................................ではそして1日後、電源を入れたら...。- 見ると、時計みたいに動いている...。

男は時計屋にやってくる。

- こちらは壊れてしまいました。

整備士が時計を開けると、ゴキブリの死骸が落ちている。

- うまくはいかないでしょうけど。

- なぜダメなのか?

- メカニックは死んでるけど。

 

皆さん、こんにちは。問題が解決できない。

Expert Advisorは、OP_BUYSTOP - 4つの注文など、保留中の注文を 配置します。

OP_BUYSTOPマジック1

OP_BUYSTOPマジック2

OP_BUYSTOPマジック3

OP_BUYSTOPマジック4

価格から所定の距離、所定の間隔で配置します。

さらに価格が下がった場合、与えられたステップで価格に追従するような注文が必要です。

してきました。特に苦労したことはありません。

 

しかし!

私は、すべての注文を修正し、価格の後ろに移動し、サーバーへの不要な要求でブローカーの注意を引く必要はありません。

現在の価格から一番遠い注文が、他の注文を飛び越えて一番近い注文になるようにしたいのです

そして、さらに価格が下降すると、最も遠くにある注文が一貫して価格に近づいてジャンプするようになるのです

数時間考えましたが、解決に至りません。

解決策に近づくこともできない。

あるいは、似たようなものへの言及があるのでは?

I.Kimの支店で機能を発見。しかし、それをどのように適用するかは、まだ明確ではありません。

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

関数 GetIndexByTicket()。この関数は、チケットによるオーダーまたはポジションのインデックスを返します。

IndexByTicket()関数です。この関数は、チケット内の注文またはポジションのインデックス(セットオーダーまたはオープンポジションの 一般的なリストにおけるインデックス番号)を返します。

関数 GetOrderOpenPrice()。最後に発注された注文の設定価格を返します。

 

2つの配列を作成します。1つはチケット番号で、もう1つは値段で。次に、配列を 価格順にソート し、同時にチケット番号を移動させます(接続を切断しないように)。そして、配列の一方の端には最低価格、もう一方の端には最高価格が表示されます。あとは、一番外側のオーダーを一つ変えるだけです。