タダで面白いことをする - ページ 32

 
inoy:

こんにちは。もしかしたら、どなたかトロールの原型を書いてくださるかもしれませんね。ウェブで調べても似たようなものがない。実際のToR:ストップもプロフィットも動く(TralTP)が、常にpriceの方向にしか動かない、つまり両側のレンジが狭まるだけである。これはすべて簡単で、「トリック」は、SLまたはTPの%(ピップ数ではない)でトロールが変化することです。例:SL = 300、TP = 100のオープンポジションを持っています(合計400 pips = 100%、SL = 75%、TP = 25%の範囲)。価格は+50pips動きました、ストップロスは150pipsに設定されています。価格から150pips、つまり-100。合計で、当初の3/1の比率を維持しています。価格が始点(0)に戻ったので、100ポイントSLするには、TPを+33に移動させなければならないということです。などなど。

値段が動かない(+50、-50)...。技術仕様が 解決できない。というか、解決はできても、自分の思い通りにはならない。トロールは1ティックごとに反応するので、思ったより早くレンジが狭くなってしまいます。全てのティックで狭くなるとは言いませんが、数ポイント通過するとすぐに幅が狭くなります。しかも、5桁どころの話ではなく、トロールはさらに引用に敏感になり、さらに早く範囲が狭まるでしょう。

 
すぐに思いついたのが、このStepという変数です。トロールは "数ポイント "ではなく、例えば現在のSL-TPの25%など、所定の割合の範囲で動くことが望ましい。あるいは、このタスクは一般的には別の方法で解決することができます(オプションとして)。ユーザーは、ユーザーが指定した時間間隔(分)で元のP/L比をチェックする必要があります。意味は変わらないし、発想の本質も変わらない。もっといいのは、両方できることです。
 
inoy:
すぐに考えましたよ、そのためのStep変数なんですから。トロールは「数ポイント」ではなく、例えば現在のスプレッドSL-TPの25%など、所定の割合で動く必要があります。あるいは、このタスクは一般的には別の方法で解決することができます(オプションとして)。ユーザーは、ユーザーが指定した時間間隔(分)で元のP/L比をチェックする必要があります。意味が変わることはなく、発想の本質は変わらない。もっといいのは、両方できることです。

くそ...すみません...ステップのパラメータを誤解していた!:))

それでも、声を大にして思うことを書きます。トローリングに時間を浪費せず、テクニカル分析に頼るべき...。

 
その通りかもしれません。しかし、TAだけでなく、異なるリスク比率での選択の問題を解決する確率論的な分析もある。トロールのアイデアは、Elderが説明したShapiroテストから得ました。
 

こんにちは、私は良いインジケータを見つけました、それは少なくとも20ピップのための明確な信号を与えるが、信号は非常にまれで、予期しない、私はそれらを追跡する時間がない。アラート(ビープ音)を出そうとしたのですが、うまくいきません。50年前から使っていますが、いいものですねー。1年以上使っていますが、いいものですねー。

ここに奇跡がある

ファイル:
 
DDEEDD:

こんにちは、私は良いインジケータを見つけました、それは少なくとも20ピップのための明確な信号を与えるが、信号は非常にまれで、予期しない、私はそれらを追跡する時間がない。アラート(ビープ音)を出そうとしたのですが、うまくいきません。50年前から使っていますが、いいものですねー。1年以上使っていますが、いいものですねー。

これは奇跡です。


インジケータは1バールを覗く。

より正確には、終値を確認したバーにエントリーポイントを描きます。つまり、バーの始値で エントリーするのではなく、1バー遅れた終値でエントリーすることになるのです。

これは、最後のフリップから(nPipsの距離で)終値とトローリングラインを交差させるという分析内容です。

ひらめが丘



 

もちろん損失もありますが、一般的な状況に比べれば微々たるものです。

 

CodeBaseで 面白いインジケータを見つけたので、少し変えてみたいと思います。

の右上に出力します。
ワーキングTF
アプライズ
DnPrise

