int start()
{
double mass[3]=
{
1.2414,
1.2438,
1.2874
};
double value = Bid ;
int S = ArrayBsearch(mass, value, WHOLE_ARRAY, 0, MODE_ASCEND);
if ( Bid == mass[S]) //Bid = 1.2874OrderSend(Symbol(),OP_SELL,0.1,Bid ,3,Ask+400*Point,Ask-200*Point,"jfh",123 );
}
// после того как открылся ордер по цене элемента массива с индексом 2 (1.2874)// КАК УДАЛИТЬ ИЗ МАССИВА ЗНАЧЕНИЕ 1.2874 так что бы массив продолжил функционировать дальше.
//-------------------------выход цены за пределы сигнальных уровней-----------------------------------------------------------------------------------------------
price=iHigh(Symbol(),PERIOD_M15,0); //Сигнальный уровень О(Сердцевина)ObjectCreate("UrO",OBJ_HLINE,0,0,price);
ObjectSet("UrO",OBJPROP_COLOR,clrYellowGreen);
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
priceA=price+30*Point; //Сигнальный уровень А(Максимум)ObjectCreate("UrA",OBJ_HLINE,0,0,priceA);
ObjectSet("UrA",OBJPROP_COLOR,clrDarkSlateBlue);
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
priceB=price-30*Point; //Сигнальный уровень B(Минимум)ObjectCreate("UrB",OBJ_HLINE,0,0,priceB);
ObjectSet("UrB",OBJPROP_COLOR,clrOrangeRed);
//--------------------------------------------------------------------------if((Bid>=priceA) ||(Bid<=priceB)){ //если цена вышла за одну из ГРАНИЦ, сдвинуть уровниObjectSet("UrO",OBJPROP_PRICE1,iHigh(Symbol(),PERIOD_M15,0));
double price; //цена сердцевиныdouble priceA; //цена верхнего сигнального уровняdouble priceB; //цена нижнего сигнального уровня//+------------------------------------------------------------------------------------------------------------------------------------------------------------int start(){
//-------------------------выход цены за пределы сигнальных уровней-----------------------------------------------------------------------------------------------
price=iHigh(Symbol(),PERIOD_M15,0); //Сигнальный уровень О(Сердцевина)ObjectCreate("UrO",OBJ_HLINE,0,0,price);
ObjectSet("UrO",OBJPROP_COLOR,clrYellowGreen);
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
priceA=price+30*Point; //Сигнальный уровень А(Максимум)ObjectCreate("UrA",OBJ_HLINE,0,0,priceA);
ObjectSet("UrA",OBJPROP_COLOR,clrDarkSlateBlue);
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
priceB=price-30*Point; //Сигнальный уровень B(Минимум)ObjectCreate("UrB",OBJ_HLINE,0,0,priceB);
ObjectSet("UrB",OBJPROP_COLOR,clrOrangeRed);
//---------------------------------------------------------------------------------------------------------------------------------------------------------------if((Bid<=priceB)||(Bid>=priceA)){ //если цена вышла за одну из ГРАНИЦObjectsDeleteAll(); //для примера удаляю все объекты, но этого не происходит!
} //Почему ведь очевидно на тестере цена выходит за пределы, но ни чего не происходит???return(0);
}
皆さん、こんにちは。
配列について勉強中です。
配列から必要な値を削除する方法を教えてください。
私の理解では、値を削除した後、配列のサイズが 縮小され、おそらく
の場合、新しい配列のサイズも指定する必要があります。
リファレンスマニュアルには、配列の値を削除するような関数は見当たらないのですが。全体の手順がどのようなものか、見せていただけますか?
を使用することで、削除後も配列が機能し続けるようになります。
ありがとうございます。
以下、必要なものを具体的に説明します。
皆さん、こんにちは。
配列について勉強中です。
配列から必要な値を削除する方法を教えてください。
私の理解では、値を削除した後、配列のサイズが縮小され、おそらく
また、新しい配列のサイズも指定する必要があります。
リファレンスマニュアルには、配列の値を削除するような関数は見当たらないのですが。配列の値を削除するには、全体の手順がどのように見えるか教えてください。
削除後も配列が機能し続けるように。
ありがとうございます。
具体的な例を挙げますと、こんな感じです。
配列を「自分の中に」コピーして、1つ減らしてリサイズすることができます。配列の 0番目を削除して最後の1番目を記入した例ですが、任意のインデックスから任意の数の要素をコピーすることができます。
2つ目の選択肢は、「解放」された空間の最後の値を上書きし、配列のサイズも小さくすることです。
配列を「自分自身に」コピーし、それを1つ減らしてサイズを変更することができます。例として、配列の 0番目を削除して最後の1番目を埋めることが挙げられますが、コピーは任意のインデックス、任意の要素数から行うことができます。
2つ目の選択肢は、「解放」された空間の最後の値を上書きし、配列のサイズも小さくすることです。
こんにちは!!!初心者でもないのに説明してくれ、しかし、ある一つの問題にひどくうんざりしている。インジケータから呼び出しています。ある値で新しいバーを受け取った時、すぐにリコンパイルすると全く違う値が表示されます。時間による指標の計算の 遅れは、何も生まない。その結果、自動運転機能は全くありません。質問です。なぜ?疲れ果ててしまったよ。この信じられないような不具合は何なんだ・・・。もう、うんざりだ...。
こんにちは!価格がシグナルレベルを超えた場合、シグナルレベルを移動させるという問題が解決できないのですが。コンパイルの時点ではすべてOKなのに、テスターで "suitable "の条件が来ても、何も変化がない。シグナルレベルを超えて価格が動いている状態について、何が問題なのかご教示ください。
UrA」 または「UrB」 レベルは、m15で最後のローソク足の最大値に移動するはずですが、そうなりません。誰か理由を知っていますか?
こんにちは!価格がシグナルレベルを超えた場合、シグナルレベルを移動させるという問題が解決できないのですが。コンパイルの時点ではすべてOKなのに、テスターで "suitable "の条件が来ても、何も変化がない。シグナルレベルを超えて価格が動いている状態について、何が問題なのかご教示ください。
UrA」 または「UrB」 レベルは、m15で最後のローソク足の最大値に移動するはずですが、そうなりません。誰か理由を知っていますか?
ObjectMove() の何が問題なのでしょうか?
ObjectMove() の何が問題なのでしょうか?
ありがとうございました!!(笑)
ObjectMove() の何が問題なのでしょうか?
機能は最高です!しかし、なぜか条件が満たされない!?その理由をご存知の方はいらっしゃいますか?
どなたか、何がエラーなのか説明してください。こんにちは。
MQL4を学び始めたところです。MT4(ver.4.0 build 1090)の「自動売買を許可する」ボタンをスクリプトが無視する理由がわかりません。
このような作りでは、どうにもなりませんね。
ボタンを押さないのに、アラート付きのウィンドウが表示される。スクリプトで注文を設定すると、Autotradeボタンが押されても押されても、停止することなく毎ティックで注文が発射されます。
そんな作りに挑戦してみました。
最初はうまくいっていたようですが、スクリプトを複雑にしていく過程で、それもうまくいかなくなり......。
こんなはずじゃなかったのに、EAを変えてもバックグラウンドのように古いものが動き続けるという、EAの仕事の流麗さが感じられないのですが、まだ分かっていないのかもしれません。
こんにちは。
MQL4を学び始めたところです。MT4(ver.4.0 build 1090)の「自動売買を許可する」ボタンをスクリプトが無視する理由がわかりません。
このような作りでは、どうにもなりませんね。
ボタンを押さないのに、アラート付きのウィンドウが表示される。スクリプトで注文を設定すると、Autotradeボタンが押されても押されても、停止することなく毎ティックで注文が発射されます。
そんな作りに挑戦してみました。
最初はうまくいっていたようですが、スクリプトを複雑にしていく過程で、それもうまくいかなくなり......。
こんなはずじゃなかったのに、EAを変えてもバックグラウンドのように古いものが動き続けるという、EAの仕事の流麗さが感じられないのですが、まだ分かっていないのかもしれません。