アスク! - ページ 130

 
Dave137:

今現在、Color(s) 1とColor(s) 2の両方がグラフ上で'black'を表示しています。

この問題を解決するために、誰か専門家のGuruが助けてくれるでしょうか?

ありがとうございました。

色 色1;

色 色2;

FerruFx

 

どなたか、"OrderModify error 1 "の問題を解決する方法を教えてください。私は見ていて、私はNormalizeDouble()を必要とするように見えるが、私はここから月までのすべてを正規化したが、私はまだエラーが発生します。

一度理解すれば、私はそれを理解することができると思う、誰か助けてください。

また、「unmatched data error(volume limit 31 at 2008.04.16 07:30 exceeded)」というエラーが出てしまうのですが、どなたかご存知の方がいらっしゃいましたら、ご教授お願いします。

 
FerruFx:
色 Color1;

色 Color2;

FerruFx

SetIndexStyle(0,DRAW_ARROW,0,star_size,color Color1)(0)。

SetIndexStyle(1,DRAW_ARROW,0,star_size,color Color2);

私は一度に1つのステップとトライアルで、すべての場所に色を挿入しようとしましたが、私は上記の2つの文のためのエラーを取得します。')' - カンマまたはセミコロンが必要です。 または、エラーは出ないが、全てが黒く表示される。

これは本当に私を混乱させる - 他に何か提案はありますか?

デイブ

 

xerof123 - このエラーは、オープンオーダーが既に持っている値と同じ値でオーダーを変更しようとしたときに発生します。 他の問題は、異なる時間枠間の価格の不一致です。これを取り除くには、履歴センターメニューからすべてのティックデータを削除して再生成してください。

color1、color2がstring 型として定義されていますが、これらはcolor 型です。 プロパティ」定義の「color1」キーワードは単に値を代入しているだけなので、後でcolor1,color2を定義するとき、それらは簡単にc1,c2と呼ぶことができることに注意してください。 さらに、init()関数の中で手動で設定しているので、最初から'properties color1'を使用する必要はありません。 また、'#propertyindicator buffers x' と 'indicatorbuffers(x)' の使用方法については、他のインジケータを参照してください...

 

オムレツありがとう。

できることはすべてやってみたのですが、もう6日間も休みなくやっているのに負けてしまいました...。

このコードを見て、なぜ "OrderModify error 1 "が発生するのか教えてください。

正規化もしたし、別のロジックも試したし、ビールを勧めてもみたんです。

本当にありがとうございます。ありがとうございます。

for(int i=OrdersTotal()-1;i>=0;i--)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { オーダーシンボル()==シンボル() && オーダーマジック番号()==マジック番号()

{

if(OrderType()<=OP_SELL)ordtotal++。

if(OrderType()==OP_BUY)の場合

{

if(bep==true && Bid-OrderOpenPrice()>=Locked_at*Point)

{

if(OrderModify(OrderTicket(),0,OrderOpenPrice()+7*Point,0,0)==true) bep=false;

return(0)とする。

}

if((NormalizeDouble( Bid, Digits)-OrderOpenPrice())>=TS_start*Point)

{

if((NormalizeDouble( Bid, Digits)-NormalizeDouble( OrderStopLoss(), Digits)) > TS_start*Point && (NormalizeDouble( Bid, Digits)-OrderStopLoss(), Digits)) > TS_start*Point )

(NormalizeDouble( Bid, Digits)-NormalizeDouble( OrderStopLoss(), Digits) - TS_start*Point)>=(TrailEvery-1)*Point)

{

if (TS_start > OrderStopLoss()+Point)

{

OrderModify(OrderTicket(),OrderOpenPrice(), Ask - Point*TS_start ,0,0,SkyBlue);

return(0);

}

}

}

}

if(OrderType()==OP_SELL)

