[アーカイブ!】どんなエキスパートやインジケーターでも無料で書きます。 - ページ 109

 
sammi61:

もし、問題なければ、ストッパーをリミットに交換し、シフターを試してみてください。私のcamcohob@mail.ru よろしくお願いします。 c
よっしゃー明日やります。
 
snail09:
よっしゃー明日やります。

ありがとうございます、楽しみにしています。
 

こんにちは。

タートルズの取引 戦略は使えるのか?

 

こんにちは、2つのCFをつなぐ音声信号付きの矢印を書くことができますか?

信号の状態を表示します。

1) より高いタイムフレーム(例えば n1)で AO がゼロを超え、その後、第二の条件が検索される。

2) 2つ下(例えばm5)のAOが同じ方向にゼロクロスする(n1のAOが上にゼロクロスする瞬間、m5のAOはすでにゼロを超えているので、前に反対方向に行くはずだと論理的である、つまり私はロールバック後の新しいクロスに興味がある)。

 

メッセージボードの皆さん、質問です。

Renkoチャートとその使い方については、ここで何度も取り上げてきました。コードベースのExpert Advisorを 長い間使っていますが、Renkoバーを正しく作成することができますが、問題は反転時に少し間違って描画してしまうことです。ほら、こんな風に描かれています。

と、こんなバーがもう一軒あったらいいなと思いました。


コードのどこを変えればいいのか教えてください。私が理解する限り、このコードの断片でwhileループの何かを変更する必要があります。

bool UpTrend = High[i]+Low[i] > High[i+1]+Low[i+1];
        
            while(UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
 
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
 
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                                                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(High[i] > PrevHigh+BoxPoints || CompareDoubles(High[i], PrevHigh+BoxPoints)) {
                  PrevHigh = PrevHigh + BoxPoints;
                  PrevLow = PrevLow + BoxPoints;
                  PrevOpen = PrevLow;
                  PrevClose = PrevHigh;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
 
                    if(ShowWicks && DnWick < PrevLow) FileWriteDouble(HstHandle, DnWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                                
                FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevHigh;
                CurLow = PrevHigh;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(!UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
 
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
 
こんにちは!簡単なEAを探すのを手伝ってください。ある時刻の価格から指定された距離のところに、tpとslで保留注文を出します。例えば、23:55に現在の価格から10pipsの距離で注文を出します。すぐにtp=10pips、sl=16pipsを置く。さらに:注文がトリガーされていない場合、24:00に削除されます。価格の異なる側に一方向性の注文を配置します。もしかしたら、誰かが、少なくとも基本的な条件について書いてくれるかもしれないし、どこを見ればいいのか助言してくれるかもしれない。Code Baseに 似たようなものは見当たりません。よろしくお願いします。
 
いじり倒せるよう、よろしくお願いします。売買のシグナルが出たときにビープ音が鳴るようにしたいのですが、うまくいきません。ありがとうございました。)

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4
//| ラムダス - 変換のみ
//+------------------------------------------------------------------+
#property copyright "SilverTrend rewritched by CrazyChart".
#プロパティリンク "http://viac.ru/"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#プロパティ indicator_color2 Violet

//---- 入力パラメータ
extern int RISK=3;
extern inttern CountBars=350;
extern bool SoundAlert=true;
int SSP=9;

//---- バッファ
double val1[]。
double val2[]。

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
文字列のshort_name。
//---- インジケータライン
IndicatorBuffers(2)です。
SetIndexStyle(0,DRAW_ARROW)を設定します。
SetIndexArrow(0,233)を設定。
SetIndexStyle(1,DRAW_ARROW)を設定します。
SetIndexArrow(1,234)。
SetIndexBuffer(0,val1)を設定します。
SetIndexBuffer(1,val2)を設定します。
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| シルバートレンドシグナル(SilverTrend_Signal)
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+SSP)を設定します。
SetIndexDrawBegin(1,Bars-CountBars+SSP)を設定します。
int i,shift,counted_bars=IndicatorCounted();
int i1,i2,K;
double Range,AvgRange,smin,smax,SsMax,SsMin,price;
bool uptrend,old;
//----

if(Bars<=SSP+1) return(0);
//---- 初期値ゼロ
if(counted_bars<SSP+1)とする。
{
for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;
for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;
}
//----

K=33-RISKです。
for (shift = CountBars-SSP; shift>=0; shift--)
{

Range=0とする。
AvgRange=0。
for (i1=shift; i1<=shift+SSP; i1++)
{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1];
}
Range=AvgRange/(SSP+1)となります。

SsMax=High[shift]、SsMin=Low[shift]とする。
for (i2=shift;i2<=shift+SSP-1;i2++)
{
price=High[i2]とした。
if(SsMax<price) SsMax=price;
price=Low[i2]です。
if(SsMin>=price) SsMin=price。
}

smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100 とする。
val1[shift]=0とする。
val2[shift]=0とする。
if (Close[shift]<smin)とする。
{
uptrend = false とする。
}
if (Close[shift]>smax)とする。
{
uptrend = trueとする。
}
if (uptrend!=old && uptrend==true) {val1[shift]=Low[shift]-Range*0.5;}.
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*0.5;}.
old=uptrendです。
}
return(0)です。
}
//+------------------------------------------------------------------+
void SendAlert(文字列txt) {.
if (Time[0] != tt) {.
if (サウンドアラート) {
if (txt == "buy") Alert("Trend Long " + Symbol() + ", " + Period()))。
if (txt == "sell") Alert("Trend Short " + Symbol() + ", " + Period()))。
}
tt = Time[0];
}
}
 
マーチンゲールを使わない面白い指標戦略のEAを無料で書きます。プライベートまたはEメールでのToR mqlskeptik@yandex.ua
 
こんにちは、皆さん助けてください、私はより良いボリュームインジケータを 作りたいです。1本のローソク足でどれだけの量が売買されているかを示すこと。また、ボリュームにカーソルを合わせると、データウィンドウが表示されます。私は数量で取引しているので、とても助かります。このようなイメージでしょうか。ありがとうございました。
 

このスレッドは、長い間その機能を果たしていないため、閉鎖されます。

お早めにスレッド作成者(https://www.mql5.com/ru/users/kubodel/)へ書き込みをお願いします。

新しい投稿は警告なしに削除されます。

理由: