int timemin=TimeMinute(Time[59]==0); int timehour=TimeHour(Time[1] && TimeMinute(Time[0])); int timemin1=TimeMinute(Time[0]==0); int timehour1=TimeHour(Time[1] && TimeMinute(Time[59]))である。
int max=iHighest(Symbol(,1,MODE_HIGH,60,timehour); int min=iLowest(Symbol(,1,MODE_LOW,60,timehour);
こんにちは。MT4用のEAを作りたい のですが、そのタスクの1つは、M1で1時間以内にフィボラインを引くことです。つまり、11.00になったら、10.00から10.59までの区間に、高値と安値に注目して線を引くことです。様々な方法を試し、最後の1つを掲載しました。レベルを描画するコードを短縮することはできるでしょう。 問題は、指定した範囲に線を描画しない ことです。
int timemin=TimeMinute(Time[59]==0);
int timehour=TimeHour(Time[1] && TimeMinute(Time[0]));
int timemin1=TimeMinute(Time[0]==0);
int timehour1=TimeHour(Time[1] && TimeMinute(Time[59]))である。
int max=iHighest(Symbol(,1,MODE_HIGH,60,timehour);
int min=iLowest(Symbol(,1,MODE_LOW,60,timehour);
double barup=(iOpen(Symbol(,60,1)>))iClose(Symbol(),60,1));
double bardn=(iOpen(Symbol(),60,1)<iClose(Symbol(),60,1));
ObjectDelete("FiboLevels"); //------新しい水準になる。
if (barup)
{
WindowRedraw();
ObjectCreate(0, "FiboLevels",OBJ_FIBO,0,Time[min],Low[min],Time[timehour1],High[max]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrGreen).ObjectCreate(0, "FiboLevels",OBJPROP_COLOR,clrGreen);
}
if (bardn)
{
WindowRedraw();
ObjectCreate(0, "FiboLevels",OBJ_FIBO,0,Time[max],Low[max],Time[timehour1],High[min]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrRed).ObjectCreate(0, "FiboLevels",OBJPROP_COLOR,0,Time[max],Low[min],Time[timehour1],High[min]);
}
double f1=ObjectGet("FiboLevels",OBJPROP_PRICE1); //最初の価格を選択します
double f2=ObjectGet("FiboLevels",OBJPROP_PRICE2);//Select the second price and plots
double Diff=f2-f1;
string a11=DoubleToStr(f2-Diff*0.F2); string a11=DoubleToStr(f2-Diff*0.0,Digits);
文字列 a12=DoubleToStr(f2-Diff*0.236,Digits);
文字列 a13=DoubleToStr(f2-Diff*0.382,Digits);
文字列 a14=DoubleToStr(f2-Diff*0.50,Digits);
文字列 a15=DoubleToStr(f2-Diff*0.618,Digits);
文字列 a16=DoubleToStr(f2-Diff*1.0,Digits);
bool a1=ObjectSet("FiboLevels",OBJPROP_FIBOLEVELS,6);
bool a2=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+0,0.0); bool a1=ObjectSet("FiboLevels",OBJPROP_FiboLevELS,0)0);
bool a3=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+1,0.236);
bool a4=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+2,0.236); bool a3=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+2,0.382);
bool a5=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+3,0.50);
bool a6=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+4,0.618);
bool a7=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVELs+5,1.0);
bool a111=ObjectSetFiboDescription("FiboLevels",0, "0.0%");
bool a122=ObjectSetFiboDescription("FiboLevels",1, "23.6%");
bool a133=ObjectSetFiboDescription("FiboLevels",2, "38.2%";
bool a144=ObjectSetFiboDescription("FiboLevels",3, "50.0%");
bool a155=ObjectSetFiboDescription("FiboLevels",4, "61.8%";
bool a166=ObjectSetFiboDescription("FiboLevels",5, "100.0%");
こんにちは。MT4用のEAを作りたい のですが、そのタスクの1つは、M1で1時間以内にフィボラインを引くことです。つまり、11.00になったら10.00から10.59までの区間に、高値と安値に注目して線を引くことです。様々な方法を試し、最後の1つを掲載しました。レベルを描画するコードを短縮することはできるでしょう。 問題は、指定した範囲に線を描画しない ことです。
double barup=(iOpen(Symbol(),60,1)>iClose(Symbol(),60,1));double bardn=(iOpen(Symbol(),60,1)<iClose(Symbol(),60,1));
ObjectDelete("FiboLevels"); //------新しいレベル
なら
{
WindowRedraw()。
ObjectCreate(0, "FiboLevels",OBJ_FIBO,0,Time[min],Low[min],Time[timehour1],High[max]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrGreen)。
}
仮に
{
WindowRedraw()。
ObjectCreate(0, "FiboLevels",OBJ_FIBO,0,Time[max],Low[max],Time[timehour1],High[min]) とする。
ObjectSet("FiboLevels",OBJPROP_COLOR,clrRed)。
}
この方が短い? bool barup=... WindowRedraw()でも実行されます - ifを削除しました。
もっと短くすることもできます...私のファイルを参照してください。
コードを正しく挿入してください。
さらに鮮明になりました。
みんな、どうして私の注文は1ティック ごとに開くんだ?バーに集中する方法を教えてください。
みんな、どうして私の注文は1ティック ごとに開くんだ?バーに集中する方法を教えてください。
ATSに記載された条件に従って、オープンのゴーサインを出すと、オープンになります。
この場合、いろいろな解決策があるんです。すべては、あなたにとって何がより適しているかによります。
価格が前回の注文からNポイント離れた場合にのみ、次の注文を出すべきと判断することができる。1つのバーに複数の注文を出すことはできません。などなど。
必要な条件を書き出し、テストに適用する。
ATSに記載された条件に従って、注文を開封する。
この場合、いろいろな解決策があるんです。すべては、あなたにとって何がより適しているかによります。
価格が前回の注文からNポイント離れた場合にのみ、次の注文を出すべきと判断することができる。1つのバーに複数の注文を出すことはできません。などなど。
必要な条件を書き出し、テストに適用する。
その代わりif( iTime(Symbol(),PERIOD_M1,0)){1本のバーで注文を出すにはどう書けばいいのでしょうか?
この質問は何度もされ、それに応じて何度も回答されてきた。検索を使用する、例えば、ここ
この質問は何度もされ、それに応じて何度も回答されてきた。検索を使用する、例えば、ここ
ありがとうございました。
こんにちは。
ある計算をするEAがあるのですが。さまざまな数学演算、配列、ループを使用します。その結果をファイルに保存 します。すべてのアクションを実行した後に、すべてを最初からやり直さなければならないのです。一度すべての計算を行った後、2度目は何もせずにハングアップしています。新しい計算を始める前に、変数をゼロにしたり、配列をクリアしたりする必要があるかどうか、アドバイスをお願いします。
こんにちは。
ある計算をするEAがあるのですが。さまざまな数学演算、配列、ループを使用します。その結果をファイルに保存 します。すべてのアクションを実行した後に、すべてを最初からやり直さなければならないのです。一度すべての計算を行った後、2度目は何もせずにハングアップしています。新しい計算を始める前に、変数をゼロにしたり、配列をクリアしたりする必要があるかどうか、アドバイスをお願いします。