![]() |
在這個頁面顯示本主題全部的 5 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請問寫法 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=17388)
請問寫法
請教個問題:如何將以下程式改寫為不用迴圈的寫法?
空方:=MA(HIGH,3);
多方=MA(LOW,3);
FC:=CLOSE;
HLD:=IF(CLOSE>REF(MA(HIGH,4),1),1,IF(CLOSE<REF(MA(LOW,4),1),-1,REF(HLD,1)));
FOR I=4+2 TO DATACOUNT DO BEGIN
IF FC[I]>空方 [I-1] THEN
HLD[I]:=1;ELSE
IF FC[I]<多方 [I-1] THEN
HLD[I]:=-1;ELSE
HLD[I]:=HLD[I-1];
END;
多空:=IF(HLD<=-1,MA(HIGH,3),MA(LOW,3));
我不熟悉迴圈的寫法,不了解程式容,因此想程式改寫為不用迴圈的寫法
回覆: 請問寫法
引用:
最初由 q45168 發表
請教個問題:如何將以下程式改寫為不用迴圈的寫法?
空方:=MA(HIGH,3);
多方=MA(LOW,3);
FC:=CLOSE;
HLD:=IF(CLOSE>REF(MA(HIGH,4),1),1,IF(CLOSE<REF(MA(LOW,4),1),-1,REF(HLD,1)));
FOR I=4+2 TO DATACOUNT DO BEGIN
IF FC[I]>空方 [I-1] THEN
HLD[I]:=1;ELSE
IF FC[I]<多方 [I-1] THEN
HLD[I]:=-1;ELSE
HLD[I]:=HLD[I-1];
END;
多空:=IF(HLD<=-1,MA(HIGH,3),MA(LOW,3));
我不熟悉迴圈的寫法,不了解程式容,因此想程式改寫為不用迴圈的寫法
回覆: 回覆: 請問寫法
引用:
最初由 cgjj 發表
您這段程式原來是在奇狐中跑的嗎?
HLD 先前未定義, 在奇狐中下列這行是不能跑的, 因為內有REF(HLD,1)
HLD:=IF(CLOSE>REF(MA(HIGH,4),1),1,IF(CLOSE<REF(MA(LOW,4),1),-1,REF(HLD,1)));
無法得知原計算結果, 是難以正確改寫的
回覆: 回覆: 回覆: 請問寫法
引用:
最初由 q45168 發表
這段程式來是在奇狐中跑的.正確程式:
空方:=MA(HIGH,3);
多方:=MA(LOW,3);
FC:=CLOSE;
HLD:=IF(CLOSE>REF(MA(HIGH,4),1),1,IF(CLOSE<REF(MA(LOW,4),1),-1,REF(HLD,1)));
FOR I=4+2 TO DATACOUNT DO BEGIN
IF FC[I]>空方 [I-1] THEN
HLD[I]:=1;ELSE
IF FC[I]<多方 [I-1] THEN
HLD[I]:=-1;ELSE
HLD[I]:=HLD[I-1];
END;
多空:IF(HLD<=-1,MA(HIGH,3),MA(LOW,3));
多謝版主指點!
全部時間均為台灣時間, 現在時間為22:53 | 在這個頁面顯示本主題全部的 5 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.