ポジションをクローズする。オン表示信号です。 - ページ 8

 
Lukyanov:

当期純利益 6157.73


セルゲイ、6,000〜9,000回の取引で6,000ドルの利益。

1.日本法務省とは?

2.1日1,500件の取引-それに耐えられるブローカーがあるのか?

 

みなさん、こんばんは。もうひとつ問題がありました。式の書き方をご存知の方、教えてください。

hann = iCustom(... ... ... ) インジケータ用

少なくとも最も基本的な形は、Lbパラメーターと小節番号を設定することです...。

/+------------------------------------------------------------------+
//|                                                          SSL.mq4 |
//|                                                          Kalenzo |
//|                                      bartlomiej.gorski@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Kalenzo"
#property link      "bartlomiej.gorski@gmail.com"
//----
#property indicator_buffers 1
#property indicator_color1 Blue
extern int Lb=10;
double ssl[],Hld,Hlv;
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexBuffer(0,ssl);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit() {   return(0);  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
   for(int i=Bars-Lb;i>=0;i--)     {
      if(Close[i]>iMA(Symbol(),0,Lb,0,MODE_SMA,PRICE_HIGH,i+1))
         Hld=1;
      else        {
         if(Close[i]<iMA(Symbol(),0,Lb,0,MODE_SMA,PRICE_LOW,i+1))
            Hld=-1;
         else
            Hld=0;
        }
      if(Hld!=0)
         Hlv=Hld;
      if(Hlv==-1)
         ssl[i]=iMA(Symbol(),0,Lb,0,MODE_SMA,PRICE_HIGH,i+1);
      else
         ssl[i]=iMA(Symbol(),0,Lb,0,MODE_SMA,PRICE_LOW,i+1);
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
以下はそのチャートです。
 
rid:

みなさん、こんばんは。もうひとつ問題がありました。式を書くことができる人、助けてください

hann =iCustom(... ... ... ) インジケータ用

iCustom( Symbol(), Period(), "SSL", indLb, 0, bar );
 

komposter さん、ありがとうございます。

 

こんにちは。アドバイスをお願いします。

mt4にはForce-indexというインジケーターがインストールされています。バイポーラで、t.0にミッドラインがあります。

以下はそのコードである。

#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
 
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int ExtForcePeriod=13;
extern int ExtForceMAMethod=0;
extern int ExtForceAppliedPrice=0;
//---- buffers
double ExtForceBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string sShortName;
   SetIndexBuffer(0, ExtForceBuffer);
//---- indicator line
   SetIndexStyle(0,DRAW_LINE);
//---- name for DataWindow and indicator subwindow label
   sShortName="Force("+ ExtForcePeriod+")";
   IndicatorShortName( sShortName);
   SetIndexLabel(0, sShortName);
//---- first values aren't drawn
   SetIndexDrawBegin(0, ExtForcePeriod);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Force Index indicator                                            |
//+------------------------------------------------------------------+
int start()
  {
   int nLimit;
   int nCountedBars=IndicatorCounted();
//---- insufficient data
   if(Bars<= ExtForcePeriod) return(0);
//---- last counted bar will be recounted
   if( nCountedBars> ExtForcePeriod) nCountedBars--;
   nLimit=Bars- nCountedBars;
//---- Force Index counted
   for(int i=0; i< nLimit; i++)
      ExtForceBuffer[ i]=Volume[ i]*
(iMA(NULL,0, ExtForcePeriod,0, ExtForceMAMethod, ExtForceAppliedPrice, i)-
iMA(NULL,0, ExtForcePeriod,0, ExtForceMAMethod, ExtForceAppliedPrice, i+1));
//---- done
   return(0);
  }


しかし私の仕事は、インジケータの全体をプラス(またはマイナス、関係なし)ゾーンに描くことです。

プログラム的に行うには

つまり、double force=(iForce+10)のようにするのではなく、プログラム的にするのです!

この目的のために、コードに何を追加(挿入)すればよいかご存知の方、アドバイスをお願いします。

 
rid >> :

しかしインジケータ全体をプラス(またはマイナス、何でもよい)ゾーンに描画する必要があります。

知っている人、教えてください!このためにコードに何を追加すればいいのでしょうか?

IMHOでは、シグモイドラッパーが必要だと考えています。バッファは0から1の値を持つことになる。

for(int i=0; i< nLimit; i++)
      ExtForceBuffer[ i]=Volume[ i]*
(iMA(NULL,0, ExtForcePeriod,0, ExtForceMAMethod, ExtForceAppliedPrice, i)-
iMA(NULL,0, ExtForcePeriod,0, ExtForceMAMethod, ExtForceAppliedPrice, i+1));

//заменяем на 

for(int i=0; i< nLimit; i++)
{
         ExtForceBuffer[ i]=Volume[ i]*
   (iMA(NULL,0, ExtForcePeriod,0, ExtForceMAMethod, ExtForceAppliedPrice, i)-
   iMA(NULL,0, ExtForcePeriod,0, ExtForceMAMethod, ExtForceAppliedPrice, i+1));

   ExtForceBuffer[ i] = Sigmoid( ExtForceBuffer[ i]);
}

//...

double Sigmoid(double x)
{
   double value = MathExp( x);
   return ( value/(1 + value))
}
 

TheXpertさん、ありがとうございました。試してみます。

//gzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz。

うまくいった!?

 

皆さん、こんにちは。初めてEAを作りたいのですが、コードの書き方がわかりません。MAで取引が開始されます。価格が上からMAにタッチしたら買い。下にタッチしたら、売りです。MA傾斜を考慮する必要がある。MA の傾きと注文の開始は一方向であるべきです。ありがとうございます。

 
Shu писал(а)>>

研究は魅力的です!脳にもいいし、実験にもなるし、尊敬します。

すべての自転車とバイクは、すでに私たちの前に(取り消し線)発明されています。すべての注文を自分の配列(おそらく複数)に入れ、それで好きなように操作してください。ソートや削除(チケットはあなたの友達です)、修正(ストップロスやテイクプロフィットの修正、新しい注文を作成するのは簡単です)。

ps(もうひとつ)、もしあなたが真剣に創作に取り組むと決めたら、いつ(ミリ秒)でも証券会社との接続が切れる可能性があることを忘れないでください。理想的な解決策は、Expert Advisorが緊急停止/シャットダウン後に特定の注文(この場合)を閉じる必要性を確認し、閉じることができるようにすることです。

しかし、一般に販売されている「グレイル」のほとんどは、P.C.の形で販売されています。- も同様に、おもちゃのようなものです...。

アレイについて......よくわからないんです。しかし、2つ目の考え方、つまり、専門家がクロージングの合図を見逃したとしても、クロージングの必要性を把握することができる、という考え方は、私は気に入っています。でも、どうしたらいいのか...。

 

午後

距離=Distanceの値動きに応じて、EAはリミットオーダーを一度に発注します。

価格が上昇するにつれて、過剰な(最も遠い)注文を削除する必要があります。

してきました。しかし、なぜか非常に不正確な動作をするのです最初の注文は正常に削除されます。すると、逆に価格に近いものが削除されてしまうのですその後、「突然」停止または削除され、ログにはエラー4108(不明なチケット)が生成されます。その後、しばらくは正常に削除されます。

オーダーの検索を正しくアレンジすることが重要だと、どこかで言われたような気がします。

//жжжжж Удаление лишних байлим ордеров жжжжжжжжж
if( NumberOfOrders(NULL,OP_BUYLIMIT, MAGIC)> КоличествоОрдеров  )  {
    //если ордеров больше заданного значения 
//for (int z = OrdersTotal() - 1; z >= 0; z -- )  {//перебираем с "конца"
  for ( int z=0;    z<OrdersTotal();        z++)  {//перебираем с начала         
  if (OrderSelect( z, SELECT_BY_TICKET, MODE_TRADES))          {//перебираем по тикету           
   if (OrderSymbol()==Symbol()&& OrderType() == OP_BUYLIMIT) {//выбираем байлимиты   
     if ( OrderOpenPrice() <(Ask-( КоличествоОрдеров* Дистанция)*Point) ) {
     //если расстояние от тек. цены больше заданного
   
   OrderDelete(OrderTicket(),Yellow);   //  return(0);    //удаляем самый дальний
            }}}}} 

しかし注文の検索が「最後から」実行されるか「最初から」実行されるかに関係なく。結果は不正解です。

コードは一番シンプルなもののようです

ここで何が間違っているのでしょうか?アドバイスお願いします