ライン間の距離(単位:pips

もしかして、誰がリメイクしてくれるんだろう?

ファイル:
 
皆さん、こんにちは。このスレッドの作者のXLab_ZZZテーマを使ったEAで、手っ取り早くジグザグを作りたかったのです。しかし、XLab_ZZZは履歴の先頭からカウントされるので、右側の最初の2つの区切りが必要です。書いたけど、不具合でどこにあるかわからない。肉眼で見てください。もしかしたら、どこに間違いがあるのかがわかるかもしれません。初値に 注目!
//+------------------------------------------------------------------+
//|                                                   1+FZZ_test.mq4 |
//+------------------------------------------------------------------+

 int Step=30;
 string tmp,line[4]; int last_time_signal_ss,last_time_signal_bs;
 double p1,p2,p3,p4,p5; int mp, t1,t2,t3,t4,t5;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
     mp=1; if(Digits==3 || Digits==5)mp=10; 
     for (int i=0;i<4;i++)line[i]="Line"+Symbol()+"_"+i+"_ZZ";
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   DeleteObjects("ZZ");Comment("");
//----
   return(0);
  }

void DeleteObjects(string text) {
   string name;
   for (int i = ObjectsTotal() - 1; i >= 0; i--) {
      name = ObjectName(i);
      if (StringFind(name,text) > -1) ObjectDelete(name);
   }
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  
  Signal();
 //_ObjectSet(line[0], p2,t2,Close[1],Time[0]);
 _ObjectSet(line[1], p3,t3,p2,t2);
 _ObjectSet(line[2], p4,t4,p3,t3);
 _ObjectSet(line[3], p5,t5,p4,t4);
//----
   return(0);
  }
//+------------------------------------------------------------------+
int Signal(){
int x,n;
p1=0;p2=0;p3=0;p4=0;p5=0; t1=0;t2=0;t3=0;t4=0;t5=0;
double hi=High[1], lo=Low[1], c=Close[1]; int th=0,tl=0;

for(int i=1; i<500;i++)
   {
    
    if(p2==0)
    {
    if(High[i]>hi){hi=High[i]; th=Time[i];}
    if(Low [i]<lo){lo=Low [i]; tl=Time[i];}
    if(hi-lo>Step*Point*mp)
      {
       if(c>lo && c<hi ){
                          if(th>tl){p2=hi;t2=th;p3=lo;t3=tl;}
                          if(tl>th){p2=lo;t2=tl;p3=hi;t3=th;}
                          continue;
                         }
       }
    }
    
    if(p2>0 && p4==0)
     {
     n=i;
       if(p3>p2){
                 if(p3-Low [n]>Step*Point*mp){p4=Low [n];t4=Time[n];continue;}
                 if(High[n]>p3)if(p3-Low [n]< Step*Point*mp){p3=High[n];t3=Time[n];}
                }  
       if(p3<p2){
                 if(High[n]-p3>Step*Point*mp){p4=High[n];t4=Time[n];continue;}
                 if(Low[n]<p3){p3=Low[n];t3=Time[n];}
                }  
     }
    
    if(p4>0)
      {
       x=i;
       if(p4>p3){
                 if(p4-Low [x]>Step*Point*mp){p5=Low [x];t5=Time[x];break;}
                 if(High[x]>p4){p4=High[x];t4=Time[x];}
                 
                }  
       if(p4<p3){
                 if(High[x]-p4>Step*Point*mp){p5=High[x];t5=Time[x];break;}
                 if(Low[x]<p4){p4=Low[x];t4=Time[x];}
                 
                }  
      }
    if(p5>0)break;
    
    }

return(0);}

void _ObjectSet(string name, double price1, int time1, double price2,int time2) {
   if(ObjectFind(name)!= -1)ObjectDelete(name); 
   ObjectCreate(name,OBJ_TREND,0,0,0,0,0);
   ObjectSet(name,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSet(name,OBJPROP_COLOR,DodgerBlue);
   ObjectSet(name, OBJPROP_TIME1, time1);
   ObjectSet(name, OBJPROP_PRICE1, price1);
   ObjectSet(name, OBJPROP_TIME2, time2);
   ObjectSet(name, OBJPROP_PRICE2, price2);
   ObjectSet(name,OBJPROP_RAY,false); 
}
 
FION:
スレッドの作者のXLab_ZZZのテーマを元に、EA用のジグザグを手早く作りたかったのです。

第一に、カウントの方向が違う。 第二に、私のジグザグの目的を完全に潰している(笑)。

インジケーターのコードをそのままExpert Advisorに送り込む必要があります。EA起動時に全履歴(または指定したバー以降)を計算しても何も起こりません。