#property strict#include "Signals.mqh"#include "Distribution.mqh"#include "File.mqh"// Получение цены сигнала
SIMPLE_GETVALUE_MACROS(GetSignalPrice, SIGNAL, Source.Price)
// Получение количества подписчиков сигнала
SIMPLE_GETVALUE_MACROS(GetSignalSubscribers, SIGNAL, Source.Subscribers)
// Получение произведения X * Y элемента распределения
SIMPLE_GETVALUE_MACROS(GetDistributionXY, DISTRIBUTION_UNIT, Source.X * Source.Y);
// Условие сортировки сигналов по прибыльности сигнала
SIMPLE_COMPARE_MACROS(CompareByGain, SIGNAL, Source.Gain)
// Условие сортировки сигналов по фактору восстановления сигнала
SIMPLE_COMPARE_MACROS(CompareByRecoveryFactor, SIGNAL, Source.MaxDD == 0 ? DBL_MAX : Source.Gain / Source.MaxDD)
// Условие сортировки сигналов по доходу с подписчиков
SIMPLE_COMPARE_MACROS(CompareByIncome, SIGNAL, Source.Subscribers * Source.Price)
// Условие сортировки распределения по X
SIMPLE_COMPARE_MACROS(CompareByX, DISTRIBUTION_UNIT, Source.X)
voidOnStart ( void )
{
// Получили сигналы
SIGNALS Signals;
// Отсортировали сигналы по прибыльности
Signals.Sort( new CompareByGain(MODE_DESCEND));
FILE::StringToFile( "Signals_Gain.txt" , Signals.ToString(TRUE));
// Отсортировали сигналы по доходу с подписчиков
Signals.Sort( new CompareByIncome(MODE_DESCEND));
FILE::StringToFile( "Signals_Income.txt" , Signals.ToString(TRUE));
// Отсортировали сигналы по фактору восстановления
Signals.Sort( new CompareByRecoveryFactor(MODE_DESCEND));
FILE::StringToFile( "Signals_RF.txt" , Signals.ToString(TRUE));
// Получили распределение зависимости количества подписчиков (Y) от цены на подписку (X)
DISTRIBUTION Distribution(Signals, new GetSignalSubscribers, new GetSignalPrice);
// Отсортировали полученное распределение по цене
Distribution.Sort( new CompareByX);
FILE::StringToFile( "Distribution.txt" , "Price Subscribers\n" + Distribution.ToString());
string Str = "Всего сигналов: " + ( string )Signals.GetAmount() +
"\nВсего подписчиков: " + DoubleToString (Signals.GetSum( new GetSignalSubscribers), 0 ) +
"\nСуммарно они платят: $" + DoubleToString (Distribution.GetSum( new GetDistributionXY), 2 ) +
"\n\nПодробнее распределение:\nЦена Подписчики\n" + Distribution.ToString() +
"\nСм. подробнее *.txt файлы." ;
MessageBox (Str);
FILE::StringToFile( "MessageBox.txt" , Str);
return ;
}
결과:
Всего сигналов: 924
Всего подписчиков: 4057
Суммарно они платят: $ 45706.45
Подробнее распределение:
Цена Подписчики
0.000000003012.0000000020.00000000334.0000000021.0000000043.0000000022.000000003.0000000024.0000000031.0000000025.0000000027.0000000026.000000001.0000000028.000000003.0000000029.00000000386.0000000029.9900000026.0000000030.0000000025.0000000035.0000000079.0000000038.900000004.0000000039.0000000012.0000000049.000000002.0000000050.000000003.0000000059.000000003.0000000060.000000001.0000000077.000000004.0000000079.000000007.0000000099.000000001.00000000100.000000001.00000000110.000000001.00000000111.110000001.00000000150.000000001.00000000400.0000000045.00000000500.000000001.00000000
См. подробнее *.txt файлы.
TheXpert : 통계가 거의 없습니다. 심각하지 않습니다. 그러나 가격을 올리는 것은 의미가 없습니다.
나는 동의합니다. 최적의 가격은 약 $30입니다. 이것은 일반적이지 않기 때문에 차트에 $400 및 $500의 가격으로 마지막 2개 포인트를 표시하지 않았지만 이것이 이 연구의 가치입니다. 일반적으로 재화와 용역 시장의 특징인 물가 상승에 따른 소득 감소의 패턴이 관찰된다. 일부 전파는 분명히 신호의 품질 및 신호 소유자의 성격과 관련이 있습니다(그가 이전의 업적으로 더 유명할수록 미래에 좋은 결과를 기대하면서 "미리" 더 많이 연결됩니다) .
스크립트 (파일을 첨부하세요):
결과:
전체 서비스에 대한 통계에서 더 흥미로운 것을 보지 못했습니다.어떻게든 그들은 제로 드로우다운을 계산할 수 있었습니다.
어떻게든 그들은 제로 드로우다운을 계산할 수 있었습니다.
API-Signals에는 최신 정보가 포함되어 있지 않은 것으로 나타났습니다. 터미널을 다시 시작해도 신호에 대한 정보는 업데이트되지 않습니다. 웹에 훨씬 더 최신 정보가 있습니다.
지금 이 API 신호를 원시하십시오.
스크립트 (파일을 첨부하세요):
결과:
전체 서비스에 대한 통계에서 더 흥미로운 것을 보지 못했습니다.통계가 거의 없습니다. 심각하지 않습니다. 그러나 가격을 올리는 것은 의미가 없습니다.
총 신호: 921. 브로커별 분배(브로커 - 번호):
총 가입자: 4229. 시그널 브로커별 가입자 분포(브로커 - 번호):
모든 숫자 < 10은 표시되지 않았습니다. 이 통계는 많은 것을 말해줍니다...
이 통계는 많은 것을 말해줍니다...
그러나 이 신호 (구독자와 함께!)는 분명히 사기입니다. 그러나 어떤 이유로 실제 터미널 및 API-Signals를 통해 사용할 수 있습니다. 따라서 통계적 접근 방식을 사용하면 "개자식"을 쉽게 찾을 수 있습니다.
개발자(및 기타)는 참고하십시오.
그러나 이 신호 (구독자와 함께!)는 분명히 사기입니다. 그러나 어떤 이유로 실제 터미널 및 API-Signals를 통해 사용할 수 있습니다. 따라서 통계적 접근 방식을 사용하면 "개자식"을 쉽게 찾을 수 있습니다.
개발자(및 기타)는 참고하십시오.