[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 238

 
Vinin >> :

画面ギリギリまで、表示されています。別ウィンドウで行ってください。

>> "別ウィンドウで" - どうやって?

 
splxgf >> :

ここはプログラミングのフォーラムであって、エリオットチスカのフォーラムではありません...。http://elliottwave.ru/ に行ってみてはいかがでしょうか。

このフォーラムでは、トレーディング戦略、エリオット波動トレーディングについて議論します。

というのも戦略ですよね。

 
dmmikl86 писал(а)>>

"別のウィンドウで" - どうやって?

#property indicator_separate_window
 
dmmikl86 >> :

>> "別ウィンドウで" - どうやって?

同じ荷車に馬を乗せることはできない

馬と震える雌鹿。( с)

インジケータは別ウィンドウで表示しても、どうしても崩れてしまいます。 GPPUSDを1.5で、GBPJPYを145.0で同じチャートに表示するのは、特別な仕掛けがないと非常に不便です。

 

こんばんは!自作EAを作ろうとしているのですが、MAクロスやバッククロスについて、他のEAと似たようなものを作ってしまいました...。

しかし、独自のパラメータでそれを行った・・・。一方向にしかポジションを開かず、閉じることすらしない...。

ここに、ある線を越えて戻ってきたときに閉じる機能を追加するには、どうすればよいのでしょうか...。

全てにおいて、マエストラヘルプ!:-)

....

青い線が上にクロスしたら買い、下にクロスしたら閉じました。

赤い線を上に越えたら売り、下に越えたら閉じる。

写真のように、このシステムはうまくいきません...。

コードを少し助けてください...お願いします!


extern double Lots               = 0.1;
double Points;
int init ()
  {
   Points = MarketInfo (Symbol(), MODE_POINT);
   return(0);
  }
int CalculateCurrentOrders(string symbol)
  {
   int buys=0, sells=0;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
   if( buys>0) return( buys);
   else       return(- sells);
  }
double LotsOptimized()
  {
   double lot= Lots;
   int    orders= HistoryTotal();  
   int    losses=0;                 
   lot=NormalizeDouble(AccountFreeMargin()*0.02/1000.0,1);
   if(3>0)
     {
      for(int i= orders-1; i>=0; i--)
        {
         if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
         //----
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if( losses>1) lot=NormalizeDouble( lot- lot* losses/3,1);
     }
   if( lot<0.1) lot=0.1;
   return( lot);
  }
void CheckForOpen()
  {
double apglav1;
double apglav2;
double apsig1;
double apsig2;
int    res;
   if(Volume[0]>1) return;
   apglav1 =iCustom(NULL,0,"Caska",0,1); // первая линия на 1м баре
   apsig1 =iCustom(NULL,0,"Caska",1,1); // вторая линия на 1м баре   
   apglav2 =iCustom(NULL,0,"Caska",0,2); // первая линия на 2м баре
   apsig2 =iCustom(NULL,0,"Caska",1,2); // вторая линия на 2м баре
     if ( apglav2< apsig2 && apglav1> apsig1)
     {
      res=OrderSend(Symbol(),OP_BUY, LotsOptimized(),Ask,3,"", MAGICMA,0,Blue);
      return;
     }
     if ( apglav2> apsig2 && apglav1< apsig1)
     {
      res=OrderSend(Symbol(),OP_SELL, LotsOptimized(),Bid,3,"", MAGICMA,0,Red);
      return;
     }
  }
  void CheckForClose()
  {
double apglav1;
double apglav2;
double apsig1;
double apsig2;
   if(Volume[0]>1) return;
   apglav1 =iCustom(NULL,0,"Caska",0,1); // первая линия на 1м баре
   apsig1 =iCustom(NULL,0,"Caska",1,1); // вторая линия на 1м баре   
   apglav2 =iCustom(NULL,0,"Caska",0,2); // первая линия на 2м баре
   apsig2 =iCustom(NULL,0,"Caska",1,2); // вторая линия на 2м бар
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false)        break;
      if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) continue;
      if(OrderType()==OP_BUY)
        {
        if( apglav2> apsig2 && apglav1< apsig1) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
        break;
        }
   if(OrderType()==OP_SELL)
        {
        if( apglav2< apsig2 && apglav1> apsig1) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
        break;
        }
}
}
void start()
  {
   if(Bars<100 || IsTradeAllowed()==false) return;
   if( CalculateCurrentOrders(Symbol())==0) CheckForOpen();
   else                                    CheckForClose();
  }
 

