조언 감사합니다. 다 잘되는데 인디케이터를 설치하면 이상하게 그려집니다.(차트 참조) 차트 창의 왼쪽 가장자리에서 노란색 수직선까지 들여쓰기(막대)는 항상 창에 표시되는 막대의 개수에 관계없이 일정하며 8개의 막대와 같습니다. 이 8개의 막대가 창의 왼쪽 경계를 넘어가면 즉시 모든 차트 라인이 나타나고 모든 것이 잘 됩니다. 이 문제를 해결할 수 있고 어떻게 해야 합니까?
조언 감사합니다. 다 잘되는데 인디케이터를 설치하면 이상하게 그려집니다.(차트 참조) 차트 창의 왼쪽 가장자리에서 노란색 수직선까지 들여쓰기(막대)는 항상 창에 표시되는 막대의 개수에 관계없이 일정하며 8개의 막대와 같습니다. 이 8개의 막대가 창의 왼쪽 경계를 넘어가면 즉시 모든 차트 라인이 나타나고 모든 것이 잘 됩니다. 이 문제를 해결할 수 있고 어떻게 해야 합니까?
이렇게 시도
int limit;
int counted_bars= IndicatorCounted ();
if (counted_bars> 0 ) counted_bars--;
limit= Bars -counted_bars;
이 코드 구성은 각각의 새로운 틱이 0과 첫 번째(검증용) 막대에서만 표시기를 다시 계산할 수 있도록 하고 이미 계산된 표시기를 다시 계산하지 않도록 합니다. 이 섹션에서는 이전 게시물에 표시된 문제를 해결하도록 도와주세요. 예를 들어 모든 내용을 이해하지 못합니다. 이 세 줄을 한 줄씩 설명할 수 있는 사람이 있습니까?
// обработка видимых баров.
int bars_count=WindowBarsPerChart();
int bar=WindowFirstVisibleBar();
for(int i=0; i<bars_count; i++,bar--)
{
// номера баров уменьшаются, так как нумерация идет в обратном порядке.
// ...
}
MK07 : 이 코드 구성은 각각의 새로운 틱이 0과 첫 번째(검증용) 막대에서만 표시기를 다시 계산할 수 있도록 하고 이미 계산된 표시기를 다시 계산하지 않도록 합니다. 이 섹션에서는 이전 게시물에 표시된 문제를 해결하도록 도와주세요. 예를 들어 모든 내용을 이해하지 못합니다. 이 세 줄을 한 줄씩 설명할 수 있는 사람이 있습니까?
표시기의 MAX 및 MIN 가시 막대 를 찾아야 하는 경우 먼저 표시기를 그린 다음 검색해야 하는 경우 필요한 것이 완전히 명확하지 않습니다.
WindowPriceMax(), WindowPriceMin() 을 사용하는 것이 더 나을 수도 있습니다.
조언 감사합니다. 다 잘되는데 인디케이터를 설치하면 이상하게 그려집니다.(차트 참조) 차트 창의 왼쪽 가장자리에서 노란색 수직선까지 들여쓰기(막대)는 항상 창에 표시되는 막대의 개수에 관계없이 일정하며 8개의 막대와 같습니다. 이 8개의 막대가 창의 왼쪽 경계를 넘어가면 즉시 모든 차트 라인이 나타나고 모든 것이 잘 됩니다. 이 문제를 해결할 수 있고 어떻게 해야 합니까?
#property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Aqua #property indicator_color4 DarkOrange #property indicator_width1 2 #property indicator_width3 2 //--- buffers double Macd1Buffer[]; double Signal1Buffer[]; double Macd2Buffer[]; double Signal2Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Macd1Buffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Signal1Buffer); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,Macd2Buffer); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,Signal2Buffer); IndicatorDigits(Digits); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Comment(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double max1=-0.01,min1=0.01, max2=-0.01,min2=0.01, max_M1=-0.01,min_M1=0.01, max_M2=-0.01,min_M2=0.01, max_S1=-0.01,min_S1=0.01, max_S2=-0.01,min_S2=0.01; int bars_counted=WindowBarsPerChart()-1, limit; limit=bars_counted; //---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) { Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i); Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i); max_M1=MathMax(Macd1Buffer[i],max_M1); min_M1=MathMin(Macd1Buffer[i],min_M1); max_M2=MathMax(Macd2Buffer[i],max_M2); min_M2=MathMin(Macd2Buffer[i],min_M2); } for( i=0; i<limit; i++) { Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i); Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i); max_S1=MathMax(Signal1Buffer[i],max_S1); min_S1=MathMin(Signal1Buffer[i],min_S1); max_S2=MathMax(Signal2Buffer[i],max_S2); min_S2=MathMin(Signal2Buffer[i],min_S2); } max1=MathMax(max_M1,max_S1); min1=MathMin(min_M1,min_S1); //---- done Comment( "\n"," Баров = ",WindowBarsPerChart()-1, "\n"," max_M1 = ",max_M1, "\n"," min_M1 = ",min_M1, "\n"," max_S1 = ",max_S1, "\n"," min_S1 = ",min_S1, "\n"," max_M2 = ",max_M2, "\n"," min_M2 = ",min_M2, "\n"," max_S2 = ",max_S2, "\n"," min_S2 = ",min_S2, "\n"," max1 = ",max1, "\n"," min1 = ",min1, "\n"," max2 = ",max2, "\n"," min2 = ",min2); //---- return(0); } //+------------------------------------------------------------------+조언 감사합니다. 다 잘되는데 인디케이터를 설치하면 이상하게 그려집니다.(차트 참조) 차트 창의 왼쪽 가장자리에서 노란색 수직선까지 들여쓰기(막대)는 항상 창에 표시되는 막대의 개수에 관계없이 일정하며 8개의 막대와 같습니다. 이 8개의 막대가 창의 왼쪽 경계를 넘어가면 즉시 모든 차트 라인이 나타나고 모든 것이 잘 됩니다. 이 문제를 해결할 수 있고 어떻게 해야 합니까?
이렇게 시도
// обработка видимых баров. int bars_count=WindowBarsPerChart(); int bar=WindowFirstVisibleBar(); for(int i=0; i<bars_count; i++,bar--) { // номера баров уменьшаются, так как нумерация идет в обратном порядке. // ... }이 코드 구성은 각각의 새로운 틱이 0과 첫 번째(검증용) 막대에서만 표시기를 다시 계산할 수 있도록 하고 이미 계산된 표시기를 다시 계산하지 않도록 합니다. 이 섹션에서는 이전 게시물에 표시된 문제를 해결하도록 도와주세요. 예를 들어 모든 내용을 이해하지 못합니다. 이 세 줄을 한 줄씩 설명할 수 있는 사람이 있습니까?
표시기의 MAX 및 MIN 가시 막대 를 찾아야 하는 경우 먼저 표시기를 그린 다음 검색해야 하는 경우 필요한 것이 완전히 명확하지 않습니다.
WindowPriceMax(), WindowPriceMin() 을 사용하는 것이 더 나을 수도 있습니다.
스테판2
공장
결국 배열에 결함이 있지만 동안
c 문제가 없는 작업을 위해
))
안녕하세요.
여러분, 조언자를 테스트하는 방법을 알려주세요. 내장된 MT가 모델링 품질의 평균 50%를 제공하고 사람들이 스크린샷에 90% 이상을 게시하기 때문입니다.
안녕하세요.
여러분, 조언자를 테스트하는 방법을 알려주세요. 내장된 MT가 모델링 품질의 평균 50%를 제공하고 사람들이 스크린샷에 90% 이상을 게시하기 때문입니다.
전체 분 기록이 있는 경우 90%가 됩니다. 99%는 fxt 틱 기록 을 직접 생성하여 달성합니다. 이것은 일반적으로 dukascopy 인용문을 사용하여 수행됩니다. Google에서 99% 테스트 품질과 관련된 스크립트를 검색합니다.
좋은 오후, 동일한 유형의 주문이 마지막 주문에서 50 포인트 배치되도록 어드바이저 코드에서 조건을 구현하는 방법