t2=iTime(_Symbols[j],PERIOD_M1,0);
if(BID_L_1!=0 && BID_L_2!=0 && BID_13!=0)
{
//--- переменные для идентификаторов графиковlong currChart,prevChart=ChartFirst();
i=0;int limit=100; while(i<limit)// у нас наверняка не больше 100 открытых графиков
{
currChart=ChartNext(prevChart); // на основании предыдущего получим новый графикif(ChartSymbol(currChart)==_Symbols[j])
{
ObjectCreate(currChart,"INFO_100",OBJ_LABEL,0,0,0);
ObjectSetInteger(currChart,"INFO_100",OBJPROP_COLOR,clrBlack);
ObjectSetInteger(currChart,"INFO_100",OBJPROP_FONTSIZE,30);
ObjectSetInteger(currChart,"INFO_100",OBJPROP_XDISTANCE,770);
ObjectSetInteger(currChart,"INFO_100",OBJPROP_YDISTANCE,300);
ObjectSetString(currChart,"INFO_100",OBJPROP_TEXT,_Symbols[j]);
ObjectSet("INFO_100",OBJPROP_XDISTANCE,0);// изменяем координату х ObjectSet("INFO_100",OBJPROP_YDISTANCE,300);// изменяем координату у ObjectCreate(currChart,"INFO_101"+TimeToStr(TimeCurrent(),TIME_DATE), OBJ_TREND, 0, t1, BID_13, t2, BID_13);ObjectSetInteger(currChart,"INFO_101"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_COLOR,clrGreen);
ObjectSetInteger(currChart,"INFO_101"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_WIDTH,5);
ObjectSetInteger(currChart,"INFO_101"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_RAY,false);
ObjectCreate(currChart,"INFO_102"+TimeToStr(TimeCurrent(),TIME_DATE), OBJ_TREND, 0, t1, BID_L_1, t2, BID_L_1);
ObjectSetInteger(currChart,"INFO_102"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_COLOR,clrRed);
ObjectSetInteger(currChart,"INFO_102"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_WIDTH,5);
ObjectSetInteger(currChart,"INFO_102"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_RAY,false);
ObjectCreate(currChart,"INFO_103"+TimeToStr(TimeCurrent(),TIME_DATE), OBJ_TREND, 0, t1, BID_L_2, t2, BID_L_2);
ObjectSetInteger(currChart,"INFO_103"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_COLOR,clrBlue);
ObjectSetInteger(currChart,"INFO_103"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_WIDTH,5);
ObjectSetInteger(currChart,"INFO_103"+TimeToStr(TimeCurrent(),TIME_DATE),OBJPROP_RAY,false);
ChartRedraw(currChart);
}
if(currChart<0) break; // достигли конца списка графиков
prevChart=currChart;// запомним идентификатор текущего графика для ChartNext()
i++;// не забудем увеличить счетчик
}
グラフィカルオブジェクトの削除に関する問題を解決するのを助けてください。コード251のグラフィカルオブジェクトがあり、ObjectsDeleteAll (0,OBJ_ARROW) がありますが、コード251のオブジェクトだけを削除させることはできますか?
コード251でオブジェクトを作るときに、"セツカ"+DoubleToStr(Sprice,Digits); とか"セツカ"+Time[r] のような名前を付けておき、これらのオブジェクトをすべて削除したいときには、次のようにしてください。
for(int i=ObjectsTotal()-1; i>=0 ; i--)
{if(StringFind(ObjectName(i),"セツカ")>=0)ObjectDelete(ObjectName(i));}
名前にSetkaを含むすべてのオブジェクトが削除されます。
コード251でオブジェクトを作るときに、"セツカ"+DoubleToStr(Sprice,Digits); とか"セツカ"+Time[r] のような名前を付けておき、これらのオブジェクトをすべて削除したいときには、次のようにしてください。
for(int i=ObjectsTotal()-1; i>=0 ; i--)
{if(StringFind(ObjectName(i),"セツカ")>=0)ObjectDelete(ObjectName(i));}
名前にSetkaを含むすべてのオブジェクトが削除されます。
試してみるしかないですね。ありがとうございます。
こんにちは、MT4で条件を満たすとバーの色が変わるようなインジケーターの機能があれば教えていただけませんか?
トレンドが 変化したときにバーの色が変わるようなトレンドインジケーターを 作りたいのですが
みなさん、こんにちは。ストレートに言えば
これがその配列です。
こんな風にしたい
それは間違っていると言っているのです。C言語での正しい書き方なんだろうけど。
が、ここでは通用しない。
テスターでExpert Advisorがexternで配列のサイズを 検索できるようにするには、どうしたらよいか教えてください。
感謝
このバリアントで矢印が削除されている理由を教えてください。
int deinit()
{
//----ObjectsDeleteAll(0,OBJ_ARROW)を実行。
}
...
...
{
ObjectCreate(arrowName,OBJ_ARROW,0,;)です。
ObjectSet(arrowName,OBJPROP_ARROWCODE,251)を使用します。
ObjectSet(arrowName,OBJPROP_COLOR,Red)です。
}
が、これにはない?
int deinit()
{
//----
ObjectsDeleteAll(0,OBJ_ARROW_STOP)を実行。
}
...
...
{ObjectCreate(arrowName,OBJ_ARROW_STOP,0,...)を実行。
ObjectSet(arrowName,OBJPROP_COLOR,Red)です。
}
友達です。現在表示されていないチャートにグラフィックオブジェクトを配置するには?マルチカレンシーがEURUSDで動作する場合、AUDUSDのチャートに 何かを描く必要があります(開いていると仮定して)。
新機能を理解できないようです。年をとったなあ・・・。
ダーイズ。非現在のチャートにグラフィックオブジェクトを配置するにはどうすればよいですか?マルチカレンシーがEURUSDで動作する場合、AUDUSDのチャートに何かを描く必要があります(開いている場合)。
新機能の意味がわからないようです。年をとるということ...
メインウィンドウからの描画命令以外はできるのですが・・・。