मैं इस alertcondition का उपयोग प्लॉट से मूल्य पूछने के लिए कर रहा हूं, लेकिन लौटाए गए मान में 3 से अधिक दशमलव स्थान हैं।

क्या मैं इसे प्रारूपित कर सकता हूं ताकि आउटपुट केवल 3 दशमलव तक सटीक प्रदर्शित हो सके?

alertcondition(crossover(d2,d3), title="monitor", message='🎯{{ticker}}🎯 Monitor If price above Current Price={{close}} PIVOT = {{plot("Pivot")}} SUPPORT = {{plot("S1")}} RESISTANCE = {{plot("R1")}}
4
ZKTON 26 फरवरी 2020, 08:03

2 जवाब

यदि आपको केवल तीन दशमलव मान प्रदर्शित करने के लिए एक स्ट्रिंग को प्रारूपित करने की आवश्यकता है, तो tostring() फ़ंक्शन का प्रारूप स्ट्रिंग परम आपकी सहायता करेगा।

यदि आपको तीन दशमलव मानों की सटीकता के साथ मान प्लॉट करने की आवश्यकता है, तो आप अध्ययन के पैरामीटर precision को 3 पर सेट कर सकते हैं।

उन पैराम्स का उपयोग करने का एक उदाहरण नीचे है:

//@version=4
study("My Script", precision=3) // precision gives three decimal values in the plot-functions

// the format '#.###' gives three decimal values in a string
val = open / close
s = tostring(val, '#.###') 
label.new(bar_index, high, s)

// this plots only three decimal values, because of the study's param 'precision=3'
plot(val)
5
Michel_T. 26 फरवरी 2020, 13:47

आपको अपने प्लॉट किए गए मूल्य को गोल करना होगा:

//@version=4
study("")
f_round( _val, _decimals) => 
    // Rounds _val to _decimals places.
    _p = pow(10,_decimals)
    round(abs(_val)*_p)/_p*sign(_val)
plot(close, "CloseP")
plot(f_round(close, 3), "CloseR")
alertcondition(true, "A", 'Unrounded: {{plot("CloseP")}}, Rounded:{{plot("CloseR")}}')
3
PineCoders-LucF 26 फरवरी 2020, 13:32