voidOnStart() { //--- запрашиваем общее количество сигналов в базе int total=SignalBaseTotal(); //--- цикл по всем сигналам for(int i=0;i<total;i++) { //--- выбираем сигнал для дальнейшей работы if(SignalBaseSelect(i)) { //--- получение свойств сигнала long id =SignalBaseGetInteger(SIGNAL_BASE_ID); // id сигнала long pips =SignalBaseGetInteger(SIGNAL_BASE_PIPS); // результат торговли в пипсах long subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков string name =SignalBaseGetString(SIGNAL_BASE_NAME); // имя сигнала double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE); // цена подписки на сигнал string curr =SignalBaseGetString(SIGNAL_BASE_CURRENCY); // валюта сигнала long rating=SignalBaseGetInteger(SIGNAL_BASE_RATING); // рейтинг и есть //--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков if(price==0.0 && pips>0 && subscr>0) PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr); } elsePrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError()); } }
voidOnStart() { //--- запрашиваем общее количество сигналов в базе int total=SignalBaseTotal(); //--- цикл по всем сигналам for(int i=0;i<total;i++) { //--- выбираем сигнал для дальнейшей работы if(SignalBaseSelect(i)) { //--- получение свойств сигнала long id =SignalBaseGetInteger(SIGNAL_BASE_ID); // id сигнала long pips =SignalBaseGetInteger(SIGNAL_BASE_PIPS); // результат торговли в пипсах long subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков string name =SignalBaseGetString(SIGNAL_BASE_NAME); // имя сигнала double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE); // цена подписки на сигнал string curr =SignalBaseGetString(SIGNAL_BASE_CURRENCY); // валюта сигнала long rating=SignalBaseGetInteger(SIGNAL_BASE_RATING); // рейтинг и есть //--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков if(price==0.0 && pips>0 && subscr>0) PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr); } elsePrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError()); } }
おかしいな、開発者が何かやらかしたのでは?Nameとは別に、機能はどう違うのでしょうか?
指定したシンボルと曜日の 気配値の 開始時刻と終了時刻を取得することができます。
и
指定したシンボルと曜日の、指定した取引 セッションの開始時刻と終了時刻を取得することができるようにします。
理解していないとやりすぎになる可能性がある)
一度に相場が決まっている商品もありますが、ある時間帯にしか取引できないので、2つの機能があるわけです。
皆さん、私の質問がメッセージの中に紛れ込んでいるので、あえてもう一度質問します。
このような構造があり、ターミナルにあるすべてのオープン チャートを通過します。
if(currChart == график тестера) continue; // Что сюда написать?
ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}
チャートがメインではなく、テスターモードで開いていることを知り、それをスキップするにはどうしたらよいでしょうか?
ありがとうございました。
こんにちは、同僚。このようなエラーのためのハンドラを提案してもらえますか?
ありがとうございます。
皆さん、信号がレーティングのどの位置にあるかをすぐに知るにはどうしたらよいでしょうか。
シグナル」→「マイシグナル」で、シグナル名の最初に数字が表示されます - これは、シグナルショーケースのランキングにおけるポジション番号です。
皆さん、信号のランキングをすぐに知るにはどうしたらいいのでしょうか?
プログラム的に?こんな感じ。
{
//--- запрашиваем общее количество сигналов в базе
int total=SignalBaseTotal();
//--- цикл по всем сигналам
for(int i=0;i<total;i++)
{
//--- выбираем сигнал для дальнейшей работы
if(SignalBaseSelect(i))
{
//--- получение свойств сигнала
long id =SignalBaseGetInteger(SIGNAL_BASE_ID); // id сигнала
long pips =SignalBaseGetInteger(SIGNAL_BASE_PIPS); // результат торговли в пипсах
long subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
string name =SignalBaseGetString(SIGNAL_BASE_NAME); // имя сигнала
double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE); // цена подписки на сигнал
string curr =SignalBaseGetString(SIGNAL_BASE_CURRENCY); // валюта сигнала
long rating=SignalBaseGetInteger(SIGNAL_BASE_RATING); // рейтинг и есть
//--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
if(price==0.0 && pips>0 && subscr>0)
PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
}
else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
}
}
プログラム的に?こんな感じ。
{
//--- запрашиваем общее количество сигналов в базе
int total=SignalBaseTotal();
//--- цикл по всем сигналам
for(int i=0;i<total;i++)
{
//--- выбираем сигнал для дальнейшей работы
if(SignalBaseSelect(i))
{
//--- получение свойств сигнала
long id =SignalBaseGetInteger(SIGNAL_BASE_ID); // id сигнала
long pips =SignalBaseGetInteger(SIGNAL_BASE_PIPS); // результат торговли в пипсах
long subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
string name =SignalBaseGetString(SIGNAL_BASE_NAME); // имя сигнала
double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE); // цена подписки на сигнал
string curr =SignalBaseGetString(SIGNAL_BASE_CURRENCY); // валюта сигнала
long rating=SignalBaseGetInteger(SIGNAL_BASE_RATING); // рейтинг и есть
//--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
if(price==0.0 && pips>0 && subscr>0)
PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
}
else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
}
}
皆さん、私の質問がメッセージの中に紛れ込んでいるので、あえてもう一度質問します。
このような構造があり、ターミナルにあるすべてのオープン チャートを通過します。
if(currChart == график тестера) continue; // Что сюда написать?
ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}
チャートがメインではなく、テスターモードで開いていることを知り、それをスキップするにはどうしたらよいでしょうか?
ありがとうございました。
何か明らかにプロパティーがおかしい。また、テスターモードで、チャート上に何か、例えばトリッキーな名前のボタンを作成し、その存在を確認する場合はどうでしょうか。