アスク! - ページ 175

 

ああ、それははるかに良い方法です。私は、if (Ask == OrderTakeProfit()) {...} すべてのオープンオーダーを循環させることに手こずりましたが、バックテストでは少し欠陥があったようです。ありがとうございます。

 

文字列をコメントする数値はどのようにコメントするのですか?

文字列 2;

2="EURUSD "です。

グラフ上で2がEURUSDとコメントするコメントを作成するにはどうしたらいいですか?

どうか助けてください。

DAVE

 

mqlではそのようなことはできません。

mqlでは変数名は数字にできませんし、数字で始まることもできません。したがって、唯一の解決策は "2 "の前に文字、アンダースコア、または許容される文字を追加することです。

1Dave7:
文字列 2;

2="EURUSD";

グラフ上で2がEURUSDとコメントされるようなコメントを作成するにはどうすればよいのでしょうか?

どうか助けてください。

DAVE
 

以下のような場合、降順の配列はどうすればいいのでしょうか?

double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);

D0=iCustom(NULL,0,「XYZ」,0,0);

D1=iCustom(NULL,0, "XYZ",1,0)。

D2=iCustom(NULL,0, "XYZ",2,0);

D3=iCustom(NULL,0, "XYZ",3,0); D3=iCustom(NULL,0, "XYZ",3,0)

D4=iCustom(NULL,0, "XYZ",4,0); D4=iCustom(NULL,0, "XYZ",4,0)

D5=iCustom(NULL,0, "XYZ",5,0); D5=iCustom(NULL,0, "XYZ",5,0)

D6=iCustom(NULL,0, "XYZ",6,0); D6=iCustom(NULL,0, "XYZ",6,0)

D7=iCustom(NULL,0, "XYZ",7,0);

(d0,d1,d2,d3,d4,d5,d6,d7) の値の降順配列の初期化はどうすればいいのですか? どのように私は私のEAで配列の結果に対処するのですか?

このボトルネックを克服することができれば、とても嬉しいです。

Dave

 

もし値だけをソートする必要があるのなら、次のようにします。

double array[8];

array[0]=iCustom(NULL,0,"XYZ",0,0);

array[1]=iCustom(NULL,0,"XYZ",1,0);

array[2]=iCustom(NULL,0,"XYZ",2,0);

array[3]=iCustom(NULL,0,"XYZ",3,0);

array[4]=iCustom(NULL,0,"XYZ",4,0);

array[5]=iCustom(NULL,0,"XYZ",5,0);

array[6]=iCustom(NULL,0,"XYZ",6,0);

array[7]=iCustom(NULL,0,"XYZ",7,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

そして、ソートされた値は "array" 配列に入ります。

1Dave7:
double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);

D0=iCustom(NULL,0, "XYZ",0,0);

D1=iCustom(NULL,0, "XYZ",1,0);

D2=iCustom(NULL,0, "XYZ",2,0);

D3=iCustom(NULL,0, "XYZ",3,0); D3=iCustom(NULL,0, "XYZ",3,0)

D4=iCustom(NULL,0, "XYZ",4,0); D4=iCustom(NULL,0, "XYZ",4,0)

D5=iCustom(NULL,0, "XYZ",5,0); D5=iCustom(NULL,0, "XYZ",5,0)

D6=iCustom(NULL,0, "XYZ",6,0); D6=iCustom(NULL,0, "XYZ",6,0)

D7=iCustom(NULL,0, "XYZ",7,0);

(d0,d1,d2,d3,d4,d5,d6,d7) の値の降順配列の初期化はどうすればいいのですか? どのように私は私のEAで配列の結果に対処するのですか?

このボトルネックを克服することができれば、私は非常に幸せになります!あなたの助けを感謝します。

デイブ
 
mladen:
もし、値だけをソートする必要があるのなら、次のようにします。
double array[8];

array[0]=iCustom(NULL,0,"XYZ",0,0);

array[1]=iCustom(NULL,0,"XYZ",1,0);

array[2]=iCustom(NULL,0,"XYZ",2,0);

array[3]=iCustom(NULL,0,"XYZ",3,0);

array[4]=iCustom(NULL,0,"XYZ",4,0);

array[5]=iCustom(NULL,0,"XYZ",5,0);

array[6]=iCustom(NULL,0,"XYZ",6,0);

