EURUSD->1.29, USDGBP->0.22와 같은 혼합 유형 데이터 구조를 사용할 수 없으므로 가격 변동에 따라 기호 목록을 저장하고 정렬하는 가장 좋은 솔루션은 무엇입니까?
열거형이 없고 mql4에서 문자열과 관련 이중 값을 보유할 수 있는 혼합 유형 데이터 구조 가 없습니다. 내가 생각할 수있는 솔루션은 파일을 사용하는 것이지만 거의 일정한 디스크 읽기 및 쓰기 작업이 필요합니다. 또는 세 개의 배열을 사용하려면; 1은 기호 목록용, 하나는 인덱스 자리 값의 저장 및 추적용, 다른 하나는 실제 값용입니다.
매우 기본적인(간단한) 문제를 코딩해야 하는 것 같습니다. 내가 원하는 유일한 것은 상대 강도에 대해 모든 유로 쌍을 서로 비교하는 것입니다. 이 문제를 어떻게 해결하시겠습니까? 어떤 데이터 구조를 추천하시겠습니까?
판매용 인디를 디자인하는 작가 Kravchuk의 인디를 찾고 있습니다. 구매하고 싶었지만 결제 방법(금액이 아닌!?)을 조정할 수 없습니다. 자신의 인디 ft.dejavu, ft.rainbow,barstatline,diver,linerenko가 있습니까? 도움을 주시면 감사하겠습니다. 고맙습니다
bershk: 안녕하세요 커뮤니티, 저는 판매용 인디를 디자인하는 작가 Kravchuk의 인디를 찾고 있습니다. 구매하고 싶었지만 결제 방법(금액이 아닌!?)을 조정할 수 없습니다. 자신의 인디 ft.dejavu, ft.rainbow,barstatline,diver,linerenko가 있습니까? 도움을 주시면 감사하겠습니다. 고맙습니다
안녕하세요 베르쉬크
귀하의 요청이 아직 유효하지 않은 경우 여기에서 도움을 드릴 수 있습니다. 이러한 표시기 중 일부를 사용하여 작업했습니다.
저작자로부터 라이선스를 구매해야 하며 디컴파일되거나 불법적으로 획득한 자료를 제공하지 않습니다.
혼합형 자료구조의 부족을 해결하는 방법
안녕 여러분,
코드의 일부를 도와달라는 개인적인 메시지를 많이 받았습니다.
여기에 MQL4와 관련된 질문을 게시할 수 있습니다. 최선을 다해 답변해 드리겠습니다.여보세요,
귀하의 초대를 사용하여 다음 문제를 제기하고 싶습니다.
EURUSD->1.29, USDGBP->0.22와 같은 혼합 유형 데이터 구조를 사용할 수 없으므로 가격 변동에 따라 기호 목록을 저장하고 정렬하는 가장 좋은 솔루션은 무엇입니까?
열거형이 없고 mql4에서 문자열과 관련 이중 값을 보유할 수 있는 혼합 유형 데이터 구조 가 없습니다. 내가 생각할 수있는 솔루션은 파일을 사용하는 것이지만 거의 일정한 디스크 읽기 및 쓰기 작업이 필요합니다. 또는 세 개의 배열을 사용하려면; 1은 기호 목록용, 하나는 인덱스 자리 값의 저장 및 추적용, 다른 하나는 실제 값용입니다.
매우 기본적인(간단한) 문제를 코딩해야 하는 것 같습니다. 내가 원하는 유일한 것은 상대 강도에 대해 모든 유로 쌍을 서로 비교하는 것입니다. 이 문제를 어떻게 해결하시겠습니까? 어떤 데이터 구조를 추천하시겠습니까?
이 초보자에 대한 답변이나 지침에 감사드립니다!
비버풀
상대 강도 및 상관 관계 지표 검색
여보세요,
EURUSD->1.29, USDGBP->0.22와 같은 혼합 유형 데이터 구조를 사용할 수 없으므로 가격 변동에 따라 기호 목록을 저장하고 정렬하는 가장 좋은 솔루션은 무엇입니까?
...
매우 기본적인(간단한) 문제를 코딩해야 하는 것 같습니다. 내가 원하는 유일한 것은 상대 강도에 대해 모든 유로 쌍을 서로 비교하는 것입니다. 이 문제를 어떻게 해결하시겠습니까? 어떤 데이터 구조를 추천하시겠습니까?
이 초보자에 대한 답변이나 지침에 감사드립니다! 비버풀안녕하세요 비버풀입니다.
상대 강도 지표 및 상관 관계 지표에 대한 이 Forex TSD 사이트를 검색하십시오...
이러한 유형의 지표는 다양한 쌍과 가격 및 상대적인 강점을 분석하도록 설계되었습니다.
하고 싶은 일에 대한 좋은 예를 찾을 수 있습니다.
도움이 되었기를 바랍니다,
로버트
답변 주셔서 감사합니다
안녕하세요 비버풀입니다.
상대 강도 지표 및 상관 관계 지표에 대한 이 Forex TSD 사이트를 검색하십시오...
이러한 유형의 지표는 다양한 쌍과 가격 및 상대적인 강점을 분석하도록 설계되었습니다.
하고 싶은 일에 대한 좋은 예를 찾을 수 있습니다.
도움이 되었기를 바랍니다,
로버트안녕하세요 귀하의 답변에 감사드리며 제안된 스레드를 확실히 검색하겠습니다. 그러나 너무 많은 코드가 있습니다.
그 동안 나는 C에서 짧은 프로토타입을 만들었습니다. 데이터가 작은 집합으로만 구성되어 있기 때문에 기본 삽입 정렬 을 사용하고 그에 따라 문자열 배열을 업데이트하도록 루틴을 업데이트했습니다.
이번 주 후반에 첫 번째 mql4 프로그램으로 이식(복사/붙여넣기)할 것입니다. 다음은 다른 사람에게 유용하거나 누군가가 더 나은 것을 만들기 위해 주석을 달고 싶어하는 코드입니다.
#include
int main(void) {
int max = 5;
int array[5] = { 3, 5, 2, 1, 4 };
char *symbl[5] = { "EURUSD", "EURGBP", "EURJPY", "EURCHF", "EURCAD" };
int idx = 0;
int swp = 0;
int tmp = 0;
char *tmpsymb = NULL;
printf("--- before\n");
for(idx = 0; idx <= max - 1; idx++) {
printf("%d - %s\n", array, symbl);
}
for(idx = 1 ; idx <= max - 1; idx++) {
swp = idx;
while(swp > 0 && array[swp] < array[swp - 1]) {
tmp = array[swp];
tmpsymb = symbl[swp];
array[swp] = array[swp - 1];
symbl[swp] = symbl[swp - 1];
array[swp - 1] = tmp;
symbl[swp - 1] = tmpsymb;
swp--;
}
}
printf("--- after\n");
for(idx = 0; idx <= max - 1; idx++) {
printf("%d - %s\n", array, symbl);
}
return 0;
}
프로그램은 다음을 인쇄해야 합니다.
--- 전에
3 - EURUSD
5 - EURGBP
2 - EURJPY
1 - EURCHF
4 - EURCAD
--- 후에
1 - EURCHF
2 - EURJPY
3 - EURUSD
4 - EURCAD
5 - EURGBP
작가 Kravchuk의 인디를 찾고 있습니다
안녕하세요 커뮤니티입니다.
판매용 인디를 디자인하는 작가 Kravchuk의 인디를 찾고 있습니다. 구매하고 싶었지만 결제 방법(금액이 아닌!?)을 조정할 수 없습니다. 자신의 인디 ft.dejavu, ft.rainbow,barstatline,diver,linerenko가 있습니까? 도움을 주시면 감사하겠습니다. 고맙습니다
안녕하세요 커뮤니티, 저는 판매용 인디를 디자인하는 작가 Kravchuk의 인디를 찾고 있습니다. 구매하고 싶었지만 결제 방법(금액이 아닌!?)을 조정할 수 없습니다. 자신의 인디 ft.dejavu, ft.rainbow,barstatline,diver,linerenko가 있습니까? 도움을 주시면 감사하겠습니다. 고맙습니다
안녕하세요 베르쉬크
귀하의 요청이 아직 유효하지 않은 경우 여기에서 도움을 드릴 수 있습니다. 이러한 표시기 중 일부를 사용하여 작업했습니다.
저작자로부터 라이선스를 구매해야 하며 디컴파일되거나 불법적으로 획득한 자료를 제공하지 않습니다.
구매에 관심이 있으시면 저자의 현재 가격:
데자부 - $20; 레인보우 - $15; 바스타트린 - $10; 다이버 - $20 LineRenko - $15.
구매에 도움이 필요하시면 info@raitsoft.com 으로 메일을 보내주시면 수수료 없이 라이선스 구매를 도와드리겠습니다.
안녕 친구들 ...........
나는 mql4에서 프로그래밍하는 법을 배우기 시작했고, 시작하기 위해 idicators와 ea를 분석했습니다.
나는 "daily_close _line" 표시기를 보고 코드를 보고 그들이 무엇을 하고 있는지 전혀 알 수 없는 코드 줄을 실행합니다. 그리고 그들이 어떻게 작동하는지.
같은 코드를 살펴보고 무슨 일이 일어나고 있는지 알려주세요.
미리 감사드립니다.
에란
//* my_DailyOpen_indicator
//*
//* Revision 1.1 2005/11/13 Midnite
//* Initial DailyOpen indicator
//* based pm
//*
#property copyright "Midnite"
#property link "me@home.net"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
#property indicator_style1 2
#property indicator_width1 1
double TodayOpenBuffer[];
extern int TimeZoneOfData= 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,TodayOpenBuffer);
SetIndexLabel(0,"Open");
SetIndexEmptyValue(0,0.0);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int lastbar;
int counted_bars= IndicatorCounted();
if (counted_bars>0) counted_bars--;
lastbar = Bars-counted_bars;
DailyOpen(0,lastbar);
return (0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int DailyOpen(int offset, int lastbar)
{
int shift;
int tzdiffsec= TimeZoneOfData * 3600;
double barsper30= 1.0*PERIOD_M30/Period();
bool ShowDailyOpenLevel= True;//<<<<---------- thise line-------------------------------
// lastbar+= barsperday+2; // make sure we catch the daily open
lastbar= MathMin(Bars-20*barsper30-1, lastbar);//<<<<-------------------thise line-----------------------
for(shift=lastbar;shift>=offset;shift--){
TodayOpenBuffer[shift]= 0;
if (ShowDailyOpenLevel){
if(TimeDay(Time[shift]-tzdiffsec) != TimeDay(Time[shift+1]-tzdiffsec)){ // day change
TodayOpenBuffer[shift]= Open[shift];
TodayOpenBuffer[shift+1]= 0; // avoid stairs in the line
}
else{
TodayOpenBuffer[shift]= TodayOpenBuffer[shift+1];
}
}
}
return(0);
}ERAN123
다음을 수행합니다. 일일 시가 를 찾고(TimeZoneOfData를 시간대 이동으로 고려) 해당 날짜를 통해 선을 그립니다. 다음은 하루 동안 동일한 일일 시가를 그리는 방법을 쉽게 볼 수 있는 그림입니다.
나는 mql4에서 프로그래밍하는 법을 배우기 시작했고, 시작하기 위해 idicators와 ea를 분석했습니다.
나는 "daily_close _line" 표시기를 보고 코드를 보고 그들이 무엇을 하고 있는지 전혀 알 수 없는 코드 줄을 실행합니다. 작동 방식.
같은 코드를 살펴보고 무슨 일이 일어나고 있는지 알려주세요.
미리 감사드립니다.
에란
//* my_DailyOpen_indicator
//*
//* Revision 1.1 2005/11/13 Midnite
//* Initial DailyOpen indicator
//* based pm
//*
#property copyright "Midnite"
#property link "me@home.net"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
#property indicator_style1 2
#property indicator_width1 1
double TodayOpenBuffer[];
extern int TimeZoneOfData= 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,TodayOpenBuffer);
SetIndexLabel(0,"Open");
SetIndexEmptyValue(0,0.0);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int lastbar;
int counted_bars= IndicatorCounted();
if (counted_bars>0) counted_bars--;
lastbar = Bars-counted_bars;
DailyOpen(0,lastbar);
return (0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int DailyOpen(int offset, int lastbar)
{
int shift;
int tzdiffsec= TimeZoneOfData * 3600;
double barsper30= 1.0*PERIOD_M30/Period();
bool ShowDailyOpenLevel= True;//<<<<---------- thise line-------------------------------
// lastbar+= barsperday+2; // make sure we catch the daily open
lastbar= MathMin(Bars-20*barsper30-1, lastbar);//<<<<-------------------thise line-----------------------
for(shift=lastbar;shift>=offset;shift--){
TodayOpenBuffer[shift]= 0;
if (ShowDailyOpenLevel){
if(TimeDay(Time[shift]-tzdiffsec) != TimeDay(Time[shift+1]-tzdiffsec)){ // day change
TodayOpenBuffer[shift]= Open[shift];
TodayOpenBuffer[shift+1]= 0; // avoid stairs in the line
}
else{
TodayOpenBuffer[shift]= TodayOpenBuffer[shift+1];
}
}
}
return(0);
}ERAN123
다음을 수행합니다. 일일 시가를 찾고(TimeZoneOfData를 시간대 이동으로 고려) 해당 날짜를 통해 선을 그립니다. 다음은 하루 동안 동일한 일일 시가를 그리는 방법을 쉽게 볼 수 있는 그림입니다.
죄송합니다.
이중 barsper30= 1.0*PERIOD_M30/기간();
그리고 이것도.
lastbar= MathMin(Bars-20*barsper30-1, lastbar);
"20"과 "-1"은 무엇이며 두 줄은 어떻게 함께 작동합니까?
전리품 감사합니다.
원래 다른 것을 썼습니다.
해당 라인은 잊어버리십시오. 어떤 이유로 값이 계산되기 시작하는 시작점을 제한하려고 합니다(차트에서 가장 오래된 막대에서 몇 시간 거리여야 함). 코더가 그것으로 달성하고 싶었던 것은 아마도 그에게만 알려져 있었을 것입니다.
죄송합니다.
이중 barsper30= 1.0*PERIOD_M30/기간();
그리고 이것도.
lastbar= MathMin(Bars-20*barsper30-1, lastbar);
"20"과 "-1"은 무엇이며 두 줄은 어떻게 함께 작동합니까?
전리품 감사합니다.고마워 내 친구 ..... 당신은 나를 도왔습니다