//| Вывод текстовой метки с размером интервала "тела" свечи |//+------------------------------------------------------------------+void LabText(constlong chart_ID=0,
string name="Text",
string text="text", // ТЕКСТ ДЛЯ ВЫВОДА НА ГРАФИК
datetime time=0,
double price=0,
int fontsizes=0,
color clr=0)
{
if(ObjectFind(chart_ID,name)!=0)
{
ObjectCreate(chart_ID,name,OBJ_TEXT,0,0,0);
ObjectSetInteger(chart_ID,name,OBJPROP_TIME,time);
ObjectSetDouble(chart_ID,name,OBJPROP_PRICE,price);
//--- установим угол наклона текста ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,0.0);
//--- установим способ привязки ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,ANCHOR_LEFT);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,"Arial");
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,fontsizes);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,true);
}
}
********************** В КОДЕ *********************************
double LW=iLow(NULL,PERIOD_H1,i); // ЦИКЛ I
***********
LabText(0,"NAME ("+string(i)+")",DoubleToString(bbull[i],0),iTime(NULL,PERIOD_H1,i),
LW-(8*_Point),12,clrWhite);
ExtLineBuffer1[i]=iHigh(NULL,PERIOD_H1,i);
OnTimer()という関数が あるのですが、これは一日の始まりに実行され、その結果EAがスリープ状態になるものです。OnTimer()関数の次の実行時間を翌日の頭に設定し、その後にEAが同じ瞬間(例えば-1秒)までスリープする場合、タイムカウンターはまだ動いていて、1秒後にスリープから復帰した後に関数が実行されるのでしょうか。
P.S.もうひとつ、少し心配なのは、どうしてこんな安っぽい文体でドキュメントが書かれているのか、ということです。コードスペースや括弧の演出のことですが、「プログラミング実習の小学生」と「mqlで書いている人」以外で、こんなものを作っている人を見たことがありません。
for(int x=0;x<10;x++)
{
}
このサイトでは何とか修正しています。括弧についてですが、括弧は表組みで配置される、つまり、括弧の位置を直感的に縦になぞることはできない、という意味です。
OnTimer()という関数が あるのですが、これは一日の始まりに実行され、その結果EAがスリープ状態になるものです。OnTimer()関数の次の実行時間を翌日の頭に設定し、その後にEAが同じ瞬間(例えば-1秒)までスリープする場合、タイムカウンターはまだ動いていて、1秒後にスリープから復帰した後に関数が実行されるのでしょうか。
P.S.もうひとつ、少し心配なのは、どうしてこんな安っぽい文体でドキュメントが書かれているのか、ということです。コードスペースや括弧の演出のことですが、「プログラミング実習の小学生」と「mqlで書いている人」以外で、こんなものを作っている人を見たことがありません。
for(int x=0;x<10;x++)
{
}
括弧については、表組みで括弧が置かれる、つまり、括弧が縦にどこに行くのか直感的に追えないという意味です。
括弧が入るところを縦になぞることができないので、どこに入るのかがわからなくなります。5分間スリープさせ、10秒ごとにPrintをOnTimerに入れることができます。これで疑問が解けるはずです。他のどの機能でも、メインアルゴリズムのモードを決定するキーを変更するだけで良いのなら、なぜスリープにするのでしょうか?
みなさん、こんにちは。
MT5でQUESTION。テキストマーク(数字)は、薄いグレーのバーとして表示されます。ドットは、私の頭の中でMT5のブループを視覚化するためのコントロールバッファです...。
OBJ_TEXTの Documentationと比較すると、同じように見えますが・・・。
みなさん、こんにちは。
MT5でQUESTION。テキストマーク(数字)は、薄いグレーのバーとして表示されます。ドットは、私の頭の中でMT5のブループを視覚化するためのコントロールバッファです...。
OBJ_TEXTの Documentationと比較すると、同じように見えますが・・・。
fontsizes パラメータに渡すものを見る
fontsizes パラメータに渡すものを見る
ありがとうございます! グローバル変数 からフォントサイズを入れました。 void LabText 関数で設定します。うまくいった...。
テンプレートを適用すると描画されたラインが全て削除されてしまうので、スクリプトでチャート上にインジケーターを 追加・削除したいのですが、どうすればよいでしょうか?
返信を受け取る
2019.01.24 19:14:53.633 add_ind (EURJPY,H1) cannot load indicator 'Moving Average' [4302]を読み込むことができません。
しかし、コードはエラーなしでコンパイルされます。
テンプレートを適用すると描画されたラインが全て削除されてしまうので、スクリプトでチャート上にインジケーターを 追加・削除したいのですが、どうすればよいでしょうか?
返信を受け取る
2019.01.24 19:14:53.633 add_ind (EURJPY,H1) cannot load indicator 'Moving Average' [4302]を読み込むことができません。
コードはエラーなくコンパイルされますが。
err_market_not_selected
4302
MarketWatchでシンボルが選択されていません。
なぜ、シンボル名の代わりに0を入れるのですか?もし、現在のものが欲しければ、NULLか、その名前、例えば "EURUSD "を書かなければならない。
アイエムエー
移動平均インディケータハンドルを返します。バッファは1つだけ。
intiMA(
列 シンボル, // シンボル名
ENUM_TIMEFRAMESperiod, // 期間
イント ma_period, // 平均化期間
イント ma_shift, // インジケータ水平シフト
ENUM_MA_METHODma_method, // スムージングの種類
ENUM_APPLIED_PRICE applied_price // 価格のタイプまたはハンドル
);
パラメータ
記号
[インジケータを 計算するためにデータが使用される機器のシンボル名。NULLは カレントシンボルを意味する。
時期
[ENUM_TIMEFRAMES 列挙の値のいずれかを指定し、0は現在のタイムフレームを意味する。
マ期間
[移動平均計算の平均化期間。
ma_shift
[価格チャートに対するインジケータの移動量。
ma_method
[中略) 平均化法。ENUM_MA_METHODの 値のいずれかを指定することができます。
適用価格
[中】 使用した価格。ENUM_APPLIED_PRICEの 価格定数のいずれか、または他のインジケーターのハンドルである可能性があります。
戻り値
指定されたテクニカルインジケーターのハンドルを返します 。 IndicatorRelease() 関数は、使用しなくなったインジケータをコンピュータのメモリから解放するために使用されます。
こんにちは、MAハンドルの配列が通常の価格を返すようにする方法を教えてください。
冷ややか)
こんにちは、MAハンドルの配列が通常の価格を返すようにする方法を教えてください。
mt5言語
mt5のDoubleToStrは、DoubleToString() がないのですが、 それはしょうがないとして