array[7]=iCustom(NULL,0,"XYZ",7,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

そして、ソートされた値は、"array" 配列に入ります。

wow!wow!wow!wow!wow!wow!wow!wow! 私はそれを理解することはなかっただろう - まるごとありがとう!!!

 

この配列を動作させる手助けをしてください - Puzzled!!!

[/PHP] EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //RED

GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME

double array[7];

array[0]=iCustom(NULL,0,"EURUSD",0,0);

array[1]=iCustom(NULL,0,"GBPUSD",1,0);

array[2]=iCustom(NULL,0,"AUDUSD",2,0);

array[3]=iCustom(NULL,0,"USDCHF",3,0);

array[4]=iCustom(NULL,0,"USDJPY",4,0);

array[5]=iCustom(NULL,0,"NZDUSD",5,0);

array[6]=iCustom(NULL,0,"USDCAD",6,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];

{

ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red);//"EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//return(0);

}

{

ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,

ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);

//return(0);

}

[PHP]

a,bの値を取得して表示しようとしましたが、aは0、bは0、その他のc-fの値もすべて表示されるだけです。 通貨を昇順に表示させたかったのですが。 なぜこれがうまくいかないのか、わかる方教えてください。

助けてくれた人にビールでもおごりたいくらいです!

 

このような行をチェックしてください。

array[0]=iCustom(NULL,0,"EURUSD",0,0);

この行は、「EURUSD」という名前のインジケータがあり、それを呼び出して何らかの値を取得し、「配列」の1番目の要素に代入していることを意味します。もしそれが存在しなければ(その名前のインジケータ、私はそれが真実であると仮定します)、それは配列の要素に 値0を割り当てます。この行で何を取得しようとしているのでしょうか?

1Dave7:
EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //RED

GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME(ポンドル)

double array[7];

array[0]=iCustom(NULL,0, "EURUSD",0,0);

array[1]=iCustom(NULL,0, "GBPUSD",1,0); //LIME double array[7]; array[1]=iCustom(NULL,0, "GBPUSD",1,0)

array[2]=iCustom(NULL,0, "AUDUSD",2,0); array[2]=iCustom(NULL,0,2,0)。

array[3]=iCustom(NULL,0, "USDCHF",3,0);

array[4]=iCustom(NULL,0, "USDJPY",4,0);

array[5]=iCustom(NULL,0, "NZDUSD",5,0);

array[6]=iCustom(NULL,0, "USDCAD",6,0)となります。

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];

{

ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0).ObjectSetText("DISPLAY10", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red);//"EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1).ObjectSet("DISPLAY10")。

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20); ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//return(0);

{

ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,

ObjectSet("DISPLAY20", OBJPROP_CORNER, 1).ObjectSet("DISPLAY20")。

ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40); ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);

//return(0);

a,bの値を取得して表示しようとしたのですが、aは0、bは0と他のc-fの値も全て表示されるだけです。 通貨の昇順で表示させたいと思っていたのですが。 なぜこれが機能しないのか、解明していただけませんか?

お礼にビールをおごりたいくらいです。
 
mladen:
array[0]=iCustom(NULL,0,"EURUSD",0,0);
この行は、「EURUSD」というインジケータがあり、それを呼び出して何らかの値を取得し、「array」の1番目の要素に代入していることを意味しています。もしそれが存在しなければ(その名前のインジケータ、私はそれが真実であると仮定します)、それは配列の要素に値0を割り当てます。この行で正確に何を取得しようとしているのでしょうか?

配列は、「EURUSD」から値を取得し、他の通貨と比較して低いものから高いものへと昇順にし、低いものの順位を画面に表示するものです。 EURUSDは他の通貨と同じく0.00を出すだけなのですが? 何が間違っているのでしょうか?

 

こんな感じでやってください。

array[0]=iClose("EURUSD",0,0); [/PHP]

and so on. That way array will be filled with close prices for symbols you select. If you are using a custom indicator then the form is the following :

[PHP]array[0]=iCustom("EURUSD",0,"indicator name",0,0);
1Dave7:
配列は、"EURUSD "から値を取得し、他の通貨と比較して低いものから高いものへと昇順にし、低いもののランキングを画面に表示するというものです。 EURUSDは他の通貨と同じく0.00を出すだけなのですが? 何が間違っているのでしょうか?