{

if(bep==true && OrderOpenPrice()-NormalizeDouble( Ask, Digits) >= Locked_at*Point)

{

if(OrderModify(OrderTicket(),0,OrderOpenPrice()-7*Point,0,0,0)==true) bep=false.If(OrderModify(OrderTicket(),0,OrderOpenPrice() -7*Point,0,0)==true);

return(0)とする。

}

if((OrderOpenPrice()-NormalizeDouble( Ask, Digits)) >= TS_start*Point)

{

if((NormalizeDouble( OrderStopLoss(), Digits)-NormalizeDouble( Ask, Digits)) > TS_start*Point && (NormalizeDouble( OrderStopLoss(), Digits) -NormalizeDouble( Ask, Digits)) > TS_start*Point )

(NormalizeDouble( OrderStopLoss(), Digits)-NormalizeDouble( Ask, Digits)-TS_start*Point)>=(TrailEvery-1)*Point)

{

if (TS_start > OrderStopLoss() +Point)

{

OrderModify(OrderTicket(),OrderOpenPrice(), Ask + Point*TS_start ,0,0,Orange);

return(0);

}

}

}

}

}

}

 
Dave137:
SetIndexStyle(0,DRAW_ARROW,0,star_size,color Color1)としました。

SetIndexStyle(1,DRAW_ARROW,0,star_size,color Color2);

一歩ずつ、試行錯誤しながら色を入れまくってみましたが、上記2つの記述でエラーが出るか-。')' - カンマまたはセミコロンが必要です。 またはエラーにならず、すべて黒く表示されます。

これは本当に私を混乱させる - 他に何か提案はありますか?

デイブ

いいえ、あなたは間違った変更を行っている。

あなたはこれを変更する必要があります。

文字列 Color1;

文字列Color2;

これによって。

color 色1;

色Color2;

以上です。

FerruFx

 

ローソク足がトップライン またはボトム ラインにタッチし、傾きがアップからダウン、またはその逆に変化したときに警告するようにするには、このインジケータをどのようにすればよいのでしょうか?

#property copyright "ANG3110@latchess.com"

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

#property indicator_chart_window

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

extern int Hours=24;

extern color col=Aqua;

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

double lr,lr0,lrp;

double sx,sy,sxy,sx2,aa,bb;

int p,sName,fs;

int f,f0,f1;

double dh,dl,dh_1,dl_1,dh_2,dl_2;

int ai_1,ai_2,bi_1,bi_2;

double hai,lai,dhi,dli,dhm,dlm,ha0,hap,la0,lap;

double price_p1,price_p0,price_p2,price_01,price_00,price_02;

int p1,p0,p2,fp;

//*****************************************

int init() {

p=Hours*60/Period();

if (fs==0) {sName=CurTime(); fs=1;}.

return(0);}

//*******************************

int deinit() {

ObjectDelete("1"+sName)。

ObjectDelete("0"+sName);。

ObjectDelete("2"+sName); }.

//*******************************

int start() {

int i,n;

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

if (f==1) {

p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName,OBJPROP_TIME1)));

p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1)); p3=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1));

p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1)).p3=iBarShift。

if (fp==0 && p!=p1) {p=p1; fp=1;}.

if (fp==0 && p!=p0) {p=p0; fp=1;}。

if (fp==0 && p!=p2) {p=p2; fp=1;}。

}

//====================================================

sx=0; sy=0; sxy=0; sx2=0;

for (n=0; n<=p; n++) {sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2);}.

aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1) となります。

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

for (i=0; i<=p; i++) { { {lr=bb+aa*i。

lr=bb+aa*i;

dh=高値-lr; dl=低値-lr。

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

if (i<p/2) {if (i==0) {dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i;} }。

if (dh>=dh_1) {dh_1=dh; ai_1=i;}.

if (dl<=dl_1) {dl_1=dl; bi_1=i;}}

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

if (i>=p/2) {if (i==p/2) {dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i;} }.

if (dh>=dh_2) {dh_2=dh; ai_2=i;}.

if (dl<=dl_2) {dl_2=dl; bi_2=i;}}となります。}

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

lr0=bb; lrp=bb+aa*(i+p);

//===================================================

if (MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2)) f=1;

if (MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2)) f=2;

if (MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) {if (MathAbs(dh_1-dh_2)=MathAbs(dl_1-dl_2)) f=2;} となる。

//=================================================

if (f==1) {

for (n=0; n<=20; n++) { f1=0;

for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1)=High[ai_1];

if (i==0 || i==p/2) dhm=0.0;

if (High-hai>dhm && i<p/2) {ai_1=i; f1=1;}.

if (High-hai>dhm && i>=p/2) {ai_2=i; f1=1;}.}

if (f==0) break;}

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

for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1)=High!

dli=Low-hai。

if (i==0) dlm=0.0; if (dli<dlm) dlm=dli;}.

ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1);

hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1);

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

price_p1=hap;

price_p0=hap+dlm/2;

price_p2=hap+dlm;

price_01=ha0;

price_00=ha0+dlm/2;

price_02=ha0+dlm;

}

//=================================================

if (f==2) {

for (n=0; n<=20; n++) { f1=0;

for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1).Low=Low*(i-bi_2)/(bi_1-bi_2);

if (i==0 || i==p/2) dlm=0.0;

if (Low-lai<dlm && i<p/2) {bi_1=i; f1=1;}.

if (Low-lai=p/2) {bi_2=i; f1=1;}}.

if (f==0) break;}

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

for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1).lai=Low*(i-bi_2)/(bi_1-bi_2);

dhi=High-laiとする。

if (i==0) dhm=0.0; if (dhi>dhm) dhm=dhi;}.

la0=Low*(0-bi_2)/(bi_1-bi_2)+Low*(0-bi_1)/(bi_2-bi_1);

lap=Low*(p-bi_2)/(bi_1-bi_2)+Low*(p-bi_1)/(bi_2-bi_1);

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

price_p1=lap。

price_p0=lap+dhm/2;

price_p2=lap+dhm;

price_01=la0;

price_00=la0+dhm/2;

price_02=la0+dhm;

}

//===================================================================================

ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01) を実行します。

ObjectCreate("0"+sName,2,0,Time[p],price_p0,Time[0],price_00);

ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02); ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02);

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

ObjectSet("1"+sName,OBJPROP_COLOR,col)を作成します。

ObjectSet("1"+sName,OBJPROP_STYLE,STYLE_SOLID);

ObjectSet("0"+sName,OBJPROP_COLOR,col)。

ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT)。

ObjectSet("2"+sName,OBJPROP_COLOR,col)。

ObjectSet("2"+sName,OBJPROP_STYLE,STYLE_SOLID)。

ObjectSet("0"+sName,OBJPROP_WIDTH,1); // 線の幅を制御します。

ObjectSet("1"+sName,OBJPROP_WIDTH,2)。

ObjectSet("2"+sName,OBJPROP_WIDTH,2)。

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

ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1); //----------------------------------------------- ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1);

ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]); ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("1"+sName,OBJPROP_PRICE2,price_01); ObjectSet("1"+sName,OBJPROP_PRICE2,price_01);

ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0); ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0);

ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]); ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("0"+sName,OBJPROP_PRICE2,price_00); ObjectSet("0"+sName,OBJPROP_PRICE2,price_00);

ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2); ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2);

ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]); ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("2"+sName,OBJPROP_PRICE2,price_02); ObjectSet("2"+sName,OBJPROP_PRICE2,price_02);

//==================================================================

f=1; p1=p; p0=p; p2=p; fp=0;

//*************************************************************************************

return(0);}を実行します。

//=====================================================================================

 
xerof123:
ありがとう、オムレツ。

できることはすべてやってみたのですが、もう6日間も休みなしでやっているのに負けてしまいました...。

このコードを見て、なぜ「OrderModify error 1」という悲惨な結果になるのか、教えてください。

正規化もしたし、別のロジックも試したし、ビールも飲んでみたんです。

本当にありがとうございました。ありがとうございます。

私が書いたことをもう一度読んでみてください - 価格を変更する必要があるかどうかを確認することなく、Modify()関数を呼び出して います。

 

omeletteはあなたの質問にとてもよく答えてくれました。この人は聖人のような忍耐力を持っていると言わざるを得ない、賞賛に値する。

彼の言いたいことをよりよく説明するために、次のようなことはどうでしょうか。

しかし、Xはすでに2と等しいので、Xを修正(変更)しようとするのは正しくありません。

変更しようとするものと等しくないことを確認 し、等しくない場合にのみ変更しようとすればよいのです。

どうですか?

幸運を祈ります。

ラックス

 

初めてEAを使用する、助けが必要。

親愛なるcodersguru。

.mql4ファイルをエキスパートフォルダにコピーし、オプションで自動売買を許可するように設定しましたが、バックテストを行うと取引が発生しません。ネット上の無料EAをいくつか試しましたが、問題は毎回起こりました。バックテストのデータがチャートに読み込まれているのは確認できますが、取引がないので、レポートではすべての数値が0になっています。よろしくお願いします。

よろしくお願いします。

jzhai1994