エリオットたちは、いつもトレーディングについて語るフォーラムに参加しています。スレッドを作成し、質問してください。そして、ここで質問することができます。私が答えるか、他の誰かが答えるかもしれません。

 
DDFedor >> :

遅まきながらタイマーが始まった...>> 波動解析

サブロックはこのスレもアク禁になりそうだな。

 
Ibiss >> :

青い線を上に越えたら買い、下に越えたら決済する。

赤い線を上に越えたら売り、下に越えたら閉じる。

写真のように、この仕組みはうまくいきません。

コードを少し助けてください...お願いします!


大丈夫なようです。(チラッと見るだけ)。

だけです。この表現

if(音量[0]>1) return;

削除したほうがいい。"これ "はテスターでしか正常に動作しません。しかも、オンラインではほとんど動作しない!

Opening Priceできちんとした仕事をした方がいい。

 

フォーラムユーザーの皆様へ

インジケータを作成 したところ、移動平均(Buf_2)が描画されないという問題が発生しましたので、以下にコードを記載します。

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

extern int average=14;
//---- buffers
double Buf_1[], Buf_2[];


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0, Buf_1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1, Buf_2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    i, 
          Counted_bars=IndicatorCounted();


//----
//====================================================================
// график тела с объемом
double sum_b=0.0;
i=Bars- Counted_bars-1;           // Индекс первого непосчитанного
   while( i>=0) 
      {  
       //----
       if (Close[ i]>Open[ i]) {
         sum_b = sum_b + (Close[ i]-Open[ i])*Volume[ i];
         Buf_1[ i]= sum_b;
         }
         
       if (Close[ i]<Open[ i]) {
         sum_b = sum_b - (Open[ i]-Close[ i])*Volume[ i];
         Buf_1[ i]= sum_b;
         }
         
       if (NormalizeDouble(Close[ i],Digits)==NormalizeDouble(Open[ i],Digits)) {
         Buf_1[ i] = Buf_1[ i-1];
         }
         
       i--;
       //----
      }
//====================================================================
// average
int n=0;
   while( i>=0) 
      {  
       //----
       while( n<= average){
         Buf_2[ i]= Buf_1[ i- n];
         n++;
         }
       
       i--;
       //----
      }

//----
   return(0);
  }
//+------------------------------------------------------------------+
何が問題なのか理解する手助けをしてください。
 

Urain писал(а) >>

サブリックもこの枝を禁止にするつもりだな。

うん、かっこいい。

2Oper.つまり、純粋に波動でトレードするためには、コンピュータ並みの性能を持った頭脳が 必要なのです。まさに、このような性能を持った脳です。つまりこれは、(少なくともB1にはすべての結果が出る)1ヶ月チャートのケースかもしれません。初心者がすべての 可能なシナリオを 計算 し、できればその商品の取引開始以来の全履歴を 考慮に入れることができるのは、1ヶ月に1度だけです。 あるいは、別の方法として、第二波の様子をどうやって知るのか(という質問)に対する答えもあります。反転は第1波から始まる。1の訂正は2です。M15を取ると その 上にあなたがそれを100回行う場合(反転を考慮)、あなたの質問に対する答えは準備ができているそれへの補正(第1および第2波 -パターン)の 動きの始まりを詳細に 表示されます。考慮すべき唯一のものは、市場がしばしば任意の継続せずにパターンを 描くということです、つまり、あなたが現実に、そのようなパターンを見て いる場合ではなく、歴史上、それは傾向が同じ方向に発展した 後にのみ、真とみなすことができるしばしばパターンが壊れます 一般的に、波動でトレードするためには、多くの条件が必要です。

個人的には、これらの特徴のいくつかを持ち合わせていないのです。

1.私はあまり頭がよくありません。

2.非常に複雑なテーマをマスターするために、多くの時間を費やしました。

3.取引商品の冒頭から引用しています。

抽象的な思考。

4.少なくとも1年間は、Whole waveのパターンを頭に入れ(そこに脳が必要)、単にキープするだけでなく、バリアントを持たせることが必要である。補正の種類だけでなく、バリエーションも非常に豊富です。パラメータの最適化と同じで、1つのパラメータと2つの値を追加したら、2倍のバリエーションになり、5つのパラメータを追加したら、1000の値を追加したら?

まあ、そんなことをするほど、私たちには脳みそがないんですけどね。そして、時間が足りないし、引用も足りない。

その他にもいろいろあります。古典的なTAを使う方がはるかに簡単です。個人的には、時間をかけて作ったので、いつも波動解析を使っていますが、VAより全然効果があります。しかし、ほとんどのトレーダーはBAなしで非常にうまくいっています。