COCO研究院

 找回密碼
 註冊
搜索
查看: 3343|回復: 10

請益,變數

[複製鏈接]
發表於 16-2-2 21:35 | 顯示全部樓層 |閱讀模式
想請教各位大大

在編寫程式的時候都會用到var,如var:ma(0);

那我想問的是,括弧內的數值大小會讓程式出現什麼樣的差別呢?

煩請大大們幫忙,感恩。
發表於 16-2-5 09:30 | 顯示全部樓層
1.放在input 裡面的叫做參數,它可以由外部做設定,例如內建的指標 KD , RSI , MACD ... 都可以在圖表內直接修改參數,變換不同的參考 K棒數

2.放在var的叫做變數 , 他的值只能在程式裡修改或運算 , 你可以複製一個 RSI指標的程式碼, 將裡面的 input 改成 var , 另存成 myRSI , 加到圖表內就可以發現  myRSI無法在圖表中作修改

3.設在var裡的變數在程式內可以重新修改運算 , 設在input的參數不行

input: AB(0), CD(1)  ;

AB = CD + 1 ; 會出現編譯錯誤 ,因為 AB不能在程式內重新被設定

************************************
input: CD(1) ;
var: AB(0) ;

AB = CD + 1 ; 變數 AB在程式可以隨時透過運算或設定來改變值 , 參數 CD在程式內永遠是預設值 1

{此時AB = 1 }
......
......
......
......

AB = 5 ;
{此時AB = 5 }
......
......
......

評分

參與人數 1金錢 +2 收起 理由
fine940621 + 2 感謝分享

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

發表於 16-2-4 23:51 | 顯示全部樓層
fine940621 發表於 16-2-4 00:43
感謝easytrader788大大的解答,不過我想問一下,以下是我的測試:

var:MA1(0),MA2(99999),MA3(-99999);

你想要做到的是這樣的效果嗎?
------------------------------------
var:MA1(10),MA2(20),MA3(30);

plot1(Average(C,MA1));
plot2(Average(C,MA2));
plot3(Average(C,MA3));

評分

參與人數 1金錢 +2 收起 理由
fine940621 + 2 感謝分享

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

發表於 16-2-4 09:46 | 顯示全部樓層
fine940621 發表於 16-2-4 00:43
感謝easytrader788大大的解答,不過我想問一下,以下是我的測試:

var:MA1(0),MA2(99999),MA3(-99999);

原本是不一樣的,但是
MA1=Average(C,20);
MA2=Average(C,20);
Ma3=Average(C,20);


這段已經改變原始MA123的值,而三個都是=average(c,20)


所以變成三個值都一樣,所以印出來就是重疊的線囉

評分

參與人數 1金錢 +2 收起 理由
fine940621 + 2

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

發表於 16-2-2 22:53 | 顯示全部樓層
括弧內的數值,就是該變數在程式內運行的初始值

評分

參與人數 1金錢 +2 收起 理由
fine940621 + 2 感謝分享

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 16-2-4 00:43 | 顯示全部樓層
easytrader788 發表於 16-2-2 22:53
括弧內的數值,就是該變數在程式內運行的初始值

感謝easytrader788大大的解答,不過我想問一下,以下是我的測試:

var:MA1(0),MA2(99999),MA3(-99999);

MA1=Average(C,20);
MA2=Average(C,20);
Ma3=Average(C,20);

plot1(MA1);
plot2(MA2);
plot3(MA3);

var內的數值都不一樣,但是線都是重疊的,看不出來有什麼差別。

 樓主| 發表於 16-2-5 00:36 | 顯示全部樓層
沒房子的阿捨 發表於 16-2-4 23:51
你想要做到的是這樣的效果嗎?
------------------------------------
var:MA1(10),MA2(20),MA3(30);

阿捨大大,這樣的寫法跟
input:MA1(10),MA2(20),MA3(30);

應該是一樣的意思沒錯吧~


那用input跟var的差異是在哪呢?



發表於 16-2-5 09:43 | 顯示全部樓層
fine940621 發表於 16-2-4 00:43
感謝easytrader788大大的解答,不過我想問一下,以下是我的測試:

var:MA1(0),MA2(99999),MA3(-99999);

var:MA1(0),MA2(99999),MA3(-99999);

MA1=Average(C,20);
MA2=Average(C,20);
Ma3=Average(C,20);

plot1(MA1);
plot2(MA2);
plot3(MA3);

var內的數值都不一樣,但是線都是重疊的,看不出來有什麼差別。


雖然 MA1 , MA2 , MA3 初始值不同 ,但是你都將它重設為 Average(C,20) ,當然一樣


劃出來的是 20根收盤價的均線
*********************************************
若是程式改為
input:MA1(0),MA2(99999),MA3(-99999);

MA1=Average(C,20);
MA2=Average(C,20);
Ma3=Average(C,20);

plot1(MA1);
plot2(MA2);
plot3(MA3);


會出現編譯錯誤


***************************************************
若是程式改為
input:MA1(20),MA2(20),MA3(20);

plot1(MA1);
plot2(MA2);
plot3(MA3);


劃出來的是高度 20的水平線








評分

參與人數 1金錢 +2 收起 理由
fine940621 + 2 感謝分享

查看全部評分

發表於 16-2-5 09:49 | 顯示全部樓層
感覺這不是在學語法,而是必須從程式設計重新開始了...
 樓主| 發表於 16-2-5 16:26 | 顯示全部樓層
曾永政 發表於 16-2-5 09:49
感覺這不是在學語法,而是必須從程式設計重新開始了...

之前是都沒有接觸過程式語言,最近才開始摸索當中,所以還蠻多地方不懂的。
 樓主| 發表於 16-2-5 16:27 | 顯示全部樓層
感謝easytrader788大大,這樣的說明,我有清楚的了解到了,感恩~~~
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-25 18:37

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |