過ma20後遇到黃金交叉就進場 while 迴圈

  •   143 
  • 最後發表   paulpaul  2021 一月 19
paulpaul 發文於   2021/01/16

value1=average(close,5);

value2=average(close,10);

value3=average(close,20);

 

variable: n(0);

variable: count(0);

 

if value2 >  value3 then begin

 

while value2 <  value3 begin

if value1 >  value2

then n=n+1;

 

end;

 

 

 

//設定警示條件:if.. then ret=1;

if n=1

then ret=1;

end;

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/01/18

paulpaul 您好

如果您單純想找 "大於20MA 且黃金交叉的標的的話" 

是不用寫到迴圈這麼麻煩

因為其實技術線圖本來就是個時間序列

您只要撰寫

value1=average(close,5);

value2=average(close,10);

value3=average(close,20);

if close> value3 and value1 cross over value2 

then ret=1;

 或是您如果是其他意思的話,煩請多加敘述一下條件

我們可以在討論討論 感謝

 

paulpaul 發文於   2021/01/18

value1=average(close,5);

 

value2=average(close,10);

 

value3=average(close,20);

 

 

 

variable: n(0);

 

variable: count(0);

 

 

 

if value1 <  value2 then begin

 

 

 

while value2 <  value3-100 begin

 

if value2[n] <  value3[n]

 

then n=n+1

else ret=1;

 

 

 

  end;

end;

題目應該是只要之前曾經ma10>ma20 之後不管如何只要ma5>ma10 即可進場(不須在同時滿足ma10>ma20)直到ma10<ma20-200點即終止,感謝

 

XQ小幫手 發文於   2021/01/19

paulpaul 您好

您可以試試countif 語法 就可以達成了

https://xshelp.xq.com.tw/XSHelp/?HelpName=CountIf&group=LOGICFUNC

value1=average(close,5);

value2=average(close,10);

value3=average(close,20);

condition1= countif(value2>value3,20)>=1;

if condition1=true and value1>value2 then ret=1;

發表回覆
Close